//** gestion des menus déroulants : compatible avec le code hierMenu    ***
//** version 1.1 03/2004 avec utilisation de fichier Xml
//** version 1.2 05/2004 : Correction titre gras/taille
G_timeoutID = null;
G_menuInit  = false;
over = "over";
out = "out";
NS7 = ((document.getElementById) ? true : false) && (navigator.appName.indexOf("Netscape")!=-1);

loader =  parent;   
loader.onload = initMenu;

//--- Apparence des menus
	 CL_hideFlash = true; //--- masque des animations flash (id=flash) lorsque le menu est actif 

	 //--- class des boutons qui déclenchent un menu
	 CL_btClassNormal    = "topBottom";
	 CL_btClassOver      = "topBottomA";
	 CL_btClassSelected  = "topBottomS";
 	 CL_menuDelayBeforeShow = 75; //Delai avant l'affichage du menu
 	 CL_menuDelayAfterShow = 500; //Delai pour le masquage  du menu
 	 CL_overFnt = "#006FB6";   	// *** couleur de texte de l'item sélectionné
	 CL_overSiz = "8pt";
 	 CL_overBold = false;
	 CL_overItal = false;
	 CL_overFam = "Arial,Helvetica";
 	 CL_separatorSty = "solid";  		// style bordure : solid,
	 CL_backCol = "#FFFFFF";   	// couleur cellules
 	 CL_menuWidth = 116;   //largeur par défaut
	 CL_menuTop = 75;   //position haut par défaut
	 CL_childOverlap = 20;  // *** Décalage à G du sous menu
	 CL_childOffset = 12;    // *** Décalage en Bas du sous menu
	 CL_perCentOver = null;  // ***
	
	 //Paramétres de la fonte
	 CL_fntCol = "#000000";
	 CL_fntSiz = "8pt";
	 CL_fntBold = false;
	 CL_fntItal = false;
	 CL_fntFam = "Arial,Helvetica";
	 //Couleurs par défaut
	 CL_overCol = "#FFFFFF";      	// couleur du fond de cellule survolée

	 CL_borWid = 1;  				// épaisseur bordure
	 CL_borCol = "#006FB6";  		// Couleur bordure par défaut
	 CL_borSty = "solid";  		// style bordure : solid,
	 CL_itemPadH = "5";  		// espace avant et après le text
	 CL_itemPadV = "0";  			//  espace au-dessus et en-dessous du texte
	 CL_imgSrc = "pictures/tri.gif";  				// *** Nom de l'image 'triangle'
	 CL_imgSiz = 10;  				// *** taille de l'image
	 CL_separator = 1 ;       		// épaisseur trait séparateur éléments
	 CL_separatorCol = "#C0C0C0"; 	// couleur séparateur par défaut
	 
function  popUp (bt , event, ClassOver, ClassNormal, ClassSelected) {

		if (G_menuInit  == false) {initMenu();}

        bt2 = document.getElementById(bt.substring(2, bt.length));

		DisplayMenu(bt2, "over");
}
function popDown(bt) {
    bt2 = document.getElementById(bt.substring(2, bt.length));
	DisplayMenu(bt2, "out");
}	 
function hideAll() { 
		  clearTimeout(G_timeoutID);
		  G_timeoutID = setTimeout("HideAllMenu()",CL_menuDelayAfterShow); 
 }
