$(document).ready(
	function()
	{
		
		// HACK, select first submenu item
		$("#menu > li.current_page_item > ul > li:first").addClass("current_page_item");
		
		setMenuItemsIndex();	
		
		setMenuLocation(false);
		setSubMenuLocation(false);
		
		
		$("#menu > li").click( function(event) {
			//event.preventDefault();
			//a = 0;
			
			/*
			if($(this + " > lu > li").length > 0) {
				window.location.href = $("#menu > li > lu > li.eq(0) a").attr("href");
			}
			*/
			var href = $(this).children("ul > li a").attr("href");
			if(href) {
				
				window.location.href = href;
			}
				
			$("#menu > li").removeClass("current_page_item");
			$(this).addClass("current_page_item");
			setMenuLocation(true);
			
		});
		
		$("#menu > li > ul > li").click( function() {
			$("#menu > li > ul > li").removeClass("current_page_item");
			$(this).addClass("current_page_item");
			setSubMenuLocation(true);
		});
		
		/* IE HACK: makes sure that the menu looks as much as possible like "the real thing" */
		
		if($.browser.msie && $.browser.version == "6.0") {
		
		     $("#footer").attr("class", "tester");
			
		     $("#menu > li").addClass("IE_menu_item");
		     $("#menu > ul").addClass("IE_menu_item");
		     $("#menu > li a").addClass("IE_menu_item_link");
		     $("#menu > ul a").addClass("IE_menu_item_link");
		     
		     $("#menu > .current_page_parent").addClass( "IE_current_item");
		     $("#menu > .current_page_item").addClass("IE_current_item");
		     
		     $("#menu > li > ul").addClass("IE_sub_menu");
		     $("#menu .current_page_parent > *").addClass("IE_current_item_child");
		     $("#menu .current_page_item > *").addClass("IE_current_item_child");
		     $("#menu > li > ul > li").addClass("IE_sub_menu_item");
		     $("#menu > li > ul > .current_page_item").addClass("IE_current_sub_item");

		}
		

	}
);


function setMenuItemsIndex() 
{
	
	var no_of_menu_items = $("#menu > li").length;
		for(var i=0; i < no_of_menu_items; i++)
		{
			$("#menu > li").eq(i).css("z-index", no_of_menu_items - i);
		}
		
		var no_of_sub_menus = $("#menu > li > ul").length;	
		
		for(var j=0; j < no_of_sub_menus; j++) {
			
			var no_of_sub_menu_items = $("#menu > li > ul:eq("+j+") > li").length;
	
			for(var k=0; k < no_of_sub_menu_items; k++) {
				$("#menu > li > ul:eq(" +j+ ") > li:eq(" +k+ ")" ).css("z-index", no_of_sub_menu_items-k);
			}
	}	
				
}


function setMenuLocation(doAnimate) 
{
		
	var menu_items = $("#menu > li");
	var selected_index = 0;
	for(var i=0; i < menu_items.length; i++)
	{
		var isSelected = $("#menu > li").eq(i).hasClass("current_page_item") || 
						 $("#menu > li").eq(i).hasClass("current_page_parent");;
		if(isSelected)
			selected_index = i;
	}
	var menu_margin_top = -(selected_index - menu_items.length+1) * 14 + 14;
	
	if(doAnimate)
		$("#menu").animate({ marginTop: menu_margin_top + "px" }, 300);
	else
		
		$("#menu").css("margin-top", menu_margin_top + "px");
}


function setSubMenuLocation(doAnimate) 
{
	var selected_sub_menu = $("#menu > .current_page_parent > ul");
	var sub_menu_items = $("#menu > .current_page_parent > ul > li");
	var selected_index = 0;
	
	for(var i=0; i < sub_menu_items.length; i++)
	{
		var isSelected = $("#menu > .current_page_parent > ul > li:eq("+i+")").hasClass("current_page_item");
		if(isSelected)
			selected_index = i;
	}
	var sub_menu_top = - (selected_index) * 14 + 10;
	
	if(doAnimate)
		$("#menu > .current_page_parent > ul").animate({ top: sub_menu_top + "px" }, 300);
	else
		$("#menu > .current_page_parent > ul").css("top", sub_menu_top + "px");
}

		
