/* * $Id: menu.js.php,v 1.1 2006/07/20 18:25:54 manfred Exp $ */ var userAgent = navigator.userAgent.toLowerCase(); var is_safari = ((userAgent.indexOf("safari") != -1) || (navigator.vendor == "Apple Computer, Inc.")); var is_firefox = (userAgent.indexOf("firefox") != -1); var is_mac = (userAgent.indexOf("macintosh") != -1); var is_konqueror = (userAgent.indexOf('konqueror') != -1); var menucurrent = null; var menutimer = null; var menuoffsetx = 0; var menuoffsety = 0; var menuclickbar = true; var top_offset = 82; function MenuInit() { if (is_safari) { menuoffsetx = 0; menuoffsety = -94; menuclickbar = false; } if (is_konqueror) { menuclickbar = false; } // max 20 hauptmenus for ( c = 1; c < 20; c++ ) { if ( document.getElementById("tab_" + c) != null ) { document.getElementById("tab_" + c).onmouseover = HoverTabOver; document.getElementById("tab_" + c).onmouseout = HoverTabOut; document.getElementById("tab_" + c + "_menu").onmouseover = HoverMenuOver; if ( document.getElementById("tab_" + c + "_menu") != null ) { document.getElementById("tab_" + c + "_menu").onmouseout = HoverMenuOut; document.getElementById("tab_" + c + "_menu").style.display = "none"; document.getElementById("tab_" + c + "_menu").style.position = "absolute"; } if (menuclickbar) { var table = document.getElementById("tab_" + c + "_menu"); var rows = table.getElementsByTagName("tr"); for (var i = 0; i < rows.length; i++) { cell = rows[i].getElementsByTagName("td"); cell[0].onclick = ClickBar; } } } } } function HoverTabOver() { if (menutimer != null) { clearTimeout(menutimer); } if ( menucurrent != null ) { if (menucurrent != this.id) { MenuClose(menucurrent+"_menu"); } } MenuOpen(this.id); menucurrent = this.id; this.className = "topbar_tab_active"; document.getElementById(this.id).className = "menu-top-hlit"; document.getElementById(this.id+"_link").className = "topmenu-w"; } function HoverTabOut() { menutimer = setTimeout("MenuClose('"+this.id+"_menu');",500); } function HoverMenuOver() { if (menutimer != null) clearTimeout(menutimer); } function HoverMenuOut() { menutimer = setTimeout("MenuClose('"+this.id+"');",500); } function MenuOpen(idname) { menu = document.getElementById(idname+"_menu"); tab = document.getElementById(idname); menu.style.display = ""; menu.style.left = (getElementPosX(tab)+menuoffsetx)+"px"; menu.style.top = (getElementPosY(tab)+top_offset+menuoffsety)+"px"; } function MenuClose(idname) { document.getElementById(idname).style.display = "none"; if ( menucurrent != null ) { document.getElementById(menucurrent).className = "menu-top"; document.getElementById(menucurrent+"_link").className = "topmenu"; } } function ClickBar() { links = this.getElementsByTagName("a"); if (links.length > 0 && links[0].target == '' ) window.location = links[0].href; } function getElementPosX(object) { var curleft = 0; if (object.offsetParent) { while (object.offsetParent) { curleft += object.offsetLeft object = object.offsetParent; } } else if (object.x) curleft += object.x; return curleft; } function getElementPosY(object) { var curtop = 0; if (object.offsetParent) { while (object.offsetParent) { curtop += object.offsetTop object = object.offsetParent; } } else if (object.y) curtop += object.y; return curtop; }