/***************************** MENU >>>> ****************************************/ var menu__active = false; function menu__onEvent(eventType, elem) { if (menu__active && (elem.nodeName == 'A' || elem.nodeName == 'UL' || elem.nodeName == 'LI') && menu__ismenutag(elem)) { if (eventType == 'over' && elem.nodeName == 'A') menu__over(elem); else if (eventType == 'over') menu__hold(elem); if (eventType == 'out') menu__out(elem); } } function menu__ismenutag(elem) { var par = elem; while (par.parentNode != null) { if (par.id == 'menu') return true; par = par.parentNode; } return false; } document.onmouseover = function(e) { e = e || window.event; var elem = e.target || e.srcElement; menu__onEvent('over', elem); }; document.onmouseout = function(e) { e = e || window.event; var elem = e.target || e.srcElement; menu__onEvent('out', elem); }; var menu__closeintervall = null; var menu__starthit = new Array(3); function menu__init() { if ((navigator.userAgent.toLowerCase().indexOf("msie 5")>-1) || (navigator.userAgent.toLowerCase().indexOf("msie 6")>-1)) menu__active = false; var lis = document.getElementById('menu').getElementsByTagName('li'); var t = ''; for (var i = 0; i < lis.length; i++) { if (lis[i].className.indexOf('hit') > -1) { var elem = lis[i].getElementsByTagName('a')[0]; t += lis[i].className + "-- " + menu__getlevel(elem) + "\n"; menu__starthit[menu__getlevel(elem)] = elem; } } //alert(t); } function menu__clear() { var lis = document.getElementById('menu').getElementsByTagName('li'); var t = ''; for (var i = 0; i < lis.length; i++) { lis[i].className = lis[i].className.replace(/hit/g, ''); } //alert(t); } function menu__open(elem) { window.clearInterval(menu__closeintervall); // alle anderen ausblenden var siblings = elem.parentNode.parentNode.childNodes; for (var i = 0; i < siblings.length; i++) { if (siblings[i].nodeName == 'LI') { var t = siblings[i].className + "\n"; siblings[i].className = siblings[i].className.replace(/hit/g, ''); siblings[i].className = siblings[i].className.replace(/ /g, ' '); if (elem.parentNode == siblings[i]) { siblings[i].className += ' hit'; //alert(siblings[i].innerHTML); } t += siblings[i].className + "\n"; //alert(t); } } } function menu__hold() { window.clearInterval(menu__closeintervall); //alert('close'); } function menu__close() { window.clearInterval(menu__closeintervall); menu__clear(); for (var i = 0; i < 3; i++) { if (menu__starthit[i] != null) menu__open(menu__starthit[i]); } //alert('close'); } function menu__getlevel(elem) { var level = 0; var par = elem; while (par.parentNode != null) { if (par.id == 'menu') return (level / 2) - 1; par = par.parentNode; level++; } return -1; } function menu__over(elem) { menu__open(elem); //alert('over - ' + menu__getlevel(elem) + ' / ' + elem.nodeName); } function menu__out(elem) { menu__closeintervall = window.setInterval("menu__close()", 100); //alert('out - ' + menu__getlevel(elem) + ' / ' + elem.nodeName); } /***************************** <<<< MENU ****************************************/