/*--------------------------------------------------------------------- Foldering --------------------------------------------------------------------*/
Navigation_2_3 = Class.create();
Navigation_2_3.prototype = {
	   initialize: function(params) {
			function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } };
			
			this.params = params;
	
			param_default("class_ouverture","ouvert");
			param_default("lier",true);
			param_default("class_change_lien","");
			param_default("class_lien","");
			param_default("class_conteneur","");
			param_default("class_titre","");
			param_default("rendu_impression","");
		
			this.nb_elements_ouverts = 0;
			this.element_ouvert = null;
			this.elements = new Array;
			this.anim = false;
			this.setup();
	   },
	   setup:function() {
		   var lien_1 = $A(new Array());
		   var niveau_1 = $A(new Array());

				lien_1 = document.getElementsByClassName(this.params['class_lien_1']);
				niveau_1 = document.getElementsByClassName(this.params['class_niveau_1']);			
				
				// plus tard mettre selecteur CSS qd plus ie55
				/*$$(this.params['class_lien_1']).each(function(element){
				lien_1.push(element)
				});
	
				$$(this.params['class_niveau_1']).each(function(element){
				niveau_1.push(element)
				});*/
				
			for(var i=0; i < lien_1.length ; i++)
			{
				this.add(new Foldering_nav_2_3(lien_1[i], niveau_1[i]));
			}
		},
	  add:function(element) {
		  	element.gestionnaire = this;
			element.params = this.params;
			element.setup()
			this.elements.push(element);
			if(element.etat_initial)
			{
				this.nb_elements_ouverts++;
				if(this.nb_elements_ouverts>1){alert("Pour l'initialisation du script, il ne doit y avoir qu'un seul niveau d'ouvert au maximum")}
				this.element_ouvert = element;
			}			
	   }
	};
	
	
Foldering_nav_2_3 = Class.create();
Foldering_nav_2_3.prototype = {
	   initialize: function(id_lien,id_conteneur) {
			this.lien = $(id_lien);
			this.lien_image = (this.lien.firstChild.nodeName == "IMG") ? true : false;
			if(this.lien_image){this.image = this.lien.firstChild;}
			this.conteneur = $(id_conteneur);
			Element.fixeElement(this.conteneur);
			this.lien.onclick = this.onclick.bindAsEventListener(this);
	   },
	   setup : function()
	   {
			// affichage
			if(!Element.hasClassName(this.conteneur,this.params["class_ouverture"]))
			{
				Element.setStyle(this.conteneur,{display:'none'});
			}
			this.etat_initial = Element.hasClassName(this.conteneur,this.params["class_ouverture"]) ? true : false;// true ouvert, false ferme	
			
			// gestion bouton
			if(this.lien_image)
			{
				if(this.params["class_rollover_img"] != "undefined"){
					if(Element.hasClassName(this.image,this.params["class_rollover_img"])){
						this.image = new Img_rollover(this.image);
					}
				}
			}

	   },
	  onclick: function(evt) {
		if(!this.gestionnaire.anim)
		 {
			 if(this.etat_initial)
			 {
				this.ferme()
				}
			 else
			 {
				 this.ouvre()
			}
		 }
	   },
	   ouvre: function() {
		  if(this.params["class_change_lien"] != ""){Element.addClassName(this.lien,this.params["class_change_lien"])}
		  if(this.lien_image){
			 if(this.params["class_rollover_img"] != "undefined"){
				 if(Element.hasClassName(this.image.image,this.params["class_rollover_img"])){
					this.image.set_rollover_actif(false);this.image.set_src_on();}
				}
		 }

		 Effect.BlindDown(this.conteneur,{gestionnaire:this.gestionnaire, duration:0.5, beforeStart:function() {this.gestionnaire.anim=true;}, afterFinish:function(){this.gestionnaire.anim=false;}});
		  if(this.gestionnaire.element_ouvert != null &&  this.gestionnaire.element_ouvert != this && this.params["lier"]){this.gestionnaire.element_ouvert.ferme()}
		  this.etat_initial = true;
		  this.gestionnaire.element_ouvert = this;
		  
	   },
	   ferme: function() {
		  if(this.params["class_change_lien"] != ""){Element.removeClassName(this.lien,this.params["class_change_lien"])}

          if(this.lien_image){
				if(this.params["class_rollover_img"] != "undefined"){
					if(Element.hasClassName(this.image.image,this.params["class_rollover_img"])){
						this.image.set_src_off();this.image.set_rollover_actif(true);}
				}
			  }
		  Effect.BlindUp(this.conteneur,{gestionnaire:this.gestionnaire, duration:0.5, beforeStart:function() {this.gestionnaire.anim=true;}, afterFinish:function(){this.gestionnaire.anim=false}});
			this.etat_initial = false;
	   }
	};

/*--------------------------------------------------------------------- /Foldering --------------------------------------------------------------------*/