function paramCompatibiliteHMenu() { 
	CL_backCol = backCol;  CL_menuWidth = menuWidth - 5; CL_childOverlap = childOverlap; CL_childOffset = childOffset; CL_perCentOver = perCentOver;
	CL_fntCol = fntCol; CL_fntSiz = fntSiz + "pt"; CL_fntBold = fntBold; CL_fntItal = fntItal; CL_fntFam = fntFam; CL_overCol = overCol;	 CL_borWid = borWid;
	CL_borCol = borCol; CL_borSty = borSty; CL_itemPadH = itemPadH; CL_itemPadV = itemPadV; CL_imgSrc = imgSrc;
	CL_imgSiz = imgSiz; CL_separator = separator; CL_separatorCol = separatorCol;
	 
	i=1
	Menu = document.getElementById("SMenu" + i);
	while (typeof(eval("window.arMenu" + i )) != "undefined") {
		eval("lblSubRub" + i  + "_menuWidth = window.arMenu" + i + "[0]");
		eval("lblSubRub" + i  + "_menuLeft = window.arMenu" + i + "[1]");
		eval("lblSubRub" + i  + "_menuTop = window.arMenu" + i + "[2]");
		eval("lblSubRub" + i  + "_menuFontColor = window.arMenu" + i + "[3]");
		eval("lblSubRub" + i  + "_menuFontOver = window.arMenu" + i + "[4]");		
		eval("lblSubRub" + i  + "_menuBGColor = window.arMenu" + i + "[5]");		
		eval("lblSubRub" + i  + "_menuBGOver = window.arMenu" + i + "[6]");		
		eval("lblSubRub" + i  + "_menuBorCol = window.arMenu" + i + "[7]");		
		eval("lblSubRub" + i  + "_menuSeparatorCol = window.arMenu" + i + "[8]");
		if (i < (nbr_menuh - 1)) {
			eval("lblSubRub" + i  + "_btClassNormal    = 'topBottom'");
			eval("lblSubRub" + i  + "_btClassOver      = 'topBottomA'");
			eval("lblSubRub" + i  + "_btClassSelected  = 'topBottomS'");
		} else {
			eval("lblSubRub" + i  + "_btClassNormal    = 'topBottom2'");
			eval("lblSubRub" + i  + "_btClassOver      = 'topBottomA2'");
			eval("lblSubRub" + i  + "_btClassSelected  = 'topBottomS2'");
		}
		i++;		
	}
}




function buildSpan() {
	// construction des menus (span, table )
	nbMenu = 1;
	while(eval("typeof(lblRub[" + nbMenu + "])") != "undefined" ) {
		nbSubMenu = 1;
		firstTime = true;
		tmpArray = eval("lblRub[0][" + nbMenu +"]" );
		tmp = "";
		while( nbSubMenu < tmpArray.length) {
			if (firstTime == true) {
				tmp = '<SPAN id="SMenu' + nbMenu +'" style="position:absolute; left:72px; top:103px; z-index:1; visibility: hidden;" >';
				tmp = tmp + '<TABLE cellpadding="0" cellspacing="0" onMouseOver="MenuOver(this, over)"  onMouseOut="MenuOver(this, out)">';
				firstTime = false;
			}
			if (eval("lblRub[0][" + nbMenu + "][" + nbSubMenu + "]")) {
			tmpUrl = 'lblRub[' + 0 + '][' + nbMenu + '][' + 0 + '][' + nbSubMenu + ']';
				if (eval("lblRub[0][" + nbMenu + "][0][0][" + nbSubMenu + "]")) {
					if (lblRub[0][nbMenu][0][0][nbSubMenu]=="tr"){
						if (lblRub[0][nbMenu][0][nbSubMenu]!="javascript:document.getElementById('Doc').src='';"){
						tmp = tmp +'<TR><TD id="' + (nbSubMenu) +'Menu' + nbMenu +'" onClick="ItemClick(this, lblRub[0][' + nbMenu +'][0][' + nbSubMenu +']);" onMouseOver=" ItemOver(this, over, ' + tmpUrl + ')"  onMouseOut=" ItemOver(this, out)" style="font-weight: bold"><B>' + eval("lblRub[0][" + nbMenu + "][" + nbSubMenu + "]") + '</B></TD></TR>';
						}
						else
						{
						tmp = tmp +'<TR><TD id="' + (nbSubMenu) +'Menu' + nbMenu +'" onMouseOut=" ItemOver(this, out)" style="font-weight: bold"><B>' + eval("lblRub[0][" + nbMenu + "][" + nbSubMenu + "]") + '</B></TD></TR>';
						}
					}
					else
					{

					// pour traitement ultérieur

					tmp = tmp +'<TR><TD marginwidth="5pix" id="' + (nbSubMenu) +'Menu' + nbMenu +'" onClick="ItemClick(this, lblRub[0][' + nbMenu +'][0][' + nbSubMenu +']);" onMouseOver=" ItemOver(this, over, ' + tmpUrl + ')"  onMouseOut=" ItemOver(this, out)">  ' + eval("lblRub[0][" + nbMenu + "][" + nbSubMenu + "]") + '</TD></TR>';
					
					}
				}	
				else
				{
					
					tmp = tmp +'<TR><TD marginwidth="10pix" id="' + (nbSubMenu) +'Menu' + nbMenu +'" onClick="ItemClick(this, lblRub[0][' + nbMenu +'][0][' + nbSubMenu +']);" onMouseOver=" ItemOver(this, over, ' + tmpUrl + ')"  onMouseOut=" ItemOver(this, out)">  ' + eval("lblRub[0][" + nbMenu + "][" + nbSubMenu + "]") + '</TD></TR>';
				}

			}
			nbSubMenu++;
		}
		if (firstTime == false) {
			tmp = tmp + "</TABLE>";
			tmp = tmp + "</SPAN>";
			document.body.innerHTML = document.body.innerHTML + tmp;
		}
		nbMenu++;
	}
}


