var timeout = 300;
var opendMenu = 0;
var menuTimer = 0;
var opendSubMenu = 0;
var subMenuTimer = 0;

//------------------------- menu Functions -------------------------------

function openMenu(id)
{ 
	// cancel close timer
	cancelMenuClosure();

	// close old layer
	if(opendMenu)
		opendMenu.style.visibility = 'hidden';
	
	// get new layer and show it
	opendMenu = document.getElementById(id);
	opendMenu.style.visibility = 'visible';

}
function closeMenu()
{
	if(opendMenu)
		opendMenu.style.visibility = 'hidden';
}
function scheduleMenuClosure()
{
	menuTimer = window.setTimeout(closeMenu, timeout);
}
function cancelMenuClosure()
{
	if(menuTimer)
	{
		window.clearTimeout(menuTimer);
		menuTimer = null;
	}
}
//-------------------------- Sub-menu Functions ---------------------------
function openSubMenu(id)
{
	// cancel close timer
	cancelSubMenuClosure();

	// close old layer
	if(opendSubMenu)
		opendSubMenu.style.visibility = 'hidden';
	
	// get new layer and show it
	opendSubMenu = document.getElementById(id);
	opendSubMenu.style.visibility = 'visible';

}
function closeSubMenu()
{
	if(opendSubMenu)
		opendSubMenu.style.visibility = 'hidden';
}
function scheduleSubMenuClosure()
{
	subMenuTimer = window.setTimeout(closeSubMenu, timeout);
}
function cancelSubMenuClosure()
{
	if(subMenuTimer)
	{
		window.clearTimeout(subMenuTimer);
		subMenuTimer = null;
	}
}
//--------------------------- Misc Functions ---------------------------------
function addMenuItem(menuID, text, url)
{
	var m;
	var a;
	
	m = document.getElementById(menuID);
	a = document.createElement('a');
	a.innerHTML = text;
	a.href = url;
	m.appendChild(a);
}


