// ajouter synchro avec mainmenu.swf
// a chaque fois qu'une page est chargee, avertir
// menu flash principal en changeant une variable
// dans le flash
//
// la variable dans le flash se nomme "jsState"
//
// etats possibles du menu principal
//	menuprincipal 	= 0.0
//	introduction  	= 1.0
//	keyconcepts	  	= 2.0
//	learning		= 3.X
//	about			= 4.0

//	le premier chiffre represente la SECTION
//  le 2e represente le chapitre, qui est toujours 0 sauf pour learning
//
//	pour le cas learning, le x represente le chapitre actuel
//	X=0 pour la page intro learning, pas de chapitre highlight
//	X>1	faire highlight du chapitre dans menuprin flash



// js client side: 	besoin de modifier page.js et navigs.js pour entrer
//					info sur etat du menu principal
function notifyMainMenu(zestate) {
	// set a variable in the main flash menu so that it
	// starts a synch process next time it's idling on 
	// frame

	// var name est jsState
	// valeurs possible "X.X"	

	//check if flash object exists
	if (typeof top.mainmenu1.mainmenu == "object") {
		//alert("notify " + zestate);
		top.mainmenu1.mainmenu.SetVariable("/main_event_loop:jsState", zestate);

	}
	return true;

}



//return text of the slider content for a given chapter
function getSliderContent() {
	//format titre__=__href, separateur est %
	if ( currentChapter == 0 ) return "";
	var retval = "";
	for (var zeitem in arrPages) { 
		if (arrPages[zeitem].chapter == currentChapter && arrPages[zeitem].inSliderMenu) {
			retval += arrPages[zeitem].pageTitle + "=" + arrPages[zeitem].fileName + "%";
		}
	}
	//on enleve le dernier separateur
	if (retval.length > 3) {
			retval = retval.substring(0, retval.length-1);
	}
	return retval;
}


//voir et cacher slider
//TODO: ajouter code detection objett flash...
//cacher et devoiler objet flash au besoin
function showSlider() {
	if (! sliderOpened) {
		document.getElementById('topfs').rows="68,50,*,20";
		sliderOpened = true;	
	}
	//debugger;
	
	return true;
}



function hideSlider() {
	if (sliderOpened) {
		document.getElementById('topfs').rows="68,0,*,20";
		sliderOpened = false;
	} 
	return true;
}

function refreshSlider(zechapter, zepage) {
	//ssi zechapter <> topic_slider.currentslider
	var flashSlider = top.slider1.topic_slider; 
	
	var myFlashChapter=flashSlider.getVariable("/zeTopics:zeChapter");
	
	//on a change de chapitre, reload slider
	if (zechapter!=myFlashChapter){
		//set variable chapiter
		flashSlider.SetVariable("/zeTopics:zeChapter", zechapter);
		//get content
		flashSlider.TGotoLabel("/zeTopics","getListOfTopics");
		flashSlider.TCallLabel("/zeTopics","getListOfTopics");	
	}
	
	//nouveau pour jean
	//routine pour dire au flash quel bouton doit etre allume dans slider
	//en utilisant idx de bouton dans la liste de topics
	setSliderButtonHighlight(zepage, flashSlider);
}

function setSliderButtonHighlight(zepage, zeflash) {
	//dire au slider quel bouton allume
	//on envoie un entier qui correspond au bouton a allume
	//1 = premier bouton
	//2 = 2eme...
	//0 = aucun bouton a allume, on est dans page accueil de ce chapitre
	if ( zepage.chapter == 0 ) return "";
	var zeidx = 0;
	
	for (var zekey in arrPages) {
		var zeitem = arrPages[zekey];
		if (zeitem.chapter == zepage.chapter) {
			if (zeitem.inSliderMenu) zeidx++;
			if (zeitem.fileName == zepage.fileName) break;
		}
	}
	
	//alert (zeidx);
	//remettre a zero pour resetter le slider si on arrive d'un bookmark
	zeflash.setVariable("currentButton", 0);
	zeflash.setVariable("currentButton", zeidx);
	
}
