var currentMenuContainer = new Array();
var currentMenuRow = null;
var currentMenuFlag = false;

function offsetTopx(obj)
{
	var top = 0;
	for (; obj; obj=obj.offsetParent)
		top += obj.offsetTop;
	return top;
}

function offsetLeftx(obj)
{
	var left = 0;
	for (; obj && obj != document.body; obj=obj.offsetParent)
		left += obj.offsetLeft;
	return left;
}

function loadMenu(parentMenu)
{
	var menuContainer = document.getElementById("menuContainer" + parentMenu.id.substr(7));

	if (parentMenu.getAttribute("bgcolorOver"))
		parentMenu.style.backgroundColor = parentMenu.getAttribute("bgcolorOver");
	if (parentMenu.getAttribute("colorOver"))
		parentMenu.style.color = parentMenu.getAttribute("colorOver");

	if (currentMenuContainer.length)
		menuContainerOut(currentMenuContainer[currentMenuContainer.length-1]);

	if (menuContainer)
	{
		menuContainer.style.top = offsetTopx(parentMenu) + parentMenu.offsetHeight + 1;
		if (document.body.className == "rtl")
			menuContainer.style.left = offsetLeftx(parentMenu) + parentMenu.offsetWidth - menuContainer.offsetWidth + 2;
		else
			menuContainer.style.left = offsetLeftx(parentMenu) - 8;
		menuContainer.firstChild.style.width = "100%";
		menuContainer.style.visibility = "visible";
		currentMenuContainer[currentMenuContainer.length] = menuContainer;
	}
}

function menuContainerOut(menuContainer)
{
	var toHide = true;

	if (menuContainer)
	{
		if (menuContainer == currentMenuContainer[currentMenuContainer.length-1])
		{
			if (event && menuContainer.contains(event.toElement))
				toHide = false;
			else
			{
				if (event && currentMenuContainer[currentMenuContainer.length-1].contains(event.toElement))
					toHide = false;
			}

			if (toHide)
			{
				menuContainer.style.visibility = "hidden";
				currentMenuContainer.length--;
				if (currentMenuContainer.length)
					menuContainerOut(currentMenuContainer[currentMenuContainer.length-1]);
			}
		}
		else
		{
			menuContainerOut(currentMenuContainer[currentMenuContainer.length-1]);
		}
	}
}

function menuRowOver(menuRow)
{
	var menuContainer = document.getElementById("menuContainer" + menuRow.parentID);

	if (!menuContainer)
		menuContainer = menuRow;
	if (menuContainer.getAttribute("bgcolorOver"))
		menuRow.style.backgroundColor = menuContainer.getAttribute("bgcolorOver");
	if (menuContainer.getAttribute("colorOver"))
		menuRow.style.color = menuContainer.getAttribute("colorOver");
	currentMenuRow = menuRow;
	currentMenuFlag = false;
}

function menuRowOut(menuRow, isTop)
{
	var menuContainer = document.getElementById("menuContainer" + menuRow.parentID);

	if (!menuContainer)
		menuContainer = menuRow;
	if (menuContainer.getAttribute("bgcolorOver"))
		menuRow.style.backgroundColor = "";
	if (menuContainer.getAttribute("colorOver"))
		menuRow.style.color = "";
	if (isTop)
	{
		currentMenuFlag = true;
		setTimeout("clearMenu();", 1500);
	}
}

function clearMenu()
{
	if (currentMenuFlag == false)
		return;
	if (currentMenuContainer.length)
		menuContainerOut(currentMenuContainer[currentMenuContainer.length-1]);
}
