var activeElement;
var theTimeout = new Array();
var menuObj;

window.onload = init;

function init ()
{
	menuObj = $$('div#main div#navigation ul li.hasChilds');
	for (var i = 0; i < menuObj.length; i++)
	{
		menuObj[i].observe ("mouseover", menuMouseOver, false);
		menuObj[i].observe ("mouseout", menuMouseOut, false); 
	}
	
	menuObjWithoutChilds = $$('div#main div#navigation ul li.noChilds');
	for (var i = 0; i < menuObjWithoutChilds.length; i++)
	{
		menuObjWithoutChilds[i].observe ("mouseover", hideAll, false);
	}
}

function hideAll ()
{
	for (var i = 0; i < menuObj.length; i++)
	{
		if (menuObj[i].hasClassName('hover'))
		{
			menuObj[i].removeClassName ('hover');
			menuObj[i].removeClassName ('lasthover');
			menuObj[i].addClassName ('hasChilds');
		}
	}	
}

function menuMouseOver (event)
{
	hideAll();
	
	activeElement = this;
	
	this.removeClassName ('hasChilds');
	if(this.hasClassName('last') || this.hasClassName('lastactive')) this.addClassName('lasthover');
	this.addClassName ('hover');
	
	clearTimeout(theTimeout);
}

function menuMouseOut (event)
{
	var element = event.element();
	
	theTimeout = setTimeout (function () {
		activeElement.removeClassName ('hover');
		activeElement.removeClassName ('lasthover');
		activeElement.addClassName ('hasChilds');	
	}, 400);
}