//*****************************************************************************/
// Nom de la page : codage JavaScript	                                      */
// Description    : Menu de la Home de la section Competition		      */
//                                                                            */
// Date de création : 12/11/2002					      */
// Auteur           :  E.SCOTTO                                               */
//                                                                            */
// Dernière modification : 18/11/2002 					      */
// Auteur                : E.SCOTTO					      */
//*****************************************************************************/
<!----------------------------------------------->
<!-- Initialisation des variables pour Netscape-->
<!----------------------------------------------->
if (document.layers)
{
	var largeur = 495; 			// Largeur du menu
	var top = 290; 				// Variable qui positionne le menu general par rapport au top
	var leftMenu = -63;			// Utilisé si le menu n'est pas centré horizontalement (centre==false)
	var leftMenuNotCenter = -63;		// Utilisé si le menu est centré horizontalement (centre==true)
<!----------------------------------------->
<!-- Initialisation des variables pour IE-->
<!----------------------------------------->
}else if (document.all){// IE
	var largeur = 498; 			// Largeur du menu
	var top = 285; 				// Variable qui positionne le menu general par rapport au top
	var leftMenu = -66;			// Utilisé si le menu n'est pas centré horizontalement (centre==false)
	var leftMenuNotCenter = -66;		// Utilisé si le menu est centré horizontalement (centre==true)
<!---------------------------------------------->
<!-- Initialisation des variables pour Firefox-->
<!---------------------------------------------->
} else {
	var largeur = 512; 			// Largeur du menu
	var top = 290; 				// Variable qui positionne le menu general par rapport au top
	var leftMenu = -66;			// Utilisé si le menu n'est pas centré horizontalement (centre==false)
	var leftMenuNotCenter = -66;		// Utilisé si le menu est centré horizontalement (centre==true)
}
var centre = true;			// Valeur a true si le menu est centré
var couleurMenu = "#666666";		// Couleur de fond du menu principal
var couleurMenuGen = "#666666";		// Couleur de fond des layers du menu
var couleurSeparation = "#FFFFFF";	// couleur des séparations
var offsetHor = 0;				// Offset horizontal
var offsetVer = 0;				// Offset vertical
var openMenu = false;				// Flag à true si l'on veut dérouler le sous-menu correspondant à l'élément du menu courant, à false sinon
var timeId;					// Identifiant renvoyé par le "timer" javascript appelé dans la fonction doHide()
var tailles = [120,140,120,100]; 		// Taille des cellules du menu principal
var taillesDiv = [120,140,120,100]; 		// Taille des layers (sous menu)
var actif = 0;					// Variable indiquant le menu actif. Elle est initialisée à 0, puis récupérée en paramètre par la fonction init()


