//
// Copyright (c) 2004-2007 - Dennis van der Laan
//

var currMenu = null;
var timeoutHideId;
var timeoutShowId;
var contElm = null;
var timeout = 300;

function showContainer(menu)
{
	if (timeoutHideId) clearTimeout(timeoutHideId);
	if (timeoutShowId) clearTimeout(timeoutShowId);
	timeoutHideId = null;
	timeoutShowId = null;
	
	if (currMenu && currMenu != menu)
	{
		reallyHideMenu();
		currMenu = menu;
		reallyShowMenu();
	}
	else if (!currMenu)
	{
		currMenu = menu;
		timeoutShowId = setTimeout('reallyShowMenu()', timeout);
	}
}

function reallyShowMenu()
{
	// currMenu points to the parent (containing) element. We can use
	// computed position info to position the submenu, or use CSS, or both...
	
	var offsetPinpoint = currMenu.offsetWidth;
	// alert(offsetPinpoint);
	var submenuName = 'sub'+currMenu.id;
	var submenu = document.getElementById(submenuName);
	if (submenu) 
	{
		submenu.style.left = (offsetPinpoint+25) + 'px';
		submenu.style.visibility = 'visible';
	}
	timeoutShowId = null;
}

function hideContainer(menu)
{
	if (!timeoutShowId)
	{
		timeoutHideId = setTimeout('reallyHideMenu()', timeout);
		currMenu = menu;
	}
	else
	{
		clearTimeout(timeoutShowId);
		timeoutShowId = null;
		currMenu = null;
	}
}

function reallyHideMenu()
{
	var submenuName = 'sub'+currMenu.id;
	var submenu = document.getElementById(submenuName);
	if (submenu)
	{
		submenu.style.visibility = 'hidden';
	}
	timeoutHideId = null;
	currMenu = null;
}