$(document).ready(function(){

	$nav = $("#navigationlevel2");
	$level1 = $("#navigationlevel2 > ul > li");
	$level2 = $("ul ul > li ", $nav);
	$level3 = $("ul ul ul > li", $nav);
	
	$level1.slice(4).addClass("subnavright");	

	var menuchange_ok = true;
	$level1.click(function(ev) { 

		var $this = $(this);
		var org_target = ev.srcElement || ev.originalTarget;

		if($(org_target).not('.level1')){
			menuchange_ok = true;
		}

		if($this.hasClass('active')){
			menuchange_ok = false;
		}

		if(menuchange_ok){
			$('.active', $nav).removeClass("active");
			$('.subnav', $level1).hide();
			$("#navigationlevel2 > ul > li.level1 > a").addClass('active');
					 
			if ($(".subnav",$this).length <= 0) { 
				return true;
			} else {
				$this.addClass("active");
				$(".subnav",$this).fadeIn("fast");
				return false;
			}
		}else{
			return false;
		}
	});
	
	
	$(".subnav .level2 > a").click(function(e) { 
		var $this = $(this).parent();
		$(".nav4").hide();
			
		if ($(".nav4 li",$this).length <= 0) { 
			e.stopPropagation();
		} else {
			$(".nav4",$this).show();
			
			//resize parent div.subnav 
			var newHeight = $('div.nav4', $this).height();
			if(newHeight<170) newHeight=170;
			$($this).parent().css('height', newHeight+'px');
			
			$('a', '.subnav').removeClass("active2");
			$this.children('a').addClass("active2");
			return false;
		}
	});
	
	$(".subnav .level3 a").click(function() { 
		$('a', '.nav4').removeClass("active2");
		$(this).addClass("active2");		
	});
	
	$(".subnav .nav4 a").click(function(e) { 
		e.stopPropagation();
	});
	
	var out = function() {	
		$t= $('.subnav', $(this));
		$t.fadeOut("fast"); //When the mouse hovers out of the subnav, close it
		$(this).find('.active').removeClass("active");
	};
	
	$('#navigationlevel2').hoverIntent({
		sensitivity: 1, // number = sensitivity threshold (must be 1 or higher)
		interval: 100,   // number = milliseconds of polling interval
		timeout: 300,   // number = milliseconds delay before onMouseOut function call
		over: function() {},  // function = onMouseOver callback (required)
		out: out    // function = onMouseOut callback (required)
	});

	
	$(".close").click(function() {
		var $this = $(this);
		$this.parent('.subnav').fadeOut("fast");
		$this.parent('ul').find('li').removeClass("active");
		$('.level1', '#navigationlevel2').removeClass("active");
		return false;
	})

});

