/* iubito's menu - http://iubito.free.fr/prog/menu.php - configuration du javascript */




/* Quand la souris quitte un sous-menu, si le sous-menu disparait imm�iatement,
	cela g�e l'utilisateur. Alors on peut mettre un d�ai avant disparition du sous-menu.
	500 ms c'est bien :-) */
var delai = 650; // en milliseconde


/* Pour IE uniquement, les balises <select> passent toujours au-dessus du menu, donc
	par d�aut on cache les listes d�oulantes quand le menu est ouvert, puis on les fait
	r�ppara�re �la fermeture du menu. Pour emp�her �, mettre �false. */
var cacher_les_select=true;




/*pour supprimer un erreur javascript */
var timeout = false;

var nbmenu = 0; //Auto-calcul�var timeout; //ne pas toucher, c'est pour d�larer la variable
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 isSafari = (agt.indexOf('safari') != -1);

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





function Chargement() {
	
	//Compte nbmenu
	nbmenu = 0;
	while (document.getElementById("menu"+(nbmenu+1)))
		nbmenu++;
	
	document.getElementById("conteneurmenu").style.visibility="hidden";
	trimespaces();
	
	
	CacherMenus();
	
	//pour Safari, qui a du mal �afficher le menu parfois, le fait de changer la taille
	//des caract�es corrige le probl�e. Merci Stol ! http://iubito.free.fr/forum/read.php?id=705&f=2
	if(isSafari)
		document.getElementById('conteneurmenu').style.fontSize='10px';
	
	// comme on a �it�le clignotement, maintenant on fait appara�re le menu ;-)
	document.getElementById("conteneurmenu").style.visibility='';
}
window.onresize = Chargement;

/*
 * Place les ��ents du menu correctement, au chargement, au scroll, au redimensionnement
 * de la fen�re
 */
function positionne() {
//Sous-menus
	cumul = 0;
	for(i=1;i<=nbmenu;i++) {
		if (document.getElementById("ssmenu"+i))//undefined
		{
			with(document.getElementById("ssmenu"+i).style) {
				margin="0";
				zIndex="3";
				position="absolute";
				if(isIE){
					left=document.getElementById("menu"+i).offsetLeft+document.getElementById("page").offsetLeft+"px";
				} else {
					left=document.getElementById("menu"+i).offsetLeft+"px";
				}
					top=document.getElementById("menu"+i).offsetTop+document.getElementById("menu"+i).offsetHeight+2+"px";
			}
		}
	}
}


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

function CacherDelai() {
	timeout = setTimeout('CacherMenus()',delai);
}
function AnnulerCacher() {
	if (timeout != null && timeout) {
		clearTimeout(timeout);
	}
}
function CacherMenus() {
	for(i=1;i<=nbmenu;i++) {
		if (document.getElementById("ssmenu"+i))//undefined
			with(document.getElementById("ssmenu"+i).style)
				display="none";
	}
	SelectVisible("visible",document.getElementsByTagName('select'));
}

function trimespaces() {
	//Contourne un bug d'IE5/win... il ne capte pas bien les css pour les <li>, donc on les vire !
	if(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 (cacher_les_select && (isIE||isIE5win))
		for (var i=0;i<elem.length;i++) elem[i].style.visibility=v;
}