function initMenu() { 

	// Construction des menus SPAN, Table
	buildSpan();
	
	// Compatibilité avec HierMenu
	hierMenu = (typeof(eval("window.arMenu1")) != "undefined");
	if (hierMenu) { paramCompatibiliteHMenu() };
	
	// Mise en forme des menus
	i=1;
	Menu = document.getElementById("SMenu" + i);
	btMenu = document.getElementById("Menu" + i);

	while (Menu != null) {
		btMenu.setAttribute("svgClassNormal" , eval("lblSubRub" + i + "_btClassNormal") ? eval("lblSubRub" + i + "_btClassNormal") : CL_btClassNormal);
		btMenu.setAttribute("svgClassOver" , eval("lblSubRub" + i + "_btClassOver") ? eval("lblSubRub" + i + "_btClassOver") : CL_btClassOver);
		btMenu.setAttribute("svgClassSelected" , eval("lblSubRub" + i + "_btClassSelected") ? eval("lblSubRub" + i + "_btClassSelected") : CL_btClassSelected);

		Menu.style.backgroundColor = eval("lblSubRub" + i + "_menuBGColor") ? eval("lblSubRub" + i + "_menuBGColor") : CL_backCol;
		Menu.style.left = eval("lblSubRub" + i + "_menuLeft") ? eval("lblSubRub" + i + "_menuLeft") : document.getElementById("Menu" + i).offsetLeft;
		Menu.style.top = eval("lblSubRub" + i + "_menuTop") ? eval("lblSubRub" + i + "_menuTop") : CL_menuTop;
		document.getElementById("1Menu" + i)
		j=1;
		cMenu = document.getElementById( j +"Menu" + i);
		while (cMenu != null) {
			with(cMenu) {
					cMenu.setAttribute("svgBGColor" , Menu.style.backgroundColor);
					cMenu.setAttribute("svgBGOver" , eval("lblSubRub" + i + "_menuBGOver") ? eval("lblSubRub" + i + "_menuBGOver") : CL_overCol);
					
					with(style) {
						width = eval("lblSubRub" + i + "_menuWidth") ? eval("lblSubRub" + i + "_menuWidth") : (CL_menuWidth-(CL_borWid*2));
						fontSize = CL_fntSiz ;
						fontWeight = (CL_fntBold) ? "bold" : "normal";
						fontStyle = (CL_fntItal) ? "italic" : "normal";
						fontFamily = CL_fntFam;
						color =  eval("lblSubRub" + i + "_menuFontColor") ? eval("lblSubRub" + i + "_menuFontColor") :CL_fntCol;
						cMenu.setAttribute("svgFontColor" , color);
						cMenu.setAttribute("svgFontOver" , eval("lblSubRub" + i + "_menuFontOver") ? eval("lblSubRub" + i + "_menuFontOver") :CL_overFnt);

						if (j==1) {
							borderTopWidth = CL_borWid + "px";
							borderTopStyle = CL_borSty;
							borderTopColor = eval("lblSubRub" + i + "_menuBorCol") ? eval("lblSubRub" + i + "_menuBorCol") : CL_borCol;
						}
						if (document.getElementById( (j+1) +"Menu" + i) != null) {
							borderBottomWidth = CL_separator + "px";
							borderBottomStyle = CL_separatorSty;
							borderBottomColor =    eval("lblSubRub" + i + "_menuSeparatorCol") ? eval("lblSubRub" + i + "_menuSeparatorCol") : CL_separatorCol;
						} else {
							borderBottomWidth = CL_borWid + "px";
							borderBottomStyle = CL_borSty;
							borderBottomColor =  eval("lblSubRub" + i + "_menuBorCol") ? eval("lblSubRub" + i + "_menuBorCol") : CL_borCol;
						}
						borderLeftWidth = borderRightWidth = CL_borWid + "px";
						borderLeftStyle = borderRightStyle = CL_borSty;
						borderLeftColor = borderRightColor =   eval("lblSubRub" + i + "_menuBorCol") ? eval("lblSubRub" + i + "_menuBorCol") : CL_borCol;
						
						paddingLeft=CL_itemPadH;
						paddingTop=CL_itemPadV;					
						paddingBottom=CL_itemPadV;
					}
			}
			j++;
			cMenu = document.getElementById( j +"Menu" + i);
		}
		i++;
		Menu = document.getElementById("SMenu" + i);
		btMenu = document.getElementById("Menu" + i);
	}

	G_menuInit = true;
}

