var	menuTop=45,menuLeft=400,domSMenu=null,oldDomSMenu=null,t=0,lDelay=5,lCount=0,pause=100,decalagetop=0,decalageleft=0;

//	------------------------------------------------------------------------------------------------
function popMenu(idMenu,menuNum,msindex){
	if(isDHTML){
		t=2;// Place la visibilité du menu précédent sur hidden
		if(oldDomSMenu){hideMenu();}
		// Définit les DOM des objets menu
		var domMenu=findDOM(idMenu,0);
		var idMenuOpt='menuHead_'+msindex+"_"+menuNum;
		var domMenuOpt=findDOM(idMenuOpt,0);		
		var idSMenu='menu_'+msindex+"_"+menuNum;
		var	domSMenu=findDOM(idSMenu,1);

		// Définit les positions des sous-menus
		if(isID||isAll){ 	
			var menuLeft=(domMenu.offsetLeft)+(domMenuOpt.offsetLeft)+decalageleft;
			var menuTop=(domMenu.offsetTop)+(domMenu.offsetHeight)+decalagetop;
		}else if(isLayers){
			var menuLeft=document.layers[idMenu].layers[idMenuOpt].pageX-decalageleft;
			var menuTop=domMenu.pageY+domMenu.clip.height-decalagetop;
		}

		if(oldDomSMenu!=domSMenu){//Positionne et affiche le menu
			domSMenu.left=menuLeft+"px"; 
			domSMenu.top=menuTop+"px";
			domSMenu.visibility='visible';
			domSMenu.zIndex='100';
			oldDomSMenu=domSMenu;
		}
		else{oldDomSMenu=null;}// Réinitialise oldDom s'il est identique au DOM en cours
	}
	else{return null;}// Retourne une valeur 'null' pour les navigateurs non-DHTML
}

//	------------------------------------------------------------------------------------------------
function delayHide() {
	if(t==2){// Interrompt la fonction si un autre menu est ouvert
		lCount=0; 
		return false; 
	}

	if((oldDomSMenu)&&(t==0)) {//Vérifie si un menu est affiché et si la variable global 't' a pris la valeur 0 (demande de fermeture d'un menu)
		hideMenu();
		return false;
	}

	if(t==1){// Répète la fonction en ajoutant chaque fois 1 à lCount, jusqu'à ce que lCount soit égal à lDelay puis définit 't' sur 0 pour que le menu soit masqué lorsqu'elle s'exécute à nouveau
		lCount=lCount+1;
		if(lDelay<=lCount){// Est ce que le compteur est supérieur ou égal au délai à attendre pour masquer le sous menu ?
			t = 0; // On place la variable t (indiquant le statut du menu) sur 0 pour masquer le menu
			setTimeout('delayHide('+t+')',pause);	// On appele de nouveau le délai, pour faire réélement disparaitre le menu
		}
		if (lDelay>=lCount){setTimeout('delayHide('+t+')',pause);}
	}
}

//	------------------------------------------------------------------------------------------------
function hideMenu() {
	oldDomSMenu.visibility='hidden';oldDomSMenu.zIndex='0';oldDomSMenu=null;lCount=0;t=2;
}

