window.onload = initPrimNav;

var sNavigationId = "prim-nav-list";
var iTimeout = 10;
var sColorHighlighted = "#ff9900";
var sColorNotHighlighted = "";
var sColorNotHighlightedNormal = "#ffcc00";
var sColorNotHighlightedActive = "#ff9900";


for( var i = 0; i < 100; i++ )
{
    eval("var timeoutli" + i + " = false;");
}

function initPrimNav()
{
	var objPrimNav = document.getElementById(sNavigationId);
	var lis = objPrimNav.getElementsByTagName('li');
	
	var count = 0;
	for ( var i=0; i < lis.length; i++ ) {
	
		if ( lis.item(i).getElementsByTagName('ul').length > 0 ) {
			
			lis.item(i).getElementsByTagName('ul')[0].style.left = 9+191*count + "px";
			count++;
			
			addAnEvent(lis.item(i),'mouseover',showList);
			addAnEvent(lis.item(i),'mouseout',timeoutHide);
			addAnEvent(lis.item(i),'blur',timeoutHide);
			addAnEvent(lis.item(i),'focus',showList);

			lis.item(i).setAttribute( 'id', "li"+i );
		}
	}
}

function addAnEvent( target, eventName, functionName )
{
	eval('target.on'+eventName+'=functionName');
}

function showList()
{
	document.getElementById(this.id).firstChild.style.backgroundColor = sColorHighlighted;
	this.getElementsByTagName('ul')[0].style['display'] = 'block';
	eval ( "clearTimeout( timeout"+ this.id +");" );
	hideAllOtherLists( this );
}

function hideAllOtherLists( currentListItem )
{
	var ul = currentListItem.parentNode;
	
	for ( var i=0; i<ul.childNodes.length; i++ ) {
		if ( ul.childNodes[i].id && ul.childNodes[i].id != currentListItem.id ) {
			hideUListInsideLi( ul.childNodes[i] );
		}
	}
}

function hideUListInsideLi( li )
{
	var uls = li.getElementsByTagName('ul');
	for ( var i=0; i<uls.length; i++ ) {
		uls.item(i).style['display'] = 'none';
	}
}

function timeoutHide()
{
	eval( "timeout" + this.id + " = window.setTimeout('hideUlUnder( \"" + this.id + "\" )', " + iTimeout + " );");
}

function hideUlUnder( id )
{
	document.getElementById(id).getElementsByTagName('ul')[0].style['display'] = 'none';
	if( document.getElementById(id).firstChild.className == 'active' ) {
		sColorNotHighlighted = sColorNotHighlightedActive;
	} else {
		sColorNotHighlighted = sColorNotHighlightedNormal;
	}
	
	document.getElementById(id).firstChild.style.backgroundColor = sColorNotHighlighted;
	sColorNotHighlighted = sColorNotHighlightedNormal;
}