function HideAllMenu() {
    if (G_menuInit == true ) {
		i=1
		bt = document.getElementById("Menu" + i);
		while (bt != null) {
			hideMenu(bt);
			i++;
			bt = document.getElementById("Menu" + i);
		}
	}
}
function HideAllMenuNoFlashAction() {
// cache les menus sans forcer l'affichage de l'objet flash
	if (G_menuInit == true ) {
		i=1
		bt = document.getElementById("Menu" + i);
		while (bt != null) {
			 if (document.getElementById(bt.id).getAttribute("svgClassName") != null) {
				document.getElementById(bt.id).className = document.getElementById(bt.id).getAttribute("svgClassName");
			}
			document.getElementById("S" + bt.id).style.visibility = "hidden";
			i++;
			bt = document.getElementById("Menu" + i);
		}
	}
}

function DisplayMenu(bt, action ){
if(typeof bt != null && (action =="out" || action == "over")){
	svg_bouton = bt;
	switch (action){
		 case "over" :
			if (G_timeoutID != null){
		 	clearTimeout(G_timeoutID);
			}
		  G_timeoutID = setTimeout("showMenu(svg_bouton)",CL_menuDelayBeforeShow);
		  break;
	   case "out" :
//			if (G_timeoutID != null){
//		  	clearTimeout(G_timeoutID);
//			}
		  G_timeoutID = setTimeout("hideMenu(svg_bouton)",CL_menuDelayAfterShow); 
		  break;
	}
}
}

