/**
* Copyright Media Suite 2008
* @license Commercial
* @version 1.1
*/

Event.observe(window,'load',function(){
	
	window.geminiMenu = {};
	
	window.geminiMenu.switchMenus = function(menuEl, action)
	{		
		if (menuEl == null){return;} // can occur if user goes straight to a sub menu
		menuEl = $(menuEl);
		if (action == 'restore' && window.geminiMenu.overNav == true){ return;} // mousing over a submenu, we dont want to restore menus
		if ($(menuEl).hasClassName('gemini-menuitem')) // only change when we are over a main menu item (and not its container)
		{
			// start all submenus off with a clean slate
			$$('.gemini-submenu').each(function(elementId)
			{
				$(elementId).removeClassName('selected');
			});
			
			$$('.gemini-menuitem').each(function(elementId)
			{
				$(elementId).removeClassName('selected');	
			});
			$(menuEl).addClassName('selected');
			if (typeof(menuEl.rel) != 'undefined' && menuEl.rel != '')
			{
				$(menuEl.rel).addClassName('selected');
			}
			else
			{
				
				menuEl.select('.gemini-submenu').each(function(el){
				
					el.addClassName('selected');
				});
			}
		}
		return false;
	}
	
	
	window.geminiMenu.mainNav = $$('.gemini-navigation')[0];  // container 
	window.geminiMenu.mainMenu = $$('.gemini-mainnavigation')[0]; // main section menu	
	window.geminiMenu.subNav = $$('.gemini-subnavigation')[0];
	
	
	$$(".gemini-menuitem").each(function(node){
		if (node.hasClassName('selected'))
		{
			window.geminiMenu.defaultMenu = node;
		}
	});
	
	Event.observe(window.geminiMenu.mainNav,'mouseover', function(event){ window.geminiMenu.overNav = true;});
	Event.observe(window.geminiMenu.mainNav,'mouseout', function(event)
	{ 
		var mouseX = Event.pointerX(event);
		var mouseY = Event.pointerY(event);
	
		if (! Position.within(window.geminiMenu.mainNav, mouseX, mouseY) )
		{
			window.geminiMenu.overNav = false;
			window.geminiMenu.switchMenus(window.geminiMenu.defaultMenu, 'restore'); 
		}
	});
	
	window.geminiMenu.mainMenuMouseOut = function(event)
	{	
		var mouseX = Event.pointerX(event);
		var mouseY = Event.pointerY(event);
		
		if (! Position.within(window.geminiMenu.mainNav, mouseX, mouseY) && ! Position.within(window.geminiMenu.subNav, mouseX, mouseY))
		{
			window.geminiMenu.switchMenus(Event.element(event), 'restore'); 
		}
	}
	
	Event.observe(window.geminiMenu.mainMenu,'mouseover', function(event){window.geminiMenu.switchMenus(Event.element(event), 'show'); });
	Event.observe(window.geminiMenu.mainMenu,'mouseout', window.geminiMenu.mainMenuMouseOut);
	
	window.geminiMenu.mainMenu.childElements().each(function(el){
		Event.observe(el, 'mouseover', function(event){
			window.geminiMenu.switchMenus(Event.element(event).ancestors()[0], 'show');
		});
		
		Event.observe(el, 'mouseout', window.geminiMenu.mainMenuMouseOut);
	});
//.selected UL{display: inline !important;}
	window.geminiMenu.switchMenus(window.geminiMenu.defaultMenu, 'restore'); 
});