var vertical = true;
var largeur_menu = 100;
var hauteur_menu = 25;
var largeur_sous_menu = 100;
var espace_entre_menus = 1;
var top_menu = 10;
var top_ssmenu = top_menu + 25;
var left_menu = 2;
var left_ssmenu = largeur_menu+5;
var delai = 250; 
var marge_en_haut_de_page = top_menu + 30;
var marge_a_gauche_de_la_page = largeur_menu + 10;


var nbmenu = 0;
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 isIE7ouplus = (isIE && IEver >= 7);
var isIE5mac = ((agt.indexOf("msie") != -1) && isMac);
var isSafari = (agt.indexOf('safari') != -1);

//pour enlever les "px" pour faire des calculs...
var reg = new RegExp("px", "g");

//fonction de positionnement artificiel pour les versions d'IE précédant IE7
window.onscroll = function()
{
	if ((isIE || isIE5mac) && !isIE7ouplus)
	{
		if (isIE5mac) document.getElementById("conteneurmenu").style.visibility="hidden";
		var cumul=0;
		//compatible avec certains doctypes
		var scrollTop = document.body.scrollTop?document.body.scrollTop:document.documentElement.scrollTop;
		for(i=1;i<=nbmenu;i++)
		{
				document.getElementById("menu"+i).style.top = scrollTop
							+(((i-1)*espace_entre_menus)+cumul+1+top_menu)+"px";
				if (document.getElementById("ssmenu"+i))//undefined
					document.getElementById("ssmenu"+i).style.top = scrollTop
							+(((i-1)*espace_entre_menus)+cumul+1+top_menu)+"px";
				cumul += isFinite(hauteur_menu)?hauteur_menu:hauteur_menu[i-1];
			
		}
		if (isIE5mac) document.getElementById("conteneurmenu").style.visibility="visible";
	}
}

function preChargement()
{
	if (document.getElementById("conteneurmenu"))
		document.getElementById("conteneurmenu").style.visibility="hidden";
}

function Chargement() {
	nbmenu = 0;	while (document.getElementById("menu"+(nbmenu+1)))nbmenu++;

	document.getElementById("conteneurmenu").style.visibility="hidden";
	with(document.body.style) {marginLeft=marge_a_gauche_de_la_page+"px";}

	positionne();
	CacherMenus();

	//pour Safari, qui a du mal à afficher le menu parfois, le fait de changer la taille
	if(isSafari) document.getElementById('conteneurmenu').style.fontSize='0.9em';

	document.getElementById("conteneurmenu").style.visibility='';
}
window.onresize = Chargement;

function positionne() {
	if ((isIE || isIE5mac) && !isIE7ouplus) document.getElementById('top').style.position="absolute"; //corrige bug position IE pour la partie "top"
	
	//Calcul hauteur et largeur fenêtre compatible avec certains doctypes IE
	var largeur_fenetre;
	if (document.documentElement && document.documentElement.clientWidth) {
		largeur_fenetre = document.documentElement.clientWidth;
	} else if (document.body && document.body.clientWidth) {
		largeur_fenetre = document.body.clientWidth;
	} else if (window.innerWidth) {
		largeur_fenetre = window.innerWidth;
	}

	var hauteur_fenetre;
	if (document.documentElement && document.documentElement.clientHeight) {
		hauteur_fenetre = document.documentElement.clientHeight;
	} else if (document.body && document.body.clientHeight) {
		hauteur_fenetre = document.body.clientHeight;
	} else if (window.innerHeight) {
		hauteur_fenetre = window.innerHeight;
	}
	
	//Menus
	var cumul = 0;
	for(i=1;i<=nbmenu;i++) {
		with(document.getElementById("menu"+i).style) {
				top=(((i-1)*espace_entre_menus)+cumul+1+top_menu)+"px";
				left=left_menu+"px";			
			if ((isIE || isIE5mac) && !isIE7ouplus)
				position="absolute";
			else position="fixed";
			//if (vertical) height=hauteur_menu+"px";
			margin="0";
			zIndex="2";
			if (isFinite(largeur_menu))
				width=largeur_menu+"px";
			else
				width=largeur_menu[i-1]+"px";
			if (isFinite(hauteur_menu)) {
				cumul += (!vertical?largeur_menu:hauteur_menu);
			}
			else {
				cumul += (!vertical?largeur_menu[i-1]:hauteur_menu[i-1]);
				height=hauteur_menu[i-1]+"px";
			}
		}
	}
	
	//Sous-menus
	cumul = 0;
	for(i=1;i<=nbmenu;i++) {
		if (document.getElementById("ssmenu"+i))//undefined
		{
			with(document.getElementById("ssmenu"+i).style) {
				if ((isIE || isIE5mac) && !isIE7ouplus)
					position="absolute";
				else position="fixed";
				left=left_ssmenu+"px";
				top=(((i-1)*espace_entre_menus)+cumul+1+top_menu)+"px";
				if (isFinite(largeur_sous_menu))
					width = largeur_sous_menu+(largeur_sous_menu!="auto"?"px":"");
				else
					width = largeur_sous_menu[i-1]+(largeur_sous_menu[i-1]!="auto"?"px":"");
				margin="0";
				zIndex="3";
			}
		}
		if (isFinite(hauteur_menu)) {
			cumul += (!vertical?largeur_menu:hauteur_menu);
		}
		else {
			cumul += (!vertical?largeur_menu[i-1]:hauteur_menu[i-1]);
		}
	}
}


function MontrerMenu(strMenu) {
	AnnulerCacher();
	CacherMenus();
	if (document.getElementById(strMenu))//undefined
		with (document.getElementById(strMenu).style)
			visibility="visible";
	SelectVisible("hidden",document.getElementsByTagName('select'));
}

function CacherDelai() {
	timeout = setTimeout('CacherMenus()',delai);
}
function AnnulerCacher() {
	if (timeout) {
		clearTimeout(timeout);
	}
}
function CacherMenus() {
	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 SelectVisible(v,elem) {
	if ((isIE||isIE5win) && !isIE7ouplus)
		for (var i=0;i<elem.length;i++) elem[i].style.visibility=v;
}
