var currentMenu = null;



function menuMouseOver( e )
{
	var target = findTarget(e);
	if( target.className.indexOf('Sub') == -1 && target.className.indexOf('sub') == -1)
	{
	  menuMouseOut( currentMenu );
	
		if( target.style )
		{
			turnOnMenu( target );
			hideSubMenus( target );
		}
		showSubMenu( target );
		currentMenu = target;
	}
}



function turnOnMenu( target )
{
	if( target.style )
	{
		switch( target.className )
		{
			case 'homeMenu':
				target.style.background = '#00285D';
				break;
			case 'greenspaceMenu':
				target.style.background = '#33CC00';
				break;
			case 'managementSystemsMenu':
				target.style.background = '#879C9D';
				break;
			case 'carbonManagerMenu':
				target.style.background = '#33CCCC';
				break;
			case 'legalregisterMenu':
				target.style.background = '#33CC00';
				break;
			case 'aspectregisterMenu':
				target.style.background = '#00285D';
				break;
			case 'serviceLevelsMenu':
				target.style.background = '#D06516';
				break;
			case 'aboutUsMenu':
				target.style.background = '#33CCCC';
				break;
			case 'clientTestimonialsMenu':
				target.style.background = '#5278AF';
				break;
			case 'contactUsMenu':
				target.style.background = '#94929C';
				break;
		}
		target.style.color = '#FFFFFF';
	}
}



function menuMouseOut( target )
{	
	if( target != null )
	{
		if( target.id != 'navOn' && target.style && ( ' ' + target.className + ' ' ).indexOf(' sub ') == -1 && ( ' ' + target.className + ' ' ).indexOf(' Sub ') == -1 )
		{
			target.style.background = 'transparent';
			target.style.color = '#777777';
		}
	}
}



function showSubMenu( target )
{
	if( target.parentNode.childNodes.length != 1)
	{
		subMenus = target.parentNode.childNodes;
		for( var i=0; i<subMenus.length; i++ )
		{
			if( subMenus[i].nodeName.toLowerCase() == 'ul' )
			{
				subMenu = subMenus[i];
				
				parentMenu = subMenus;
				menuLeft = findPosition( parentMenu[0] )[0];
				
				subMenu.style.display = 'block';
				subMenu.style.left = menuLeft;
			}
		}
	}
}



function hideSubMenus( target )
{
	var ul_items = document.getElementsByTagName( 'ul' );
	
	for( var i=0; i<ul_items.length; i++ )
	{
		subMenu = ul_items[ i ];
		if( subMenu.className &&  subMenu.className=='subnav' &&  subMenu.className!='subnavitem' )
		{
			subMenu.style.display = 'none';
		}
	}
}

function clearMenus(e)
{
	var li_items = document.getElementsByTagName( 'li' );
	var ul_items = document.getElementsByTagName( 'ul' );
	var target;
	
	for( var i=0; i<li_items.length; i++ )
	{
		nav_items = li_items[ i ];
		if( nav_items.className && nav_items.className=='navItem' )
		{
			menu_items = nav_items.childNodes;
			for( var j=0; j<menu_items.length; j++)
			{
				menu_item = menu_items[j]
				if( menu_item.nodeName.toLowerCase() == 'a' )
				{
					if( menu_item.id != 'navOn' )
					{
						if( nav_items.className=='navItem' )
						{
							menu_item.style.background = 'transparent';
							menu_item.style.color = '#777777';
						}
						else if( nav_items.className=='subnavItem' )
						{
							menu_item.style.display = 'none';
						}
					}
				}
			}
		}
	}
	hideSubMenus(e);
}

/**
 * Add menu listeners
 */
function addMenuListeners(e)
{
	// ADD MENU LISTENERS
	var ul_items = document.getElementsByTagName( 'ul' );
	var li_items = document.getElementsByTagName( 'li' );
	var div_items = document.getElementsByTagName( 'div' );
	
	for( var i=0; i<ul_items.length; i++ )
	{
		menu = ul_items[ i ];
		if( menu.className && ( ' ' + menu.className + ' ' ).indexOf(' nav ') != -1 )
		{
			addEvent( menu, 'mouseout', menuMouseOut, false );	
		}
	}
	
	for( var i=0; i<li_items.length; i++ )
	{
		menu_item = li_items[ i ];
		if( menu_item.className && ( menu_item.className=='navItem' ) )
		{
			addEvent( menu_item, 'mouseover', menuMouseOver, false );
		}
	}
	
	for( var i=0; i<div_items.length; i++ )
	{
		divs = div_items[ i ];
		if( divs.id && divs.id=='content' )
		{
			addEvent( divs, 'mouseover', clearMenus, false );	
		}
	}
	
	if( document.getElementById('navOn') )
	{
		turnOnMenu( document.getElementById('navOn') );
	}
}