<!------------------------------------------------------------------------------------------------------------------------------------------------------>
<!-- Initialisation de la fonction Init() : initialise le positionnement des layers des sous-menus sur l'écran et construit ces layers (initLayers()) -->
<!------------------------------------------------------------------------------------------------------------------------------------------------------>
function init(a,offsetTop){
    top = top + offsetTop;
	actif	= a;
	initOffsets();
	ecrire(initLayers(largeur));
}
<!------------------------------------------------------------------------------------------------------------------------------------->
<!-- Initialisation de la fonction showMenu : permet d'afficher menu general (menu déroulant par lequel sont appelés les sous-menus) -->
<!------------------------------------------------------------------------------------------------------------------------------------->
function showMenu(menuValue){
	ecrire(initTable(largeur,centre));
}
<!--------------------------------------------------------------------------------------------------->
<!-- Initialisation de la fonction initTable : Fonction qui construit le code HTML du menu general -->
<!--------------------------------------------------------------------------------------------------->
function initTable(largeur, centre){
	var largCellule = Math.round(largeur/liens.length) - 1;
	
	var tableau = "<table width=\""+largeur+"px\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"";
	if (centre) tableau += " align=\"center\"";
	tableau += "><tr>";
	for (i=0;i<liens.length; i++){
		if (i != 0){
			tableau += "<td bgcolor=\""+couleurSeparation+"\" width=\"1\"><img src=\"../../images/trp.gif\" width=\"1\"></td>";
		}
        if (i==actif) {
			if (document.layers){ // Version NS
	            tableau += "<td bgcolor=\""+couleurMenuGen+"\" align=\"center\" width=\""+largCellule+"\"><ilayer width=\"100%\"><layer width=\"100%\" onMouseOver=\"doHide("+i+");show('Layer"+i+"','"+i+"');\" onMouseOut=\"doHide("+i+");\"><center><a class=\"menuHaut2\" href=\""+liens[i][0]+"\">"+libelles[i][0]+"</a></center></layer></ilayer></td>";
			}else{// Version IE
				tableau += "<td bgcolor=\""+couleurMenuGen+"\" align=\"center\" width=\""+largCellule+"\" onMouseOver=\"doHide("+i+");show('Layer"+i+"','"+i+"');\" onMouseOut=\"doHide("+i+");\"><a class=\"menuHaut2\" href=\""+liens[i][0]+"\">"+libelles[i][0]+"</a></td>";
			}
		}else{
			if (document.layers){ // Version NS
	            tableau += "<td bgcolor=\""+couleurMenuGen+"\" align=\"center\" width=\""+largCellule+"\"><ilayer width=\"100%\"><layer width=\"100%\" onMouseOver=\"doHide("+i+");show('Layer"+i+"','"+i+"');\" onMouseOut=\"doHide("+i+");\"><center><a class=\"menuHaut2\" href=\""+liens[i][0]+"\">"+libelles[i][0]+"</a></center></layer></ilayer></td>";
			} else { // Version IE
	            tableau += "<td bgcolor=\""+couleurMenuGen+"\" align=\"center\" width=\""+largCellule+"\" onMouseOver=\"doHide("+i+");show('Layer"+i+"','"+i+"');\" onMouseOut=\"doHide("+i+");\"><a class=\"menuHaut2\" href=\""+liens[i][0]+"\">"+libelles[i][0]+"</a></td>";
			}
		}
                
	}
	tableau += "</tr></table>";
	return tableau;
}
<!--------------------------------------------------------------------------------->
<!-- Initialisation de la fonction initTable : Fonction qui construit les layers -->
<!--------------------------------------------------------------------------------->
function initLayers(largeur){

	largLayer = Math.round(largeur/liens.length);
	largCol = largLayer - 28;
	top = top + offsetVer;
	layer = "";
	leftAll = 0;
	
	for (i=0;i<liens.length; i++){
		if (document.layers) left = Math.round((leftAll)+offsetHor)-1;
		else left = Math.round((leftAll)+offsetHor);
		// On dessine les layers
		// Bug NS
		nameL=i;
		if(i==0) {
			nameL=78;
			leftL=left;
		}
		
		if (document.layers) layer += "<layer name=\"Layer"+nameL+"\" top=\""+top+"px\" left=\""+left+"px\" width=\""+largLayer+"px\" visibility=\"hidden\" z-index='1000' onMouseOut=\"hideAll();\" onMouseOver=\"stopTime();\">";
		else layer += "<div id=\"Layer"+i+"\" style=\"position:absolute; top:"+top+"px; left:"+left+"px; width:"+largLayer+"px; z-index:"+(i+1)+"; visibility: hidden;\" onMouseOut=\"hideAll();\" onMouseOver=\"stopTime();\">";
		if (liens[i].length > 1) {
			// Affichage des infos
			layer += "<table bgcolor=\""+couleurMenu+"\" width=\""+largLayer+"px\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
			for (j=1; j<liens[i].length;j++){
				if(document.layers){ //NS
					layer += "<tr><td valign=\"top\" bgcolor=\""+couleurMenu+"\" class='on'><img src='../../images/flecheMenu2.gif' border='0' ></td><td bgcolor=\""+couleurMenu+"\" align=\"left\" width=\"100%\" ><a class=\"titreJauneMenuLayer\" href=\""+liens[i][j]+"\" onMouseOver=\"show('Layer"+i+"');\">"+libelles[i][j]+"<br></a></td></tr>";
				}else{ // IE
					layer += "<tr><td valign=\"top\" style=\"padding-top : 1px;\" bgcolor=\""+couleurMenu+"\" class='on'><img src='../../images/flecheMenu2.gif' border='0' ></td><td bgcolor=\""+couleurMenu+"\" align=\"left\" width=\"100%\" onMouseOver=\"show('Layer"+i+"');\"><a class=\"titreJauneMenuLayer\" href=\""+liens[i][j]+"\">"+libelles[i][j]+"<br></a></td></tr>";
				}
			}
			layer += "<tr><td align=\"left\" valign=\"top\" style=\"padding-top : 1px;\" bgcolor=\""+couleurMenu+"\"><img src='../../images//1x1_transparent.gif' border='0' width='28' height='5'></td><td align=\"left\" valign=\"top\" style=\"padding-top : 1px;\" bgcolor=\""+couleurMenu+"\"><img src='../../images//1x1_transparent.gif' border='0' width='"+largCol+"' height='5'></td></tr>";
			layer += "</table>";
		}
		if (document.layers) layer +="</layer>";
		else layer += "</div>";
		leftAll += largLayer;// On incremente le decalage de la largeur du layer
	}
	// Bug NS
	if(document.layers){
		layer += "<layer name=\"Layer"+0+"\" top=\""+top+"px\" left=\""+leftL+"px\" width=\""+largLayer+"px\" visibility=\"hidden\" z-index='1000' onMouseOut=\"hideAll();\" onMouseOver=\"stopTime();\">";
		layer += "<table bgcolor=\""+couleurMenu+"\" width=\""+largLayer+"px\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
		for (j=1; j<liens[0].length;j++){
			layer += "<tr><td valign=\"top\" bgcolor=\""+couleurMenu+"\" class='on'><img src='../../images/flecheMenu2.gif' border='0' ></td><td bgcolor=\""+couleurMenu+"\" align=\"left\" width=\"100%\" ><a class=\"titreJauneMenuLayer\" href=\""+liens[0][j]+"\" onMouseOver=\"show('Layer"+0+"');\">"+libelles[0][j]+"<br></a></td></tr>";
		}
		layer += "<tr><td align=\"left\" valign=\"top\" style=\"padding-top : 1px;\" bgcolor=\""+couleurMenu+"\"><img src='../../images//1x1_transparent.gif' border='0' width='28' height='5'></td><td align=\"left\" valign=\"top\" style=\"padding-top : 1px;\" bgcolor=\""+couleurMenu+"\"><img src='../../images/1x1_transparent.gif' border='0' width='"+largCol+"' height='5'></td></tr>";
		layer += "</table>";
		if (document.layers) layer +="</layer>";
	}
	return(layer);
}
<!------------------------------------------------------------------------------------->
<!-- Initialisation de la fonction initOffset : Fonction d'initialisation des offset -->
<!------------------------------------------------------------------------------------->
function initOffsets(){
	if (document.layers){// NS 4 et <
		if (os() == "win")offsetVer = 14;
		else offsetVer = 6;
		if (!centre){
			if (os() == "win")offsetHor = 8 + leftMenu;
			else offsetHor = 8 + leftMenu;
		}else{
			// Calcul du centre de la fenetre
			page_width = innerWidth;
			if (largeur>page_width){
				offsetHor = 8 + leftMenuNotCenter;
			}else{
				milieu_width = (page_width/2);
				offsetHor = (milieu_width - largeur/2 - 8) + leftMenu;
			}	
		}
	}else if (document.all){// IE
		if (os() == "win")offsetVer = 15;
		else offsetVer = 8;
		if (!centre){
			if (os() == "win")offsetHor = 10 + leftMenu;
			else offsetHor = 8 + leftMenu;
		}else{
			// Calcul du centre de la fenetre
			page_width = document.body.clientWidth;
			if (largeur>page_width){
				if (os() == "win")offsetHor = 10 +leftMenuNotCenter;
				else offsetHor = 8 + leftMenuNotCenter;
			}else{
				milieu_width = (page_width/2);
				offsetHor = milieu_width - largeur/2 + leftMenu-1;
			}
		}
		if(navigator.appVersion.toLowerCase().indexOf('msie 5.0')!=-1){
			offsetHor -= 8;
		}
	}else if (document.getElementById){
		offsetVer = 14;
		if (!centre){
			offsetHor = 8;
		}else{
			// Calcul du centre de la fenetre
			page_width = innerWidth;
			if (largeur>page_width){
				offsetHor = 10 + leftMenuNotCenter;
			}else{
				milieu_width = (page_width/2);
				offsetHor = milieu_width - largeur/2 + leftMenu-1;
			}
		}
	}
	// A la fin on ajoute les left des menus
	if (largeur>page_width){
		offsetHor += leftMenuNotCenter;
	}else{
		offsetHor += leftMenu;
	}
}
<!------------------------------------------------------------------------------------------------------>
<!-- Initialisation de la fonction initPosition : Fonction d'initialisation de la position des layers -->
<!------------------------------------------------------------------------------------------------------>
function initPosition(){
	initOffsets();
	//largLayer = Math.round(largeur/liens.length);
	largeurAll = 0;
	for (i=0;i<liens.length; i++){
		id = 'Layer'+i;
		left = (largeurAll)+offsetHor;
		if (document.layers){// NS 4 et <
			document[id].left = left;
		}
		if (document.all){// IE
			document.all[id].style.left = left;
		}
		if (document.getElementById){
			document.getElementById(id).style.left = left;
		}
		largeurAll += largLayer;
	}
}
<!-------------------------------------------------------------------------->
<!-- Initialisation de la fonction show : Fonction d'affichage des layers -->
<!-------------------------------------------------------------------------->
function show(id, numero){
	openMenu = true;
	if (document.layers){// NS 4 et <
		document[id].visibility = 'show';
	}
	if (document.all){// IE
		document.all[id].style.visibility = 'visible';
	}
	if (document.getElementById){
		document.getElementById(id).style.visibility = 'visible';
	}
	if(typeof numero != "undefined"){
		stopTime();
		hideAll(numero);
	}
}

