 var menu_state_array = new Array(20);
 var menu_state_array_size=0;
 var agenda_open=false;
  	
 
 function initMenu(){
		
		writeMenu('content','restaurant','opened');
		writeMenu('content','cuisine');
		writeMenu('content','cave');
		writeMenu('content','salles');
		
	 	setHtmlMenuContent("cuisine","La cuisine c'est le domaine de Vincent!<br/><br/> Bien qu'il ne soit pas aussi corpulent qu'Obélix, on peut dire que le chef est tombé dedans quand il était petit.<br/>Aujourd'hui Vincent ravit les palais en proposant son foie gras, ses buwespaetzles, ses desserts, ... <br/><br/>Une cuisine alsacienne pleine de traditions, d'audaces et de créativité.");
	 	setHtmlMenuTitle("cuisine", "<img src=\"./vues/images/interface_v3/menu/cuisine-fr.png\" alt=\"La cuisine\" />");
	 	setHtmlMenuBottom("cuisine", "<a name='diaporama' href='diapo-cuisine' id='link-diapo-cuisine'>... en images</a>");

		setHtmlMenuContent("cave","La cave ou la deuxième résidence du patron...<br/><br/>Elle n'est pas très grande, mais Hubert y garde jalousement ses plus belles bouteilles. On y trouve bien évidement une déclinaison importante des cépages locaux, mais d'autres en provenance, notamment de la vallée du Rhône, ou de la Gironde y sont très bien représentés.<br/><br/>En cas d'hésitation demandez Hubert! il saura vous conseiller et probablement vous suprendre.");
		setHtmlMenuTitle("cave", "<img src=\"./vues/images/interface_v3/menu/cave-fr.png\" alt=\"La cave\" />");
	 	setHtmlMenuBottom("cave", "<a name='diaporama' href='diapo-cave' id='link-diapo-cave'>... en images</a>");

	 	setHtmlMenuContent("salles","Les salles.<br/><br/> Elles sont au nombre de deux et s'accompagnent d'une terrasse éstivale donnant vue sur le port.<br> La plus grande, est entièrement voutée et taillée dans la roche. La seconde est plus petite mais cependant plus intime.<br/><br/> Monique les décore avec goût et en fait évoluer l'ambiance au grès des saisons.");
		setHtmlMenuTitle("salles", "<img src=\"./vues/images/interface_v3/menu/salles-fr.png\" alt=\"Les salles\" />");
	 	setHtmlMenuBottom("salles", "<a name='diaporama' href='diapo-salle' id='link-diapo-salle'>... en images</a>");
	 	
	 	

	    

	    setHtmlMenuContent("restaurant","C'est dans la ville de Saverne, pleine de charme et voisine des doux reliefs du massif vosgien que naquit en 1990 le <b>Caveau de l'Escale</b>.<br/><br/>" +
	    		"Situé en bordure du port de plaisance, et proche du magnifique château des Rohan, le restaurant dispose d'un cadre agréable et offre, de sa terrasse d'été," +
	    		" une vue magnifique.<br/><br/>" +
	    		" Guidé depuis toutes ces années par un désir de restituer les plaisirs simples d'antan, la famille Fischbach régale ses hôtes en leur proposant ses nombreuses" +
	    		" spécialités régionales.");
		setHtmlMenuTitle("restaurant", "<img src=\"./vues/images/interface_v3/menu/restaurant-fr.png\" alt=\"Le restaurant\" />");
	 	setHtmlMenuBottom("restaurant", "");
		
	}
 
 
	function writeMenu(container,menuName,status,leftPosition){

		$("."+container).append("<div class='menu-"+menuName+"'></div>");
		$("."+container).append("<div class='menu-"+menuName+"-title'></div>");
		$("."+container).append("<div class='content-"+menuName+"'></div>");
		$("."+container).append("<div class='content-"+menuName+"-bottom'></div>");
		$(".menu-"+menuName).click( function() {openClose(menuName);} );
		$(".menu-"+menuName+"-title").click( function() {openClose(menuName);} );

		$(".content-"+menuName).css({ opacity: 0 });
		
		if(leftPosition!=null){
			
			$(".menu-"+menuName).css("left",leftPosition);
			var decalage=$(".menu-"+menuName).width()+leftPosition;
			$(".menu-"+menuName+"-title").css("left",leftPosition);

			$(".content-"+menuName).css("left",leftPosition);
			$(".content-"+menuName+"-bottom").css("left",decalage);
			
		}else{
			
			leftPosition = $(".menu-"+menuName).position().left;
		}
		
		position=menu_state_array_size++;
		menu_properties = new Array();
		menu_properties["leftPosition"]=leftPosition;
		menu_properties["status"]="closed";
		menu_properties["position"]=position;
		menu_properties["menuName"]=menuName;
		menu_state_array[position]=menu_properties;

		if(status=="opened"){
			open(menuName);
		}
		
	}


	function getNameOfFirstMenu(){

		for(var i=0;i<menu_state_array.length;i++){
			if(menu_state_array[i]["position"]==0){
				return menu_state_array[i]['menuName'];
	 		} 	
		}
	}

	function getOpenedName(){
		for(var i=0;i<menu_state_array.length;i++){
			if(menu_state_array[i]!=null && (menu_state_array[i]["status"]=="opened" || menu_state_array[i]["status"]=="opening")){
				return menu_state_array[i]["menuName"];
			} 	
		}
	
	}
	

	function getProperty(menuName,prop){

		for(var i=0;i<menu_state_array.length;i++){
			if(menu_state_array[i]["menuName"]==menuName){
				return menu_state_array[i][prop];
			}
		}

	}

	function setProperty(menuName,prop,value){

		for(var i=0;i<menu_state_array.length;i++){
			if(menu_state_array[i]["menuName"]==menuName){
				menu_state_array[i][prop]=value;
				break;
			}
		}
		
	}

	function isAllMenuStable(){
		for(var i=0;i<menu_state_array.length;i++){
			
			if(menu_state_array[i]!=null && (menu_state_array[i]["status"]=="opening")){
				return false;
			}
		}
		
		return true;
	}

	function isAllMenuClosed(){
		for(var i=0;i<menu_state_array.length;i++){
			
			if(menu_state_array[i]!=null && (menu_state_array[i]["status"]=="opened")){
				return false;
			}
		}
		
		return true;
	}


	function closeAll(){

		for(var i=0;i<menu_state_array.length;i++){
			if(menu_state_array[i]!=null && (menu_state_array[i]["status"]=="opened")){
				close(menu_state_array[i]["menuName"]);
			}
		}

	}
	
	function openClose(menuName){
	  	if(menuName!=getOpenedName() && getOpenedName()!=null){
	  		openClose(getOpenedName());

	  		closeAll();
	  		
	  	  	if(getProperty(menuName,'status')=="closed" && isAllMenuStable()){
	  	  		moveInFirstPosition(menuName);
	  			open(menuName);
	  	  	}
			 
	  	}

	}

	function setZindex(menuName,index){
		
		$(".menu-"+menuName).css('z-index',index);	
		$(".menu-"+menuName+"-title").css('z-index',index);    
		$(".content-"+menuName).css('z-index',index);  		
	  	$(".content-"+menuName+"-bottom").css('z-index',index);
	}
	
	
	function setHtmlMenuContent(menuName,htmlString){
		$(".content-"+menuName).html(htmlString);
	}
	
	function setHtmlMenuTitle(menuName,htmlString){
		$(".menu-"+menuName+"-title").html(htmlString);
	}
	
	function setHtmlMenuBottom(menuName,htmlString){
		$(".content-"+menuName+"-bottom").html(htmlString);
	}
	
	
	function open(menuName){

		setProperty(menuName,"status","opening");
		$(".menu-"+menuName).animate({top: "+=240px"}, 800 );	
		$(".menu-"+menuName+"-title").animate({top: "+=240px"}, 800 );    
		 
		$(".content-"+menuName).css({ opacity: 0 });
		$(".content-"+menuName).delay(700).animate({width:"+=450", opacity:1},700);  		
		
		$(".content-"+menuName+"-bottom").delay(700).animate({width:"+=480"},700,function() {
			setProperty(menuName,"status","opened");
		});

	}
	
	
	
	
	function close(menuName){

		
		setProperty(menuName,"status","closing");
		fadeMenuTo(menuName,0,"slow");
		$(".content-"+menuName+"-bottom").animate({width:"-=480"},600); 
			$(".content-"+menuName).fadeTo("slow", 0);		
			$(".content-"+menuName).animate({width:"-=450"},600);
			$(".menu-"+menuName+"-title").animate({top: "-=240px"}, 800 );    
			$(".menu-"+menuName).animate({top: "-=240px"}, 800 ,function() {
			fadeMenuTo(menuName,1,"slow");
			setProperty(menuName,"status","closed");
			if(isAllMenuClosed){
	  			openClose(menuName);
			}
		});
			
			
		
	}
	

	function fadeMenuTo(menuName,opacity,speed){

		if(speed==null){speed='slow';}
		$(".menu-"+menuName).fadeTo(speed, opacity);
		$(".menu-"+menuName+"-title").fadeTo(speed, opacity);    
	  	$(".content-"+menuName+"-bottom").fadeTo(speed, opacity);

	}

	function move(menuName,leftPosition){

		if(leftPosition==null){
			leftPosition="-=125px";
		}

		$(".menu-"+menuName).animate({left: leftPosition}, 250);	
		$(".menu-"+menuName+"-title").animate({left: leftPosition}, 250);    
		$(".content-"+menuName).animate({left: leftPosition+$(".menu-"+menuName).width()-5}, 250);		
	  	$(".content-"+menuName+"-bottom").animate({left: leftPosition+$(".menu-"+menuName).width()}, 250);
		
	  	
	}
	

	function moveInFirstPosition(menuName){
		
		if(getNameOfFirstMenu()!=menuName){

			var nameOfFirst = getNameOfFirstMenu();
			var toLeftPosition = getProperty(menuName,'leftPosition');
			var fromLeftPosition = getProperty(nameOfFirst,'leftPosition');
			var toPosition = getProperty(menuName,'position');
			
			move(menuName,fromLeftPosition);
			move(nameOfFirst,toLeftPosition);

			setProperty(menuName, "leftPosition", fromLeftPosition);
			setProperty(menuName, "position", 0);
			setProperty(nameOfFirst,"leftPosition", toLeftPosition);
			setProperty(nameOfFirst, "position",toPosition );
			
		}

	}
 	
	
	
	function openCloseAgenda(){
		
		if(agenda_open){
			closeAgenda();
		}else{
			openAgenda();
		}
		
	}
	
	function openAgenda(){
		if(agenda_open) return;
		$(".agenda-stream").fadeTo('slow',0);
		$(".agenda-displayer").css("height","0");

		$(".agenda-displayer").animate({height:"+=236"},600);
		$("#calendar_button").attr("src", "./vues/images/interface_v2/menu/calendar-up.png");
		$(".agenda-stream-container").animate({backgroundColor:"#e6e6e6"},600);
		$(".top-logo-text").fadeTo('slow',0);
		agenda_open=true;

	}
	
	function closeAgenda(){
		$(".agenda-stream").delay(600).fadeTo('slow',1);
		$(".agenda-displayer").animate({height:"-=236"},600);
		$("#calendar_button").attr("src", "./vues/images/interface_v2/menu/calendar-down.png");
		$(".top-logo-text").fadeTo('slow',1);

		agenda_open=false;
	}
	
	1
