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 - getCoordinates(document.getElementById("maincontent1")).x + "px"; //+ divMenuBarLoc.x;
    if (document.all) vSubMenu.style.top = divMenuBar.offsetHeight + divMenuBarLoc.y + "px";
    else vSubMenu.style.top = divMenuBar.offsetHeight + divMenuBarLoc.y - 1 + "px";
	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");
	//[start]Added/Commented by Abhay for Issue#16584
	//if ("clsMenuBarItem" == vSource.className){ 
	if ("clsMenuBarItem" == vSource.className || "clsSelectedMenuBarItem" == vSource.className){ 
	//[end]Added/Commented by Abhay for Issue#16584      
		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){
       //Commmented and Modified by Smita Mahajan for Issue ID 22238[start]
      //  if (vOpenMenu.contains) {
         if (vOpenMenu!=null ) {
            //if (vOpenMenu && !vOpenMenu.contains(vSource) && !divMenuBar.contains(vSource)) {
            //    collapseMenu(vOpenMenu);
           // } 
      //  }else {  
            //Added by Rajesh for IssueID 85 in SharePoint [Start] 
            //if (vOpenMenu && (!(vOpenMenu.compareDocumentPosition(vSource) & 16)) && (!(divMenuBar.compareDocumentPosition(vSource) & 16))) {
            //Added by Rajesh for IssueID 85 in SharePoint [Start] 
            if (navigator.userAgent.indexOf('Chrome') > -1 || navigator.userAgent.indexOf('Safari') > -1 )  {
                 if (vOpenMenu && !vOpenMenu.contains(vSource) && !divMenuBar.contains(vSource)) {
                        collapseMenu(vOpenMenu);}
            }else{
                    var pos = divMenuBar.compareDocumentPosition(vSource) ;
                    if ((pos != 0 && pos != 2 && pos != 4 && pos != 8 && pos != 16) || (vSource.id != 'divMenuBar' && vSource.parentNode.parentNode.className != 'clsMenu')) {
                        collapseMenu(vOpenMenu);
                    }
            }
            //Added by Rajesh for IssueID 85 in SharePoint [End] 
        }
         //Commmented and Modified by Smita Mahajan for Issue ID 22238[start]
    }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};	
}