function MenuOver(TableActive, action){
    if (TableActive.tagName == "TABLE") {
		spanActive = (TableActive.parentNode) ? TableActive.parentNode : TableActive.parentElement; 
	} else { 
		spanActive = TableActive;
	}
	
	switch (action){
	   case "over" :
	   	 clearTimeout(G_timeoutID);	
	   	 showMenuSpan(spanActive); 
		  break;
	   case "out" :
 	   	  clearTimeout(G_timeoutID);
    	  G_timeoutID = setTimeout("hideMenuSpan(spanActive)",CL_menuDelayAfterShow); 
		  
		  break;
	}
}
function ItemOver(itemActive, action, url){
	switch (action){
	   case "over" :
	   		 if (url != "") {
				 with (itemActive) {
					with (style) {
						fontSize = CL_overSiz ;
						fontWeight = (CL_overBold) ? "bold" : "normal";
						fontStyle = (CL_overItal) ? "italic" : "normal";
						fontFamily = CL_overFam;
						cursor = "hand";
						if (cursor != "hand") { cursor = "pointer"; }
						color = itemActive.getAttribute("svgFontOver");
						backgroundColor = itemActive.getAttribute("svgBGOver");
					}
				 }
			}
		  break;
	   case "out" :
	         with (itemActive) {
			 	with (style) {
					fontSize = CL_fntSiz ;
					fontWeight = (CL_fntBold) ? "bold" : "normal";
					fontStyle = (CL_fntItal) ? "italic" : "normal";
					fontFamily = CL_fntFam;
					color = itemActive.getAttribute("svgFontColor");
					backgroundColor =  itemActive.getAttribute("svgBGColor");
					cursor = "default";
				}
			 }
		  break;
	}
}
function ItemClick(itemActive, url) {
	if (url != "") {
		tmp = itemActive.id
		smenuact = tmp.substr(0,1);
		menuact = tmp.substr(tmp.length-1,1);
		//alert(menuact + " .. / .. " + smenuact);
		btActif = tmp.substr(tmp.indexOf("Menu"), tmp.length - 1)
		if (url.indexOf("_blank")==-1 && url.indexOf("mailto:")==-1) {
			//--- affecte à toutes les cellules du tableau de boutons la class repos (CL_btClassNormal)
			i=1
			bt = document.getElementById("Menu" + i);
			while (bt != null) {
				bt.className = bt.getAttribute("svgClassNormal");
				bt.setAttribute("svgClassName" , bt.getAttribute("svgClassNormal"));
				i++;
				bt = document.getElementById("Menu" + i);
			}
			//--- affecte la class selected au bouton actif
			document.getElementById(btActif).setAttribute("svgClassName" , document.getElementById(btActif).getAttribute("svgClassSelected"));
			document.getElementById(btActif).className =  document.getElementById(btActif).getAttribute("svgClassSelected");
		}
		
		//--- cache le menu actif
		hideMenu(document.getElementById(btActif))
		
		
		if (url.indexOf("javascript:")!=-1){
		eval(url)
		}
		else {window.location.href = url;}
	}
}

function showMenu(bt) {
	if (G_menuInit  == false) {initMenu();}
	//--- masque tous les menus avant d'affiche le suivant
	HideAllMenu()
	
	document.getElementById(bt.id).setAttribute("svgClassName" , document.getElementById(bt.id).className);
	document.getElementById(bt.id).className = document.getElementById(bt.id).getAttribute("svgClassOver");
	document.getElementById("S" + bt.id).style.visibility = "visible";
	
	hideFlash('hidden');
}
function hideMenu(bt)  {

	 if (document.getElementById(bt.id).getAttribute("svgClassName") != null) {
		document.getElementById(bt.id).className = document.getElementById(bt.id).getAttribute("svgClassName");
	}
	document.getElementById("S" + bt.id).style.visibility = "hidden";
	hideFlash("visible");
}
function showMenuSpan(spanActive) {
	document.getElementById(spanActive.id).style.visibility = "visible";
}
function hideMenuSpan(spanActive)  {
	tmp =spanActive.id 
	bt = tmp.substr(1, tmp.length - 1)
	document.getElementById(bt).className = document.getElementById(bt).getAttribute("svgClassName");
	document.getElementById(spanActive.id).style.visibility = "hidden";
		hideFlash("visible");

}

function hideFlash(action) {
     if (CL_hideFlash) {
		//masque l'animation flash (il faut que l'objet est id="flash" 
		itemColl = document.getElementsByTagName("IFRAME");
		if (action == 'visible') { HideAllMenuNoFlashAction();}

		if (typeof(itemColl[0]) != "undefined" ) {
			if (itemColl[0].contentWindow.document.getElementById("flash") != null) {
				itemColl[0].contentWindow.document.getElementById("flash").style.visibility=action;
			}
		} else {
			if (document.getElementById("flash") != null) {
				document.getElementById("flash").style.visibility=action;
			}
		}
	}
}
