// Menu:hover with delay// ---------------------// This script will enable the :hover for the submenu's within// the menu's. Besides enabling the :hover it will also set// a delay on the submenu.// Credits: Tino Zijdel (crisp), crisp(at)tweakers.netvar menu = null;function init_menu() {	menu = document.getElementById('menu');	var li = menu.getElementsByTagName('li'), i = li.length;	while (i--) li[i].onmouseover = showMenu;	menu.onmouseout = timeout;	menu.onmouseover = cleartimer;}var timer = null;function timeout() {	timer = setTimeout('hideMenus(menu, null)', 1000);}function cleartimer() {	if (timer) {		clearTimeout(timer);		timer = null;	}}function showMenu()	{	var ul = this.parentNode;	while (ul) {		if (ul.tagName.toLowerCase() == 'ul') {			hideMenus(ul, this);			break;		}		ul = ul.parentNode;	}	ul = this.firstChild;	while (ul) {		if (ul.nodeType == 1 && ul.tagName.toLowerCase() == 'ul') {			ul.style.display = 'block';			ul.style.visibility = ''; // necessary for IE			break;		}		ul = ul.nextSibling;	}}function hideMenus(level, skipli) {	var stack = [level], i = 0, li, j, el, tag;	do {		li = stack[i].childNodes, j = li.length;		while (j--) {			el = li[j];			if (el.nodeType == 1 && el != skipli) {				tag = el.tagName.toLowerCase();				if (tag == 'li') {					stack[i++] = el;				}				else if (tag == 'ul' && el.style.display == 'block') {					stack[i++] = el;					el.style.display = 'none';					el.style.visibility = 'hidden'; // necessary for IE				}			}		}	}	while (i--);}
