var lastHovered;
var lastHoveredMenu;

function hover(e,color)
{
	if (lastHovered) {
		lastHovered.style.backgroundColor = lastHovered.oldcolor;
		lastHovered = null;
	}
	
	if (color) {
		e.oldcolor = e.style.backgroundColor;
		e.style.backgroundColor = color;
		lastHovered = e;
	}
}


function fadeIn(id)
{
	e = document.getElementById(id);

	isShown = false;
	
	try {
		isShown = e.isShown;
	}
	catch(err) { }
	
	if (!isShown) {
		e.isShown = true;
		lastHoveredMenu = e;
		e.style.display = 'block';
		e.style.cursor = 'pointer';
		e.style.visibility = 'visible';
		//opacityTween = new OpacityTween(e,Tween.regluarEaseOut, 0, 100, 0.5);
		//opacityTween.start();
	}
}

function fadeOut(id)
{
	e = document.getElementById(id);

	isShown = false;
	try {	isShown = e.isShown; } catch(err) { }

	isLocked = false;
	try {	isLocked = e.isLocked; } catch(err) { }
	
	if (isShown && !isLocked) {
		e.isShown = false;

		e.style.display = 'none';
		e.style.visibility = 'hidden';
	}
}

function lockMenu(id, lock)
{
	e = document.getElementById(id);
	e.isLocked = lock;
}

function delayFadeOut(id)
{
	// try to fade out in a moment (give a chance for isLocked to get set)
	window.setTimeout('fadeOut(\'' + id + '\')', 300);
}

function unlockLastMenu()
{
	if (lastHoveredMenu) {
		lastHoveredMenu.isLocked = false;
		fadeOut(lastHoveredMenu.id);
	}
}