//Adapté du script original (www.openweb.eu.org) et de certaines révisions de S. Machefert (iubito.free.fr)
/* Variables */
var nbmenu = 5;
var vertical = false;
var centrer_menu = true;
var largeur_menu = 150;
/*Si menu horizontal*/
var espace_entre_menus = 0;
var top_menu = 120;
var top_ssmenu = top_menu +27;
var marge_en_haut_de_page = top_menu - 110;
/*Si menu vertical*/
var hauteur_menu = 100;
var left_menu = 0;
var left_ssmenu = largeur_menu+0;
var marge_a_gauche_de_la_page = largeur_menu+0;
/*Dans tous les cas*/
var largeur_sous_menu =220;
var delai = 650;
var suivre_le_scroll=false;

var timeout;
var agt = navigator.userAgent.toLowerCase();
var isMac = (agt.indexOf('mac') != -1);
var isOpera = (agt.indexOf("opera") != -1);
var IEver = parseInt(agt.substring(agt.indexOf('msie ') + 5));
var isIE = ((agt.indexOf('msie')!=-1 && !isOpera && (agt.indexOf('webtv')==-1)) && !isMac);
var isIE5win = (isIE && IEver == 5);
var isIE5mac = ((agt.indexOf("msie") != -1) && isMac);
var blnOk=true;



window.onscroll = function()// fonction scroll
{
	if (blnOk && suivre_le_scroll && (isIE || isIE5mac))
	{
		if (isIE5mac) document.getElementById("conteneurmenu").style.visibility="hidden";
		for(i=1;i<=nbmenu;i++)
		{
			if (!vertical) {
				document.getElementById("menu"+i).style.top = document.body.scrollTop + top_menu + "px";
				if (document.getElementById("ssmenu"+i))//undefined
					document.getElementById("ssmenu"+i).style.top = document.body.scrollTop + top_ssmenu + "px";
			} else {
				document.getElementById("menu"+i).style.top = document.body.scrollTop
							+(((i-1)*(hauteur_menu+espace_entre_menus))+1+top_menu)+"px";
				if (document.getElementById("ssmenu"+i))//undefined
					document.getElementById("ssmenu"+i).style.top = document.body.scrollTop
							+(((i-1)*(hauteur_menu+espace_entre_menus))+1+top_menu)+"px";
			}
		}
		if (isIE5mac) document.getElementById("menugen").style.visibility="visible";
	}
}



function Chargement() //Chargement
{
	if (!blnOk) {
		if(document.body.style.backgroundColor!="") { blnOk=false; }
		if(document.body.style.color!="") { blnOk=false; }
		if(document.body.style.marginTop!="") { blnOk=false; }
		if(document.getElementById) {
			with(document.getElementById("tete").style) {
				if(position!="" || top!="" || left!=""
						|| width!="" || height!="" || zIndex!=""
						|| margin!="" || visibility!="") {
					blnOk=false;
				}
			}
		}
		else{
			blnOk=false;
		}
	}

	if(blnOk)
	{
		document.getElementById("menugen").style.visibility="hidden";
		
		var reg = new RegExp("px", "g");
		
		trimespaces();
		
		with(document.body.style) {
			if (!vertical) marginTop=marge_en_haut_de_page;
			else		   marginLeft=marge_a_gauche_de_la_page;
		}
		
		var largeur_fenetre = (isIE?document.body.clientWidth:window.innerWidth);
		var hauteur_fenetre = (isIE?document.body.clientHeight:window.innerHeight);
		if (centrer_menu) {
			if (!vertical) {
				var largeur_totale = (largeur_menu * nbmenu) + (espace_entre_menus * (nbmenu-1));
				left_menu = (largeur_fenetre - largeur_totale)/2;
			} else {
				var hauteur_totale = (hauteur_menu * nbmenu) + (espace_entre_menus * (nbmenu-1));
				top_menu = (hauteur_fenetre - hauteur_totale)/2;
			}
		}

		for(i=1;i<=nbmenu;i++) {
			with(document.getElementById("menu"+i).style) {
				if (!vertical) {
					top=top_menu+"px";
					left=(((i-1)*(largeur_menu+espace_entre_menus))+1+left_menu)+"px";
				} else {
					top=(((i-1)*(hauteur_menu+espace_entre_menus))+1+top_menu)+"px";
					left=left_menu+"px";
				}
				if (!suivre_le_scroll || isIE || isIE5mac)
					position="absolute";
				else position="fixed";
				width=largeur_menu+"px";
				//if (vertical) height=hauteur_menu+"px";
				margin="0";
				zIndex="2";
			}
		}
		
		for(i=1;i<=nbmenu;i++) {
			if (document.getElementById("ssmenu"+i))//undefined
			{
				with(document.getElementById("ssmenu"+i).style) {
					if (!suivre_le_scroll || isIE || isIE5mac)
						position="absolute";
					else position="fixed";
					if (!vertical) {
						top=top_ssmenu+"px";
						left=(((i-1)*(largeur_menu+espace_entre_menus))+1+left_menu)+"px";
					} else {
						left=left_ssmenu+"px";
						top=(((i-1)*(hauteur_menu+espace_entre_menus))+1+top_menu)+"px";
					}
					if (isIE||isOpera||isIE5mac)
						width = largeur_sous_menu+(largeur_sous_menu!="auto"?"px":"");
					else width = "auto";
					if (!vertical && !isIE5mac) {
						if ((width!="auto")
							&& ((left.replace(reg,'').valueOf()*1 + width.replace(reg,'').valueOf()*1) > largeur_fenetre))
							left = (largeur_fenetre-width.replace(reg,'').valueOf())+"px";
					}
					margin="0";
					zIndex="3";
				}
			}
		}

		CacherMenus();
	}

	document.getElementById("menugen").style.visibility='';
}
window.onresize = Chargement;


function MontrerMenu(strMenu) {
	if(blnOk) {
		AnnulerCacher();
		CacherMenus();
		if (document.getElementById(strMenu))//undefined
			with (document.getElementById(strMenu).style)
				visibility="visible";
	}
	SelectVisible("hidden",document.getElementsByTagName('select'));
}

function CacherDelai() {
	if (blnOk) {
		timeout = setTimeout('CacherMenus()',delai);
	}
}
function AnnulerCacher() {
	if (blnOk && timeout) {
		clearTimeout(timeout);
	}
}
function CacherMenus() {
	if(blnOk) {
		for(i=1;i<=nbmenu;i++) {
			if (document.getElementById("ssmenu"+i))//undefined
				with(document.getElementById("ssmenu"+i).style)
					visibility="hidden";
		}
	}
	SelectVisible("visible",document.getElementsByTagName('select'));
}

function trimespaces() {
	if(blnOk&&isIE5win) {
		for(i=1;i<=nbmenu;i++) {
			if (document.getElementById("ssmenu"+i))//undefined
				with(document.getElementById("ssmenu"+i))
					innerHTML = innerHTML.replace(/<li>|<\/li>/g,"");
		}
	}
}

function SelectVisible(v,elem) {
	if (blnOk && (isIE||isIE5win))
		for (var i=0;i<elem.length;i++) elem[i].style.visibility=v;
}

