var activeHeader = null;
var activeMenu = null;
var menuPos = 0;

//Set relative menu location
function setMenuPos(pos)
{
menuPos = pos;
hideMenu();
}

//Pop out the current menu
function setMenu(menuHeaderID,menuID)
{
var top = 0;
var left = 0;
var currentEle;

if(document.all)
	{
	if(activeHeader != null && activeMenu != null)
		{
		if(activeMenu.style.visibility != 'hidden')
			{
			activeMenu.style.visibility = 'hidden';
			}
		}

	activeHeader = eval("document.all('" + menuHeaderID + "');");
	activeMenu = eval("document.all('" + menuID + "');");
	currentEle = activeHeader;

	//Find the top and left of header and its parent elements
	while(currentEle.tagName.toLowerCase() != 'body')
		{
		top += currentEle.offsetTop;
		left += currentEle.offsetLeft;
		currentEle = currentEle.offsetParent;
		}

	//Add the width of the header, and width of extra image.
	if (menuPos == 1)
		{
		left += 1;
		top += (activeHeader.offsetHeight + 0);
		}
	else
		{
		left += (activeHeader.offsetWidth - 24);
		top += 0;
		}

	//alert (left + "\n" + top);
	activeMenu.style.left = left;
	activeMenu.style.top = top;

	activeMenu.style.visibility = 'visible';
	event.cancelBubble = true;
	}
}

//Hide the current menu and reset vars if the moved to
// element is not contained within the menu.
function hideMenu()
{
if(document.all)
	{
	if(activeHeader != null && activeMenu != null)
		{
		//Check if the "moved to" element is not contained within activeMenu.
		if(!activeMenu.contains(event.toElement)) 
			{
			activeMenu.style.visibility = 'hidden';
			activeHeader = null;
			activeMenu = null;
			}
		}
	}
}
