var vOpenMenu = null;

function expandMenu(vMenu,vSubMenu){
    var divMenuBar = document.getElementById("divMenuBar");
    var divMenuBarLoc = getCoordinates(divMenuBar);
    var vMenuLoc = getCoordinates(vMenu);
    vSubMenu.style.left = vMenuLoc.x + divMenuBarLoc.x;
    if (document.all) vSubMenu.style.top = divMenuBar.offsetHeight + divMenuBarLoc.y - 200;
    else vSubMenu.style.top = divMenuBar.offsetHeight + divMenuBarLoc.y - 200;
	vSubMenu.style.visibility = "visible";
	vOpenMenu = vSubMenu;
}

function collapseMenu(vSubMenu){
    vSubMenu.style.visibility = "hidden";
	vOpenMenu = null;
}

function documentMouseOver(ev){
    var vSource = document.all?ev.srcElement:ev.target;
    var divMenuBar = document.getElementById("divMenuBar");
	if ("clsMenuBarItem" == vSource.className){        
		var vSubMenu = document.getElementById(vSource.id.replace("tdMenuBarItem","divMenu"));
		if ((vOpenMenu != vSubMenu) && (vOpenMenu != null)) {
			collapseMenu(vOpenMenu);
        }
		if (vSubMenu) {
            expandMenu(vSource, vSubMenu);
        }
    }else if (!document.all){
        if (vOpenMenu && !(vOpenMenu.compareDocumentPosition(vSource) & 16) && !(divMenuBar.compareDocumentPosition(vSource) & 16)) {
            collapseMenu(vOpenMenu);
        }
    }else if (vOpenMenu && !vOpenMenu.contains(vSource) && !divMenuBar.contains(vSource)) {
        collapseMenu(vOpenMenu);
    } 
}

function getCoordinates(element){    
	var offsetX=0;
	var offsetY=0;
	var parent;
	for (parent=element;parent;parent=parent.offsetParent){
		if (parent.offsetLeft){
			offsetX += parent.offsetLeft;
		}
		if (parent.offsetTop){
			offsetY += parent.offsetTop;
		}
	}
	return {x:offsetX,y:offsetY};	
}