<!----------------------------------------------------------------------------->
<!-- Initialisation de la fonction hide : Fonction de suppression des layers -->
<!----------------------------------------------------------------------------->
function hide(id){
	openMenu = false;
	if (document.layers){// NS 4 et <
		document[id].visibility = 'hidden';
	}
	if (document.all){// IE
		document.all[id].style.visibility = 'hidden';
	}
	if (document.getElementById){
		document.getElementById(id).style.visibility = 'hidden';
	}

}
<!----------------------------------------------------------------------------------------->
<!-- Initialisation de la fonction doHide : Appelle la fonction hideAll au bout de 200ms -->
<!----------------------------------------------------------------------------------------->
function doHide(){
	if(openMenu){
		timeId = setTimeout("hideAll()",200);
	}
}
<!------------------------------------------------------------------------------------>
<!-- Initialisation de la fonction stopTime : stop le minuteur d'appel de hideAll() -->
<!------------------------------------------------------------------------------------>
function stopTime(){
	clearTimeout(timeId);
}
<!---------------------------------------------------------------------------------->
<!-- Initialisation de la fonction hideAll : cache tous les layers des sous-menus -->
<!---------------------------------------------------------------------------------->
function hideAll(numero){
	time = 0;
	for (i=0;i<liens.length; i++){
		if(typeof numero=="undefined"){
			id = 'Layer'+i;
			hide(id);
		}else{
			if(i!=numero){
				id = 'Layer'+i;
				hide(id);
			}
		}
	}
}
<!--------------------------------------------------------------------------------------------->
<!-- Initialisation de la fonction ecrire : permet d'écrire du HTML dans le document courant -->
<!--------------------------------------------------------------------------------------------->
function ecrire(valeur){
	if (document.all){
		//document.body.innerHTML = valeur;
		document.write(valeur);
	}else if (document.getElementById){
		document.write(valeur);
	}else if (document.layers){
		//document.open();
		document.write(valeur);
		//document.close();
	}
}
<!------------------------------------------------------------------------------------------------>
<!-- Initialisation de la fonction os : Fonction permettant de rechercher l'OS de l'utilisateur -->
<!------------------------------------------------------------------------------------------------>
function os(){
	if (navigator.platform.toLowerCase().indexOf("win") != -1){
		return "win";
	}else if (navigator.platform.toLowerCase().indexOf("Mac") != -1){
		return "mac";
	}
}

