
function Node(obRef) {
	this.obRef=obRef;
	this.timeRef=null;
}

myNodes=new Array();
 
function isParent(kind, ouder) {
	oudere=kind.parentNode;
   	do {
		oudere=oudere.parentNode;
		if (oudere==ouder) {
			return true;
		}
	} while (oudere.nodeName!='BODY')
	return false;
}
 
function showSub(showNode) {
	if (isNaN(showNode.rIndex)) {
		showNode.rIndex=myNodes.length;
		myNodes[showNode.rIndex]=new Node(showNode);
	} else {
		clearTimeout(myNodes[showNode.rIndex].timeRef);
	}
	temp='';
	for (i in myNodes) {
		if (!isParent(myNodes[i].obRef, showNode)) {
			clearTimeout(myNodes[i].timeRef);
			doHide(myNodes[i].obRef);
		}
	}
	for (i in showNode.childNodes) {
		if (showNode.childNodes[i].nodeType==1) {
			showNode.childNodes[i].style.display='block';
		}
	}
}
 
function hideSub(hideNode) {
	myNodes[hideNode.rIndex].timeRef=setTimeout('doHide(myNodes['+hideNode.rIndex+'].obRef)', 300);
}
 
function doHide(doNode) {
	for (i in doNode.childNodes) {
		if (doNode.childNodes[i].nodeType==1 && doNode.childNodes[i].nodeName=='UL') {
			doNode.childNodes[i].style.display='none';
		}
	}
}

window.onload=function() {
	var li = document.getElementById('menu').getElementsByTagName('li');
	var ul;
	for (i in li) {
		if(!isNaN(i)) {
			ul = li[i].childNodes;
			for(j in ul) {
				if(ul[j].nodeName == 'UL') {
					ul[j].className = li[i].className = 'sub';
					li[i].onmouseover = function () {
						showSub(this);
					}
					li[i].onmouseout = function () {
						hideSub(this);
					}
				}
			}
		}
	}
}


