//STATES : 
//	0: Neutral, nothing is displayed
//	1: Delay, waiting before printing the menu to avoid flapping
//	2: Displaying, displaying for the first time
//	3: Displayed with mouse on menu
//	4: Displayed with mouse on submenu
//	5: Waiting a delay before closing (if mouse was accidentally gone outside)
//	6: Removing (fading out) the menu OBSOLETE
var t_state1=300
var t_state5=1500
var state5_timer=null
var state1_timer=null
var t_fadein=1000
var t_fadeout=t_fadein
var t_fastfade=200
var actual_menu=null
function set_state(state){
	$("#menu_top_sub_displayer").attr("state",state)
//	$("#page_content").html("State is : "+state+"<br />");
}
function get_state(){
	state=$("#menu_top_sub_displayer").attr("state")
	if (state==undefined) {
		state="0"
		set_state("0")
	}
	return state
}
function toggle_menus(menu){
	actual_menu=menu;
	submenu_fadeout(t_fastfade,function(){submenu_fadein(menu,t_fastfade);})
	//submenu_fadein(menu,t_fastfade)
}
function submenu(menu,signal){
	$(menu).unbind()
	$(menu).mouseleave(function(){submenu(menu,"out")})
	state=get_state()
	switch(state){
		case "0":
//			$("#page_content").append("Signal is : "+signal+"<br />");
			if (signal=="in"){
				set_state("1")
				state1_timer=setTimeout(function(){submenu(menu,"timed")},t_state1)
			}
			break;
		case "1":
			if (signal=="out"){
				set_state("0")
				clearTimeout(state1_timer)
			}else if (signal=="timed"){
				set_state("2")
				submenu(menu,"in")
			}
			break;
		case "2":
                        if (signal=="out"){
                                set_state("5")
				state5_timer=setTimeout(function(){submenu(menu,"timed")},t_state5)
                        }else if (signal=="in"){
                                set_state("3")
                                submenu_fadein(menu)
                        }
			break;
		case "3":
		case "4":
//			$("#page_content").append("Signal is : "+signal+"<br />");
                        if (signal=="out"){
                                set_state("5")
                                state5_timer=setTimeout(function(){submenu(menu,"timed")},t_state5)
                        }else if (signal=="in" && actual_menu!=menu){
				toggle_menus(menu);
                        }
			break;
		case "5":
                        if (signal=="timed"){
                                set_state("0")
				submenu_fadeout()
                        }else if (signal=="in"){
                                set_state("3")
				clearTimeout(state5_timer)
				submenu(menu,signal)
                        }
			break;
	}
}
function submenu_fadein(menu,time){
	actual_menu=menu
	if (time==null){time=t_fadein;}
	content=false
	for (var i=0;i<menu.childNodes.length;i++){
		if (menu.childNodes[i].className=="menu_top_sub_hidden_content"){
			content=menu.childNodes[i]
			break;
		}
	}
	if (!content) return
	for (var i=0;i<content.childNodes.length;i++){
		if (content.childNodes[i].className=="menu_top_sub_content"){
			content=content.childNodes[i]
			break;
		}
	}
	if (!content) return
	new_content=$(content).clone()
	$(new_content).attr("id","menu_top_sub_displayer_content")
	$(new_content).appendTo($("#menu_top_sub_displayer"))
	$("#menu_top_sub_displayer").unbind()
	$("#menu_top_sub_displayer").mouseleave(function(){submenu(menu,"out")})
	$("#menu_top_sub_displayer").mouseenter(function(){submenu(menu,"in")})
	$("#menu_top_sub_displayer").fadeIn(time);
	$("#menu_top_sub_displayer_back").fadeIn(time);
}
function submenu_fadeout(time,callback){
	if (time==null){time=t_fadeout}
	delete_submenu(time,callback)
}
function empty_submenu(){
	$("#menu_top_sub_displayer_content").remove()
}
function delete_submenu(time,callback){
	$("#menu_top_sub_displayer_back").fadeOut(time)
	$("#menu_top_sub_displayer").fadeOut(time,function(){empty_submenu();try{callback();}catch(e){}})
}

function display_overlay(address){
	fadeIn=1000
	fadeOut=2000
	fadeOccupied=200
	main_overlay=document.getElementById("main_overlay")
	used=($(main_overlay).attr("used")=="1")
	fading=($(main_overlay).attr("fading")=="1")
	main_overlay.setAttribute("used","1")
	if (used){
		$("#main_overlay").fadeOut(fadeOccupied);
	}	

	//SET CONTENT
	content=document.getElementById("main_overlay_content")
	$(content).html('<div style="margin-top: 150px; text-align: center;"><img src="fileadmin/templates/css/images/loading_small.gif" /><br/>Chargement du contenu, merci de patienter...</div>');
	$.ajax({
	  url: address,
	  success: function(data) {
	    $(content).html(data);
	  }
	});

	main_overlay.setAttribute("fading","1")
	fadeDelay=used?fadeOccupied:fadeIn
	$("#main_overlay").fadeIn(fadeDelay,function(){main_overlay.setAttribute("fading","0")});
	$("#page_content_style").mouseleave(function(event){
			main_overlay.setAttribute("fading","1")
			 $("#main_overlay").fadeOut(fadeOut,function(){main_overlay.setAttribute("fading","0"); main_overlay.setAttribute("used","0")});
	});

}

function back_image_wave_in(){
	$("#zen_wrapper").fadeIn(10000,function(){back_image_wave_out()});
}
function back_image_wave_out(){
	$("#zen_wrapper").fadeOut(10000,function(){back_image_wave_in()});
}



function header_dynamic_images_init(){
	//get image names
	names=$("#header_dynamic_images").attr("names")
	names=names.split(",")
	var new_div=null
	for (var i=0; i<names.length; i++){
		new_div=$("#header_dynamic_image_template").clone()
		$(new_div).css('background-image',"url('"+names[i]+"')")
		new_div.appendTo($("#header_dynamic_images"));
	}
	$("#header_dynamic_image_template").remove()
	header_dynamic_images_fader(10000)
	//create 2 div with class header_dynamic_image	
}

function header_dynamic_images_fader(time){
	//get front image
	//fade front image
	$("#header_dynamic_images div:last-child").fadeOut(time,function(){
		$("#header_dynamic_images div:last-child").css('display','block')
		$("#header_dynamic_images div:last-child").detach().prependTo($("#header_dynamic_images"))
		header_dynamic_images_fader(time)
		//bring front image to back and set display to block
	})
}

