var disappeardelay=250  //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes" //hide menu when user clicks within menu?
var ie4=document.all
var ns6=document.getElementById&&!document.all
var theNode;

function containsNode(containerNode, testNode){
	while(testNode.parentNode){
		testNode = testNode.parentNode;
		if (testNode == containerNode) return true;
	}
	return false;
}

function closeOpenMenu(id){
	var openNode;

	openNode = findDOM(id,0);
	openNode.style.display = "none";	
}

function doMenu(id, brother, sister){
	var brotherNode;
	var sisterNode;

	theNode = findDOM(id,0);
	brotherNode = findDOM(brother,0);
	if (sister!=0) sisterNode = findDOM(sister,0);	

	brotherNode.style.display = "none";
	if (sister!=0) sisterNode.style.display = "none";

	theNode.style.display = "block";	
	theNode.onmouseout = doMouseOut;
}

function doMouseOut(evt){
	var curNode;
	var newNode;
	
	if (typeof(window.event)!="undefined"){
		curNode = this;
		newNode = window.event.toElement;
	}
	else {
		curNode = evt.currentTarget;
		newNode = evt.relatedTarget;
	}
	
	if (curNode != newNode && !containsNode(curNode, newNode)){
		curNode.style.display = "none";
	}
}

function doSpecial(id){
	theNode = findDOM(id,0);
	theNode.style.display = "block";	
}




function clickreturnvalue(){
	if (ie4||ns6) return false
	else return true
}

function contains_ns6(a, b) {
	while (b.parentNode)
		if ((b = b.parentNode) == a)
		return true;
	return false;
}

function dynamichide(e){
	if (ie4&&!theNode.contains(e.toElement))
	delayhidemenu()
	else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
	delayhidemenu()
}

function hidemenu(e){
	if (typeof theNode!="undefined"){
		if (ie4||ns6) theNode.style.display="none";
	}
}

function delayhidemenu(){
	if (ie4||ns6) delayhide=setTimeout("hidemenu()",disappeardelay)
}

function clearhidemenu(){
	if (typeof delayhide!="undefined") clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
document.onclick=hidemenu

