// JScript File
document.onclick = DocumentOnClick;
var menuId='';
var showMenu = false;
var mouseInMenu = true;

function GetScrollY()
{
    	var ScrollTop = document.body.scrollTop;
	if (ScrollTop == 0)
	{
		if (window.pageYOffset)
		ScrollTop = window.pageYOffset;
		else
		ScrollTop = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
	}
    	return ScrollTop;
}

function GetScrollX()
{
    	var ScrollLeft = document.body.scrollLeft;
	if (ScrollLeft == 0)
	{
		if (window.pageXOffset)
		ScrollLeft = window.pageXOffset;
		else
		ScrollLeft = (document.body.parentElement) ? document.body.parentElement.scrollLeft : 0;
	}
    	return ScrollLeft;
}

function DocumentOnClick()
{
    CloseOpenMenus();
   // alert(GetScrollX());
   // alert(GetScrollY());
}

function CloseOpenMenus()
{
	if(menuId!='')
	{
        	var menu = document.getElementById(menuId);
        	menu.style.visibility = "hidden";
	
	}
}

function MenuMouseOut(event,parentId)
{
	if(!event)var event = window.event;
	mouseInMenu = false;
    	

	if(menuId!='')
	{
		var menu = document.getElementById(menuId);
		if(menu)
		{
			var menuPos = getAbsolutePosition(menu);
			//alert(event.clientX);
			//alert(menuPos.x);
			var clientX = event.clientX + GetScrollX();
			var clientY = event.clientY + GetScrollY();
			//alert(event.clientY);
			//alert(GetScrollY());
			//alert(menuPos.y);
			if(clientX < menuPos.x+2 || clientX +2> menuPos.x+ menu.offsetWidth || clientY < menuPos.y + 2 || clientY + 2 > menuPos.y + menu.offsetHeight)
			{
				CloseOpenMenus();

			}
			//alert(event.clientX + ' ' + menuPos.x+ menu.offsetWidth);

		}
    	}
}

function ShowMenu(event, parentId)
{
	mouseInMenu = false;
    CloseOpenMenus();    
    mouseInMenu = true;
    var menu = document.getElementById(parentId);
    menuId = parentId;
    menu.style.visibility = "visible";
    var target = event.target?event.target:event.srcElement;
    switch(target.tagName.toLowerCase())
    {
        case "a":
        //alert(target.parentNode.parentNode.parentNode.parentNode.parentNode);
        target = target.parentNode;
        break;
        case "td":
        if(target.parentNode.childNodes.length == 2 || target.parentNode.childNodes.length == 4)
        target = target.parentNode.parentNode.parentNode.parentNode;
        
        break;
        case "img":
        target = target.parentNode.parentNode.parentNode.parentNode.parentNode;
        break;
        case "tr":
        target = target.parentNode.parentNode.parentNode;
        break;
        case "table":
        target = target.parentNode;
        break;
    }
	//alert(getAbsolutePosition(target).x);
	//alert(target.clientWidth);
	//alert(menu.clientWidth);
    menu.style.width = target.clientWidth + 'px';
    menu.style.left = (getAbsolutePosition(target).x + target.clientWidth-menu.clientWidth + 2) + 'px';
    menu.style.top = (getAbsolutePosition(target).y + target.clientHeight) + 'px';
}


function getAbsolutePosition(element)
{
    var r = { x: element.offsetLeft, y: element.offsetTop };
    if (element.offsetParent) {
      var tmp = getAbsolutePosition(element.offsetParent);
      r.x += tmp.x;
      r.y += tmp.y;
    }
    return r;
 }
