//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
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=120
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")})
	$(menu).mouseenter(function(){submenu(menu,"in")})
	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
	content=$(".menu_top_sub_hidden_content",menu)
/*	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}
	content=$(".menu_top_sub_content",content)
/*	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);
        $(".menu_top_lighter_div",menu).fadeIn(time)

}
function submenu_fadeout(time,callback){
	if (time==null){time=t_fadeout}
	delete_submenu(time,callback)

}
function empty_submenu(){
	$("#menu_top_sub_displayer").empty()
}
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){}})
	$(".menu_top_lighter_div").fadeOut(time)
}

function display_overlay(address){
	fadeIn=1000
	fadeOut=2000
	fadeOccupied=200
	//main_overlay=document.getElementById("main_overlay")
	//main_overlay=$("#main_overlay")
	used=($("#main_overlay").attr("used")=="1")
	fading=($("#main_overlay").attr("fading")=="1")
	$("#main_overlay").attr("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").attr("fading","1")
	fadeDelay=used?fadeOccupied:fadeIn
	$("#main_overlay").fadeIn(fadeDelay,function(){$("#main_overlay").attr("fading","0")});
	$("#main_overlay_close").click(function(event){
                        $("#main_overlay").attr("fading","1")
                        $("#main_overlay").fadeOut(fadeOut,function(){$("#main_overlay").attr("fading","0"); 
                        $("#main_overlay").attr("used","0")});
        });
	/*$("#page_content_style").mouseleave(function(event){
			$("#main_overlay").attr("fading","1")
			$("#main_overlay").fadeOut(fadeOut,function(){$("#main_overlay").attr("fading","0"); 
			$("#main_overlay").attr("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()});
}


var top_shift=0
var left_shift=0
var fade_time=5000
var zoom_orig_width=803
var zoom_orig_height=110
var zoom_width_factor=1
var zoom_height_factor=1
var display_time=4000
var shift_time=fade_time+display_time+5000
function randInt(max){
        return Math.floor(Math.random()*(max+1))
}

function header_dynamic_images_init(){
	//get image names
	names=$("#header_dynamic_images").attr("names")
	names=names.split(",")
	try{
		var oldnames=names
		var newnames= new Array()
		var index=null
		while (oldnames.length>0){
			index=randInt(oldnames.length-1)
			newnames.push(oldnames[index])
			oldnames.splice(index,1)
		}
		names=newnames
		
	}catch (e){alert(e)}
	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).attr('src',names[i])
		$(new_div).css('top','-'+top_shift+'px')
		$(new_div).css('left','-'+left_shift+'px')
		$(new_div).css('width',(zoom_orig_width+2*left_shift)+'px')
		$(new_div).css('height',(zoom_orig_height+2*top_shift)+'px')
		$(new_div).appendTo($("#header_dynamic_images"));
	}
	$("#header_dynamic_image_template").remove()
//	shift_image($("#header_dynamic_images img:last"))
	header_dynamic_images_fader(fade_time,display_time)
	//create 2 div with class header_dynamic_image	
}
function shift_image(image){
	var new_width=zoom_orig_width*zoom_width_factor
	var new_height=zoom_orig_height*zoom_height_factor
	$(image).animate({
		left: left_shift,
		top: top_shift,
		width: new_width+"px",
		//height: new_height+"px"
	}, shift_time);
}

function header_dynamic_images_fader(time,delay){
	if (delay!=null){
		setTimeout(function(){header_dynamic_images_fader(time,null)},delay);
	}else{
		//get front image
		//fade front image
//		shift_image($("#header_dynamic_images img:last").prev())
		$("#header_dynamic_images img:last").fadeOut(time,function(){
			$("#header_dynamic_images img:hidden").detach().prependTo($("#header_dynamic_images"))
			$("#header_dynamic_images img:hidden").css('left','-'+left_shift+'px')
			$("#header_dynamic_images img:hidden").css('top','-'+top_shift+'px')
			$("#header_dynamic_images img:hidden").css('width',(zoom_orig_width+2*left_shift)+'px')
			$("#header_dynamic_images img:hidden").css('height',(zoom_orig_height+2*top_shift)+'px')
			$("#header_dynamic_images img:hidden").css('display','block')
			header_dynamic_images_fader(time,display_time);
		})
	}
}

function menu_light_init(){
	$("div.menu_top_middle_wrapper").each(function(){
		$(this).append("<div class=\"menu_top_lighter_div\" >&nbsp;</div>")
	});
	$(".menu_top_middle").mouseenter(function(){
		submenu(this,'in');
	});
	$(".menu_top_middle_selected").mouseenter(function(){
		submenu(this,'in');
	});
/*        $("div.menu_top_middle_wrapper").mouseenter(
		function(){ 
			//create element with background light image
			var lighter=$(".menu_top_lighter_div",this)
			lighter.fadeIn(400)
		});
	$("div.menu_top_middle_wrapper").mouseleave(
                function(){ 
			var lighter=$(".menu_top_lighter_div",this)
			lighter.fadeOut(300)
		});

*/
}


function image_scroll(x,y,image) {
	$(image).clearQueue();
	$(image).animate({top: y, left: x},1500,"swing")
}

function init_scroll(){
	var position = $("#scroll_image1").position();
	var x_origin=position.left;
	var y_origin=position.top;
	var x_margin = $(".scroll_image_container").width()-$("#scroll_image1").width()
	var y_margin =  $(".scroll_image_container").height()-$("#scroll_image1").height()
//	$("#scroll_image1").click(function (event) {image_scroll(randInt(x_margin),randInt(y_margin),"#scroll_image1"); }  )
//	$(".fast_choice_menu_i").mouseenter(function(){image_scroll(randInt(x_margin),randInt(y_margin),"#scroll_image1");})
	var count=0;
	$.each($(".fast_choice_menu_i"),function(i,v){
		var x=0; var y=0;
		if (count==0) 
			{x=x_origin; y=y_origin;}
		else{
			if ((count%4)==1){
				x=0; y=0;
			}else{
				if ((count%4)==2){
					x=x_margin; y=y_margin;
				}else{
					 if ((count%4)==3){
						x=0; y=y_margin;
					}else{
						x=x_margin; y=0;
					}
				}
			}
		}
		eval("$(v).mouseenter(function(){image_scroll("+x+","+y+",\"#scroll_image1\");});");
		count=count+1;
	})
}


