var bMenuIsDefined = 1;
var AnimatedMenu = document.getElementById("StartMenu");
var useragent = navigator.userAgent;

function document_mouseover(event) 
{
	hideMenu(event);
//	doMouseOver(e);	// tooltip stuff...
}

function getRealLeft(el) {
    xPos = 0;
    tempEl = el.offsetParent;
    while (tempEl != null) {
        xPos += tempEl.offsetLeft;
        tempEl = tempEl.offsetParent;
    }
    return xPos;
}

function getRealTop(el) {
    yPos = 0;
    tempEl = el.offsetParent;
    while (tempEl != null) {
        yPos += tempEl.offsetTop;
        tempEl = tempEl.offsetParent;
    }
    return yPos;
}

function calcMenuPos (popupmenuid, event)
{
	var thisMenu = document.getElementById(popupmenuid);
	thisMenu.style.display = "block";
	
	window.workingMenuID = popupmenuid;	
	if (AnimatedMenu)
		AnimatedMenu.style.display = "none";
	AnimatedMenu = thisMenu;
	
	clientwidth = window.innerWidth;
	clientheight = window.innerHeight;

	//alert('clientwidth= ' + clientwidth +' clientheight= ' + clientheight);
	
  scrolltop = window.scrollY;
  scrollleft = window.scrollX;

	x = event.clientX + scrollleft - getRealLeft(thisMenu);
	y = event.clientY + scrolltop - getRealTop(thisMenu);

	menuwidth = thisMenu.offsetWidth;
	menuheight = thisMenu.offsetHeight;
	
	if (( x + menuwidth + 15 - scrollleft) > clientwidth)
		x = x - (x + menuwidth + 25 - scrollleft- clientwidth );

	if (( y + menuheight + 15 - scrolltop) > clientheight)
		y = y - (y + menuheight + 25 - scrolltop - clientheight);
	
	if (y < 0)
		y = 0;
		
	if (x < 0)
		x = 0;

/*	
	xdiff = clientwidth - (event.clientX +  menuwidth + 15);
	ydiff = clientheight - (event.clientY +  menuheight + 15);
	
	if (xdiff < 0)
	{
		x = x + xdiff;
		if (x < scrollleft)
		{
			x = scrollleft;
		}		
	}

	if (ydiff < 0)
	{
		y = y + ydiff;
		if (y < scrolltop)
		{
			y = scrolltop;
		}
	}
*/	

	thisMenu.style.left = x + "px";
	thisMenu.style.top = y + "px";
	
  var i;
  
  // loop backwards to find and modify the last 'in-document' stylesheet (i.e., <style>, not <link>)
  for (i = document.styleSheets.length - 1; i >= 0; i--) {

    if ( ! document.styleSheets.href || document.styleSheets[i].href.substr(-4) == '.css') 
      continue;
    
    sheet = document.styleSheets[i];
    
    for (j=0;j < sheet.cssRules.length;j++) {
      if (sheet.cssRules[j].selectorText == ".cpHideForMenus")
        break;
    }
    
    if (j != sheet.cssRules.length)
      document.styleSheets[i].deleteRule(j);
    
    document.styleSheets[i].insertRule(".cpHideForMenus{visibility: hidden}", 0);
    break;
  }
	
	return;
}


function showMenu() 
{
	// IE counter part requires the AnimatedMenu.style.clip to be set.
	return;
}

function keepMenu(event)
{
	event.stopPropagation();
}

function hideMenu(event)
{
	if (AnimatedMenu.style.display != 'none')
	{
		AnimatedMenu.style.display = "none";
		AnimatedMenu = document.getElementById("StartMenu");

    var i;
    
    // loop backwards to find and modify the last 'in-document' stylesheet (i.e., <style>, not <link>)
    for (i = document.styleSheets.length - 1; i >= 0; i--) {

      if (! document.styleSheets.href || document.styleSheets[i].href.substr(-4) != '.css') 
        continue;
      
      sheet = document.styleSheets[i];
      
      for (j=0;j < sheet.cssRules.length;j++) {
        if (sheet.cssRules[j].selectorText == ".cpHideForMenus")
          break;
      }
      
      if (j != sheet.cssRules.length)
        document.styleSheets[i].deleteRule(j);
      
      document.styleSheets[i].insertRule(".cpHideForMenus{visibility: visible}", 0);
      break;
    }
	}
	
	event.stopPropagation();
}

function RevertItem(loader,pgid,srcPage,ctrlid,itemid)
{
	params = "&srcpage="+srcPage+"&pageid="+pgid+"&controlid="+ctrlid;
	if (itemid != '')
		params = params + "&itemid="+itemid;
	newWindow('revertItem', loader + "?csModule=versionhistory/revert-item"+params);
}

function RevertCell(loader,pgid,srcPage,ctrlid,cellid)
{
	params = "&srcpage="+srcPage+"&pageid="+pgid+"&controlid="+ctrlid+"&cellid="+cellid;
	newWindow('revertCell', loader + "?csModule=versionhistory/revert-cell"+params);
}

function RevertLayout(loader,pgid,srcPage,ctrlid)
{
	params = "&srcpage="+srcPage+"&pageid="+pgid+"&controlid="+ctrlid;
	newWindow('revertCell', loader + "?csModule=controls/layout/revert-layout"+params);
}

