var BI = new BrowserInfo();
var Timer, SubTimer;
var ActiveMenu = null;
var ActiveSub = null;
var CloseTime = 1000;

function getOffsetTop(hElem)
{
	TopPos = 0;
	//hElem = document.getElementById(elemID);
	
	if (hElem.offsetParent)
	{
		while (hElem.offsetParent)
		{
			TopPos += hElem.offsetTop;
			hElem = hElem.offsetParent;
		}
	}
	
	return TopPos;
}

function getOffsetLeft(hElem)
{
	LeftPos = 0;
	
	if (hElem.offsetParent)
	{
		while (hElem.offsetParent)
		{
			LeftPos += hElem.offsetLeft;
			hElem = hElem.offsetParent;
		}
	}
	
	return LeftPos;
}

function MouseOver(openerID, menuID, IsSubMenu)
{
	if (IsSubMenu)
	{
		clearTimeout(SubTimer);
		if (ActiveSub != menuID && openerID != null)
		{
			if (ActiveSub != null)
			{
				HideMenu(true);
			}
			
			ShowMenu(openerID, menuID, IsSubMenu);
			
			ActiveSub = menuID;
		}
	}
	else
	{
		clearTimeout(Timer);
		
		if (ActiveMenu != menuID && openerID != null)
		{
			if (ActiveMenu != null)
			{
				HideMenu();
			}
			
			ShowMenu(openerID, menuID, IsSubMenu);
			
			ActiveMenu = menuID;
		}
	}
}

function MouseOut()
{
	Timer = setTimeout('HideMenu()', CloseTime);
}

function MouseOutSub(elemID)
{
	SubTimer = setTimeout("HideMenu(true)", CloseTime);
}

function ShowMenu(openerID, menuID, IsSubMenu)
{
	hMenu = document.getElementById(menuID);
	
	if (hMenu == null)
	{
		return false;
	}
	
	TopPos = getOffsetTop(openerID);

	if (BI.Browser == "MSIE")
		TopPos -= 0;
	else if (BI.Browser == "FF")
		TopPos -= 5;
	else
		TopPos += 0;
	
	if (!IsSubMenu)
	{
		LeftPos = getOffsetLeft(openerID);
		LeftPos += 130;
		
		if (BI.Browser == "MSIE")
			LeftPos += 5;
		else if (BI.Browser == "FF")
			LeftPos += 3;
	
		hMenu.style.top = TopPos + 'px';
		hMenu.style.left = LeftPos + 'px';
	}
	
	hMenu.style.display = 'inline';
}

function HideMenu(IsSubMenu)
{
	if (IsSubMenu)
	{
		hMenu = document.getElementById(ActiveSub);
		ActiveSub = null;
		
		if (hMenu != null)
		{
			hMenu.style.display = 'none';
			clearTimeout(SubTimer);
		}
	}
	else
	{
		hMenu = document.getElementById(ActiveMenu);
		ActiveMenu = null;
		
		if (hMenu != null)
		{
			hMenu.style.display = 'none';
			clearTimeout(Timer);
		}
	}
}
