
var menuTimer;
var menuToHide;
var menuDirection;

function showMenu(index)
{
	if (menuToHide) doHideMenu();
	var m = findObj("menu" + index);
	var s = findObj("submenu" + index);
	if (!m || !s) return;
	if (s.style.visibility == "visible") return;
	var mp = m.style.position;
	if (document.all) m.style.position = "absolute";
	s.style.position = "absolute";
	if (!menuDirection)
		menuDirection = getDirection(m);
	if (menuDirection == "rtl")
		s.style.left = m.offsetLeft + m.offsetWidth - s.offsetWidth + 10 + "px";
	else
		s.style.left = m.offsetLeft - 10 + "px";
	s.style.top = m.offsetTop + m.offsetHeight + "px";
	s.style.visibility = "visible";
	s.onmouseover = function(){clearInterval(menuTimer);};
	s.onmouseout = function() {hideMenu(index);};
	s.onmouseup = function() {doHideMenu();};
	m.onmouseup = function() {if (menuToHide) doHideMenu();};
	m.className = "active";
	m.style.position = mp;
}

function hideMenu(index)
{
	var m = findObj("menu" + index);
	var s = findObj("submenu" + index);
	if (!m || !s) return;
	menuToHide = {m:m, s:s};
	clearInterval(menuTimer);
	menuTimer = setInterval(doHideMenu, 2000);
}

function doHideMenu()
{
	menuToHide.m.className = "";
	menuToHide.s.style.visibility = "hidden";
	menuToHide = null;
	clearInterval(menuTimer);
}

function getDirection(node)
{
	while (node && !node.dir && !node.style.direction) {
		node = node.parentNode;
	}
	if (node.dir)
		return node.dir;
	else if (node.style.direction)
		return node.style.direction;
	else
		return "ltr";
}
