/* //================================================================ // newcssmenu.js //================================================================ // $Id: newcssmenu.js,v 1.33 2008/10/31 15:47:15 libert-li Exp $ //================================================================ // $RCSfile: newcssmenu.js,v $ // $Revision: 1.33 $ // $Date: 2008/10/31 15:47:15 $ // $Author: libert-li $ //================================================================ */ /* Marquage CVS $Header: /data/cvs/repository_v1.0/applis/src/fo/ebxapp/ebx/framework/skins/ebxDefault/js/newcssmenu.js,v 1.33 2008/10/31 15:47:15 libert-li Exp $ */ var rootMenuId = "mymenu"; var maxWidth = 760; var popup; var scriptLoaded = false; var initialized = false; var currentMenu = null; var mytimer = null; var timerOn = false; var delay = 150; var ie = (navigator.userAgent.indexOf("MSIE") != -1); var n6 = (navigator.userAgent.indexOf("Netscape6") != -1); if (!document.getElementById) document.getElementById = function() { return null; } window.onload = function() { loadMenu(); var root = document.getElementById(rootMenuId); positionMenus(root, root); } window.onunload = function() { ViderCookie(); } window.onresize = function() { var root = document.getElementById(rootMenuId); var starter = root.getElementsByTagName("A").item(0); var menu = root.getElementsByTagName("UL").item(0); starter.onmouseover(); menu.style.visibility = "hidden"; stopTime(); } function loadMenu() { if (initialized) return; if (!scriptLoaded) return; var root = document.getElementById(rootMenuId); getMenus(root, root); if (!ie) { positionMenus(root, root); } initialized = true; } function initialiseMenu(menu, starter, root) { if (menu == null || starter == null) return; currentMenu = menu; starter.onmouseover = function() { if (currentMenu) { currentMenu.style.visibility = "hidden"; currentMenu = null; this.showMenu(); } } starter.showMenu = function() { currentMenu = menu; menu.style.display = "block"; menu.style.visibility = "visible"; var root = document.getElementById(rootMenuId); positionMenus(root, root); } starter.onfocus = function() { starter.onmouseover(); } menu.onmouseover = function() { if (currentMenu) { currentMenu = null; this.showMenu(); } } menu.onfocus = function() { // currentMenu.style.visibility = "hidden"; } menu.showMenu = function() { menu.style.display = "block"; menu.style.visibility = "visible"; currentMenu = menu; stopTime(); } menu.hideMenu = function() { if (!timerOn) { mytimer = setInterval("killMenu('" + this.id + "', '" + root.id + "');", delay); timerOn = true; } } menu.onmouseout = function(event) { this.hideMenu(); } starter.onmouseout = function() { menu.hideMenu(); } } function killMenu(menu, root) { var menu = document.getElementById(menu); var root = document.getElementById(root); menu.style.visibility = "hidden"; stopTime(); } function stopTime() { if (mytimer) { clearInterval(mytimer); mytimer = null; timerOn = false; } } function getMenus(elementItem, root) { var menuStarter; var menuItem; for (var x = 0; x < elementItem.childNodes.length; x++) { if (elementItem.childNodes[x].nodeName == "TD") { if (elementItem.childNodes[x].getElementsByTagName("UL").length > 0) { menuStarter = elementItem.childNodes[x].getElementsByTagName("A").item(0); menuItem = elementItem.childNodes[x].getElementsByTagName("UL").item(0); initialiseMenu(menuItem, menuStarter, root); } } } } function positionMenus(elementItem, root) { var menuStarter; var menuItem; for (var x = 0; x < elementItem.childNodes.length; x++) { if (elementItem.childNodes[x].nodeName == "TD") { if (elementItem.childNodes[x].getElementsByTagName("UL").length > 0) { menuStarter = elementItem.childNodes[x].getElementsByTagName("A").item(0); menuItem = elementItem.childNodes[x].getElementsByTagName("UL").item(0); positionMenu(menuItem, menuStarter, root); } } } } function positionMenu(menu, starter, root) { menu.style.left = ""; var diff = maxWidth - (starter.parentNode.offsetLeft + menu.offsetWidth); if (diff < 0) { var menuOffsetLeft = menu.offsetLeft; menu.style.display = "none"; menu.style.left = (menuOffsetLeft + diff) + "px"; menu.style.display = "block"; } } // Initialise un cookie function SetCookie(name, value) { var argv = SetCookie.arguments; var argc = SetCookie.arguments.length; var expires = (argc > 2) ? argv[2] : null; var path = (argc > 3) ? argv[3] : null; var domain = (argc > 4) ? argv[4] : null; var secure = (argc > 5) ? argv[5] : false; document.cookie=name+"="+escape(value)+ ((expires==null) ? "" : ("; expires="+expires.toGMTString()))+ ((path==null) ? "" : ("; path="+path))+ ((domain==null) ? "" : ("; domain="+domain))+ ((secure==true) ? "; secure" : ""); } // Retourne la valeur d'un élement enregistré dans le cookie function getCookieVal(offset){ var endstr=document.cookie.indexOf(";",offset); if (endstr==-1) endstr=document.cookie.length; return unescape(document.cookie.substring(offset, endstr)); } // Teste l'existence d'un cookie (retourne null si non) function GetCookie(name){ var arg=name+"="; var alen=arg.length; var clen=document.cookie.length; var i=0; while (i"){ bIsTag=false; } } return newtext; } //ouvre une popup image function popupImage(ciblef5, boutonFermer,width,height,legend,copyright){ var titrepopup=ciblef5; var ebxNavpathInnerHTML=""; if(document.getElementById("ebxNavpath")){ ebxNavpathInnerHTML= document.getElementById("ebxNavpath").innerHTML; titrepopup=ReformuleNavPath(ebxNavpathInnerHTML); } var mypop=window.open(titrepopup,null,"height="+height+",width="+width+",menubar=no,scrollbars=no,resizable=no,status=no"); mypop.document.write(''+titrepopup+''); for(var i=0;i"); } mypop.document.write(''); mypop.document.write('
'); mypop.document.write(''); mypop.document.write('
'); mypop.document.write('
'); mypop.document.write('
'+legend + '
'+ copyright+'
'); mypop.document.write(''); } function popupAide(cible){ var width = 800; var height = 450; var top = (screen.availheight - height - 30) / 2; var left = (screen.availwidth - width) / 2; var mypop=window.open(cible,'','top=' + top + ',left=' + left + ',width=' + width + ',height=' + height + ',status=no,menubar=no,toolbar=no,navigationbar=no,scrollbars=yes,resizable=yes'); } scriptLoaded = true;