// capture de la souris if (!isIE) document.captureEvents(Event.MOUSEMOVE); document.onmousemove = mouseMove; var currentMenu = ""; // id du menu déplié var activeMenu = false; // activation des menus (pour l'attente du chargement complet de la page) // initialisation des positions des menus function initMenus() { if (!isNS) { addMenu('6', 144, 80); addMenu('8', 119, 40); addMenu('9', 162, 200); addMenu('10', 126, 160); // chargement OK, on active les menus activeMenu = true; } } // positionnement des sous-menus function addMenu(id, width, height) { // récupération du parent pout déterminer la position var parentLayer = getLayer("head" + id); var left = getPageLeft(parentLayer); var right = left + 130; var top = getPageTop(parentLayer); // calcul de la taille width = width + 10; height = height + 10; // calcul des coordonnées var x = parseInt(((left + right)/2) - (width/2), 10); var y = top + 25; // décalages MAC if (isIE && isMac) { x += 10; y += 15; } else if (isSF) { x += 8; y += 8; } // on récupère les layers du menu var menuLayer = getLayer("menu" + id); var menuBackLayer = getLayer("menuBack" + id); // resize setWidth(menuLayer, width); setHeight(menuLayer, height); setWidth(menuBackLayer, width); setHeight(menuBackLayer, height); // on déplace le menu moveLayerTo(menuLayer, x, y); moveLayerTo(menuBackLayer, x, y); } // ouverture du menu function showMenu(id) { if (id != currentMenu && activeMenu) { // on désactive le menu en cours hideMenu(); // activation du menu currentMenu = id; var layer = getLayer("menu" + id); var layerBack = getLayer("menuBack" + id); showLayer(layer); showLayer(layerBack); } } // fermeture du menu function hideMenu() { if (currentMenu != "" && activeMenu) { // désactivation du menu var layer = getLayer("menu" + currentMenu); var layerBack = getLayer("menuBack" + currentMenu); hideLayer(layer); hideLayer(layerBack); currentMenu = ""; } } // roll-over à l'intérieur des menus function setMenuClass(id, className) { if (!isSF) { swapLayerClass("menuContent" + id, "menuContent" + className); } } // test de la souris pour le maintenir le menu ouvert function mouseMove(e) { if (isIE) { var x = event.clientX + document.body.scrollLeft; var y = event.clientY + document.body.scrollTop; } else { var x = e.pageX var y = e.pageY } if (currentMenu != "") { var menuLayer = getLayer("head" + currentMenu); var mLeft = getPageLeft(menuLayer); var mRight = mLeft + 130; var mTop = getPageTop(menuLayer); var subMenuLayer = getLayer("menu" + currentMenu); var sLeft = getPageLeft(subMenuLayer); var sRight = getPageRight(subMenuLayer); var sTop = getPageTop(subMenuLayer); var sBottom = getPageBottom(subMenuLayer); if (((x < mLeft || x > mRight) && y < sTop) || ((x < sLeft || x > sRight) && y > sTop) || y < mTop || y > sBottom) hideMenu(); } }