var menuTop = 45; var menuLeft = 400;

var domSMenu = null;
var oldDomSMenu = null;
var t = 0;
var lDelay = 3;
var lCount = 0;
var pause = 100;

function popMenu(menuNum){
	if (isDHTML) {
///// Place la visibilité du menu précédent sur hidden
		t = 2;
		if (oldDomSMenu) {
			oldDomSMenu.visibility = 'hidden'; 
			oldDomSMenu.zIndex = '0'; 
			t = 2; 
			lCount = 0;
		}

///// Définit les DOM des objets menu
		var idMenu = 'menuHead';
		var domMenu = findDOM(idMenu,0);

		var idMenuOpt = 'menuHead' + menuNum;
		var domMenuOpt = findDOM(idMenuOpt,0);		

		var idSMenu = 'menu' + menuNum;
		var domSMenu = findDOM(idSMenu,1);

///// Définit les positions des sous-menus
	if (isID || isAll) { 	
				var menuLeft = (domMenu.offsetLeft) + (domMenuOpt.offsetLeft) + 5;
				var menuTop = (domMenu.offsetTop) + (domMenu.offsetHeight) + 5;
			}
		if (isLayers) {
				var menuLeft = document.layers[idMenu].layers[idMenuOpt].pageX - 5;
				var menuTop = domMenu.pageY + domMenu.clip.height - 5;
		}

///// Positionne et affiche le menu
		if (oldDomSMenu != domSMenu) {	
			domSMenu.left = menuLeft; 
			domSMenu.top = menuTop;
			domSMenu.visibility = 'visible';
			domSMenu.zIndex = '100';
			oldDomSMenu = domSMenu;
		}

///// Réinitialise oldDom s'il est identique au DOM en cours
		else { oldDomSMenu = null; }
	}

////// Retourne une valeur 'null' pour les navigateurs non-DHTML
	else { return null; }
}

function delayHide() {
///// Vérifie si un menu est affiché et si la variable global 't'
///// a pris la valeur 0
    if ((oldDomSMenu) && (t == 0)) {

///// Masque l'ancien menu, réinitialise les conditions de menu, 
///// et arrête d'exécution de la fonction
        oldDomSMenu.visibility = 'hidden'; 
        oldDomSMenu.zIndex = '0';
        oldDomSMenu = null;
        lCount = 0; 
        return false;
    }

///// Interrompt la fonction si un autre menu est ouvert
    if (t == 2) { lCount = 0; return false; }

///// 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
    if (t == 1) { 
        lCount = lCount + 1;
        if (lDelay <= lCount) { t = 0; }
        if (lDelay >= lCount) { setTimeout('delayHide(' + t + ')',pause); }
    }
}