var menu_layer = 2;
var menu_time = 1300;
var menu_timeout = null;
var menu_current = [null,null];
var menu_active = [null,null];
var menu_classes = ["active","e2active"];

var menu_next_active = [null,null];
var menu_next_timeout = null;
var menu_next_time = 300;

function menu_mouseOver(){
	clearTimeout(menu_timeout);
}

function menu_mouseOut(){
	menu_timeout = setTimeout(
		function(){ 
			menu_clear_current();
			menu_show_active();
		}
		, menu_time
	);
}

function menu_mouseOverLink(){
	for(i=0;i<menu_layer;i++){
		menu_next_active[i] = $(this).data('container')[i];
	}
	menu_next_timeout = setTimeout(real_menu_mouseOverLink, menu_next_time);
}

function real_menu_mouseOverLink(){
	menu_clear_current();
	for(i=0;i<menu_layer;i++){
		menu_current[i] = menu_next_active[i];
	}
	menu_show_current();
}

function menu_mouseOutLink(){
	for(i=0;i<menu_layer;i++){
		menu_next_active[i] = null;
	}
	clearTimeout(menu_next_timeout);
}

function menu_show_active(){
	for(i=0;i<menu_layer;i++){
		if(menu_active[i]){
			$("#"+menu_active[i]).addClass(menu_classes[i]);
			menu_current[i] = menu_active[i];
		}
	}
}

function menu_clear_current(){
	for(i=0;i<menu_layer;i++){
		if(menu_current[i]){
			menu_deactivate($("#"+menu_current[i]),i);
			menu_current[i]=null;
		}
	}
}

function menu_show_current(){
	for(i=0;i<menu_layer;i++){
		if(menu_current[i]){
			menu_activate($("#"+menu_current[i]),i);
		}
	}
}

function menu_activate(elem,e){
	elem.addClass(menu_classes[e]);
}

function menu_deactivate(elem,e){
	elem.removeClass(menu_classes[e]);
}

$(document).ready(
	function(){
		$(".contentNaviContainer").bind('mouseenter',menu_mouseOver);
		$(".contentNaviContainer").bind('mouseleave',menu_mouseOut);
		
		var id_1 = 0;
		var id_2 = 0;
		$(".outer").children(".inner").each(
			function(){
				id_2 = 0;
				$(this).attr("id","menu_"+id_1);
				if($(this).hasClass("active")){ menu_current[0] = menu_active[0] = $(this).attr("id"); }
				$(this).children("a").data('container', ["menu_"+id_1]);
				$(this).children("a").data('layer', 0);
				$(this).children("a").bind('mouseenter',menu_mouseOverLink);
				$(this).children("a").bind('mouseleave',menu_mouseOutLink);
				
				//last is allways empty
				$(this).children(".ebene2container").children(".ebene2:not(:last)").each(
					function(){
						$(this).attr("id","menu_"+id_1+"_"+id_2);
						if($(this).hasClass("e2active")){ menu_current[1] = menu_active[1] = $(this).attr("id"); }
						$(this).children("a").data('container', ["menu_"+id_1,"menu_"+id_1+"_"+id_2]);
						$(this).children("a").data('layer', 1);
						$(this).children("a").bind('mouseenter',menu_mouseOverLink);
						$(this).children("a").bind('mouseleave',menu_mouseOutLink);
						
						id_2++;
					}
				);
				
				id_1++;
			}
		);
		$(".nojs").removeClass("nojs");
	}
);

