// JavaScript Document
var activeMenu;
var element;
var target;
var subMenuTimer;
var subMenuOverride;
var subMenuActive;

// When the document loads do everything inside here ...
$(document).ready(function(){
	subMenuOverride = false;
	subMenuActive = false;
	
	defaultMenu = $('.currentMenu').attr('id');
	if(defaultMenu !== undefined)
		defaultMenu = defaultMenu.split('-');
	//alert(defaultMenu[0]);
	
	$('#mainMenuItems li a').hoverIntent({
		interval: 150, // milliseconds delay before onMouseOver
		over: dropsShow, 
		timeout: 500, // milliseconds delay before onMouseOut
		out: dropsHide
	});//close mouseover(
	
	$('#subMenu').hoverIntent({
		interval: 0, // milliseconds delay before onMouseOver
		over: subMenuMouseOver, 
		timeout: 500, // milliseconds delay before onMouseOut
		out: subMenuMouseOut
	});//close mouseover(


}); //close $(

function subMenuMouseOver() {
	subMenuActive = true;
}
function subMenuMouseOut() {
	subMenuActive = false;
	hideMenu();
}

function dropsShow() {
	element = $(this).parent().attr('id');
	target = element.split('-');

	// Clear timer if target submenu already showing
	if(target[0] == activeMenu)
	{
		if(subMenuActive) {
			subMenuOverride = true;
		}
	} else {
		// If target element has a submenu
		if($('#' + target[0]).length)
		{
			$('#subMenu').show();
			// Hide the default menu if set
			if(defaultMenu !== undefined)
				$('#' + defaultMenu[0]).hide();
				
			$('#' + activeMenu).hide();
			$('#' + target[0]).show();				
			subMenuDown = true;
			activeMenu = target[0];					// Update the active menu
			
			if(subMenuActive) {
				subMenuOverride = true;
			}
		} else {
			//Immediately remove submenu if previous submenu still showing
			hideMenu();
		}
	}
}

function dropsHide() {
	element = $(this).parent().attr('id');
	target = element.split('-');	
	if(target[0] == activeMenu)
	{
		hideMenu();
	}	
}


function hideMenu() {
	if(!subMenuActive && !subMenuOverride) {
		if(defaultMenu !== undefined) {
			$('#' + activeMenu).hide();
			$('#' + defaultMenu[0]).show();
			activeMenu = defaultMenu[0];
		} else {
			$('#' + activeMenu).hide();
			$('#subMenu').hide();
			activeMenu = null;						// Clear the active menu
		}
	}
	
	subMenuOverride = false;					// Reset submenu override
}
