$(document).ready(
	function(){
		initMenu($("#navigation"));
	}
)

var _navItemToClose = null;
var _navTimeoutId;
var _navIsOpen;

function isOpen(item){
	_navIsOpen = item;
}

function _navCloseIfOff(itemToClose){
	_navItemToClose = itemToClose;
	_navTimeoutId = setTimeout("_navCloseNow()", 10);
	//_navCloseNow()
	
}

/**
function cancelClose(newItemOver){
	if(newItemOver == null || _navItemToClose == null){
		return;	
	}
	
	if(newItemOver.html() == _navItemToClose.html()){
		return;
	}
	clearTimeout(_navTimeoutId);
	_navItemToClose = null;
}
**/

function _navCloseNow(){
	if(!_navItemToClose){
		return;	
	}
	
	//alert("ONE" + _navIsOpen.html() + "/n/r/n/r/n/r" + "TWP" + _navItemToClose.html());
	if(_navIsOpen.html() == _navItemToClose.html()){
		return;
	}
	_navItemToClose.children("UL").hide();
	_navItemToClose = null;
	
}



var lastCaller;
var _navTimeoutId;

function elementContains(parent, child){
	var parents = child.parents();
	//alert(parents[0] + ":" +  child[0]);
	for(var i=0;i<parents.length;i++){
		
		if(parents[i] == parent[0]){
			return true;	
		}
	}
	return false;
}


function setActive(activeItem){
	


	if(activeItem && lastCaller){
		
		//$("#out").append(activeItem.children("A").html() + "<BR>");
		//$("#out").scrollTop(100000);	
		if(elementContains(activeItem, lastCaller)){
			lastCaller = activeItem;
			//$("#out").append("skipped<BR>");
			return;	
		}
		
	}else{
		lastCaller = activeItem;	
	}
	
	//$("#out").append("called<BR>");
	
	$("#navigation").find("UL").removeClass("active").addClass("inactive");
	$("#navigation").find("LI").removeClass("active").addClass("inactive");
	$("#navigation").find("A").removeClass("active").addClass("inactive");
	
	if(activeItem){
		activeItem.removeClass("inactive").addClass("active");
		activeItem.children("UL").removeClass("inactive").addClass("active");
		activeItem.parents("UL").removeClass("inactive").addClass("active");
		activeItem.parents("LI").removeClass("inactive").addClass("active");
		
		$("#navigation").find("LI.active").children("A").removeClass("inactive").addClass("active");
		
	}
	updateNav();
	
}

function updateNav(){
	$("#navigation").find("UL.inactive").hide();
	$("#navigation").find("UL.active").show();
}

function initMenu(navigation){
	
	//_navTimeoutId = setInterval("updateNav()", 100);
	
	$("#navigation LI UL").parent().addClass("hasMenu");
	
	$("#navigation > LI").mouseover(
		function(){
			setActive($(this));

			var pos = $(this).position();
			$(this).children("UL").css("left", pos.left);
		}
	)
	
	$("#navigation > LI").mouseout(
		function(){
			setActive();
		}
	)
	
	
	$("#navigation UL.secondary LI").mouseover(
		function(){
			setActive($(this));

			var pos = $(this).position();
			var width = $(this).width();
			var child = $(this).children("UL");
	
			var elementHeight = 33;
			$(this).children("UL").css("left", pos.left+190);
			//$(this).children("UL").css("top", pos.top-50);
			
			
			var height = child.children().length*elementHeight;
			var thisY = $(this).index()*elementHeight;
			//alert(thisY);
			//var natrualTop = -(height/2);
			var natrualTop = -(height/2)+thisY;
			
			//alert(height + ":" + natrualTop + ":" + 
			if(height > 400){
				//child.css("bottom", -30);
				child.css("bottom", 0);
			}else{
				child.css("top", natrualTop);
			}
			
			

		}
	)
	
	/**
	$("#navigation UL.tertiary LI").mouseover(
		function(){
			setActive($(this));
	
		}
	)
	**/
	
	$("#navigation UL.secondary LI").mouseout(
		function(){
			//setActive();
		}
	)
	
}
