// Fichier JScript
//

/************************************************/
/* Fonctions hors pseudo-classes ou génériques
/***********************************************/


var picto_cat;
var picto_item;
var val_picto;
var tab;
var tableau_selects=Array();

var modification_booleen=false;

//fonction pour supprimer un element de tableau t et d'indice i
function supp_elem_tableau(t,i){
for (var j=i;j<t.length-1;j++){
t[j]=t[j+1];
}
t.pop();
return t;
}
//fonction de lien des objets et methodes dans meme prototypage

function bind(objet,methode){

	return function(){
		return methode.apply(objet,arguments);
	}
}

//recuperation d'une valeur du fichier xml

function get_valeur(resultat,noeud,index){
//console.info('index='+index);
	var tab_element=resultat.getElementsByTagName(noeud);
	if (!tab_element.item(index)){
	}else if (tab_element.item(index).firstChild) {
		return tab_element.item(index).firstChild.data;
                
	}
	else{
		return "";
	}

}

//selectionne un objet en fonction de sa classe et de son tag name et retourne un tableau d'elements
function remplace(element){
	var apostrophe=new RegExp("\'","gi");
	var saut_ligne=new RegExp("<br />;","gi");
	element=element.replace(apostrophe,"'"); 
	element=element.replace("\n","");
	return element;         

}
function bullsort(tableau){
	var nb_et=tableau.length;
	var obj;
	for (var i=1;i<nb_et;i++){
		for (var j=1;j<nb_et-1;j++){
			if (tableau[j].code > tableau[j+1].code){
				obj=tableau[j+1];
				tableau[j+1]=tableau[j];
				tableau[j]=obj;
			}
		}

	}
	return tableau;
}

//fonction generique qui teste l'existence d'un element
function Existe(eledom){
		if ($(eledom) != null) {
		return true;
		} 
		else {
return false;
			}
}

/*script d'images survolées : boutons suivant, précédent, impression,patage*/
//v3.0
function MM_preloadImages() { 
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
		
		if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
	}
/*script d'insertion de tag dans un champs texte: fonctionnalité sub et sup pour les formule chimiques et concentrations*/

function insertTag(startTag, endTag, textareaId, tagType) {
	var field  = $(textareaId); // On récupère la zone de texte
	var scroll = field.scrollTop;                     // On met en mémoire la position du scroll
	field.focus(); // On remet le focus sur la zone de texte, suivant les navigateurs, on perd le focus en appelant la fonction. 
	if (window.ActiveXObject) { // C'est IE
	var textRange = document.selection.createRange();            
	var currentSelection = textRange.text;

	textRange.text = startTag + currentSelection + endTag;
	textRange.moveStart("character", -endTag.length - currentSelection.length);
	textRange.moveEnd("character", -endTag.length);
	textRange.select();     
	} else { // Ce n'est pas IE
	var startSelection   = field.value.substring(0, field.selectionStart);
	var currentSelection = field.value.substring(field.selectionStart, field.selectionEnd);
	var endSelection     = field.value.substring(field.selectionEnd);

	field.value = startSelection + startTag + currentSelection + endTag + endSelection;
	field.focus();
	field.setSelectionRange(startSelection.length + startTag.length, startSelection.length + startTag.length + currentSelection.length);
} 

field.scrollTop = scroll; //on redéfinit le scroll.

$('produit2').update($F("nomalt"));//on met à jour l'aperçu concentration ou formules chimiques
$('concentration').update(' '+$F("concen")+' '+$F("unit"));

}

/* fonction de simulaton de click*/
function click_moi(element)
 {
      try
   {//pour ie
  document.getElementById(element).click();
   }catch(e)
   {//pour ff et autres
    var evt = document.createEvent("MouseEvents"); // créer un évennement souris
    evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);  // intiailser l'évennement déja crée par un click
    var cb = $(element); // pointe sur l'élement
    cb.dispatchEvent(evt);  // envoyer l'évennement vers l'élement
   }
 }
 
 //fonction de désactivation  de la touche entrée pour ne pas zapper ajaxconnect()sur le champs pseudo du formulaire de connexion :
	function refuserToucheEntree(event)
			{
       if(!event && window.event) {event = window.event;}
       if(event.keyCode == 13) {event.returnValue = false;event.cancelBubble = true;}
       if(event.which == 13) {event.preventDefault();event.stopPropagation();}
			}
	//fonction d'activation  de la touche entrée pour  actionner ajaxconnect(), et la connexion directe apres rentree du mot de pass 
	function accepterToucheEntree(event)
			{
				 if(!event && window.event) {event = window.event;}
				 if(event.keyCode == 13) {ajaxconnect('session','connexion.php' );}
				 if(event.which == 13) {event.preventDefault();event.stopPropagation();}
			}
 
 /*dimensions de la fenêtre navigateur attribution de la largeur highslide*/

var viewport = document.viewport.getDimensions(); 
var larg_fen = viewport.width;
var haut_fen = viewport.height; 
larg_hs=Math.floor( 0.8*larg_fen);

/************************************************/
/* Pseudo-classe Ajax
/***********************************************/

//Debut 

function AJAX(url,parametres,valeur_picto){

	this.url=url;
	this.parametres=parametres;
	this.resultat=null;
	this.nb_item=null;
	this.result_xml=new Array; 
	this.anti_result_xml=new Array;
	this.valeur_picto=valeur_picto;
	this.init_xml();
	


}
AJAX.prototype={

	init_xml: function(){
		var objet=this;
		if (this.parametres==""){
			var xhr=new Ajax.Request(this.url,{asynchronous:false,method:'get',onComplete:bind(objet,this.return_result)});
		}else{
			var xhr=new Ajax.Request(this.url,{asynchronous:false,method:'get',parameters:this.parametres,onComplete:bind(objet,this.return_result)});
		}	
		return false;

		},//fin methode init_xml

		return_result:function(request){

			this.resultat=request.responseXML;
			var elements=this.resultat.getElementsByTagName("ID");
			this.nb_item=elements.length;
			if (this.parametres!=""){		
				this.filtre(this.resultat,this.nb_item);
			}else{
			
			 var elements=this.resultat.getElementsByTagName("ID");
			this.nb_item=elements.length;
                        
				for (var i=0;i<this.nb_item;i++){
					var phrase_add=new init_phrase_add(get_valeur(this.resultat,"ID",i),get_valeur(this.resultat,"code",i),get_valeur(this.resultat,"phrase_opt",i),get_valeur(this.resultat,"edit",i));
					this.result_xml[i+1]=phrase_add;
				}
			}
			
			

		},	
		filtre:function(resultat,nb_item){//type picto accepte "pictogramme_cat", ces types peuvent se parametrer au niveau de la déclaration des variables globales
		var indice=1;
		var anti_indice=1;
		for (var i=0;i<this.nb_item;i++){
			var phrase= new init_phrase(get_valeur(this.resultat,"ID",i),get_valeur(this.resultat,"classe",i),get_valeur(this.resultat,"categorie",i),get_valeur(this.resultat,"picto_item",i),get_valeur(this.resultat,"mention",i),get_valeur(this.resultat,"code_phrase",i),get_valeur(this.resultat,"phrase",i),get_valeur(this.resultat,"edit",i));
			if (get_valeur(this.resultat,"picto_item",i)==this.valeur_picto){
				//var phrase= new init_phrase(get_valeur(this.resultat,"ID",i),get_valeur(this.resultat,"classe",i),get_valeur(this.resultat,"categorie",i),get_valeur(this.resultat,"picto_item",i),get_valeur(this.resultat,"mention",i),get_valeur(this.resultat,"code",i),get_valeur(this.resultat,"phrase",i),get_valeur(this.resultat,"edit",i));
				this.result_xml[indice]=phrase;
				indice+=1;
			}else{
				this.anti_result_xml[anti_indice]=phrase;
				anti_indice+=1;
			}


		}
	   }
	}//fin prototype ajax

/************************************************/
/**************** Initialisation****************/
/***********************************************/

var resultat_xml;
var anti_resultat_xml=Array();
var tab_conseils=Array();
var tableau_xml_add=Array();
var tableau_dyn=Array();
var tableau_xml_1=Array();
var tableau_xml_2=Array();
var tableau_xml_3=Array();
/*5 picto*/
var tableau_xml_4=Array();
var tableau_xml_5=Array();
var anti_tableau_xml=Array();
var tab_phrases_1=Array();
var tab_phrases_2=Array();
var tab_phrases_3=Array();
/*5 picto*/
var tab_phrases_4=Array();
var tab_phrases_5=Array();

var anti_tab_phrases=Array();
var tableau_xml_conseils=Array();
var tab_anti_conseils=Array();
/**/var tab_original_conseils=Array();/**/
/**/var post_danger_1=Array();
   var post_danger_2=Array();
   var post_danger_3=Array();
   /*5 picto*/
    var post_danger_4=Array();
	 var post_danger_5=Array();
	 
   var post_option=Array();
   var post_conseils=Array();/**/
var mention_1=0;
var mention_2=0;
var mention_3=0;
/*rajout  5 picto*/
var mention_4=0;
var mention_5=0;

var mention_dyn="";
var nb_dang=1;
var num_danger=Array();
 


Event.observe(window, 'load', initialisationform , false);


function init_phrase_add(id,code,phrase,edit){
	this.id=id;
	this.code=code;
	this.phrase=phrase;
	this.edit=edit;
}
function init_select(style,valeur,texte){
	this.style=style;
	this.valeur=valeur;
	this.texte=texte;
}

function insert_editable_danger_conseil(id_form,cible,dang,ind,tab,action){
	
	/*Plus qu'une seule fonction pour creer le textaera des conseils P et phrases H éditables*/
	
	$(cible).insert({before: new Element('form', { 'id': id_form, 'action': action })})
	$(id_form).insert( new Element('p')).down().update("Editer la phrase "+tab[ind].code);
	$(id_form).insert(new Element('textarea' , { 'id' : 'text_temp', 'rows' : '6' , 'columns': '8' })).down();
		$('text_temp').update(tab[ind].phrase);
	$(id_form).insert(new Element('input' , { 'type' : 'submit', 'value' : 'Valider' })).down();
	
	
}

function init_phrase(id,classe,categorie,picto,mention,code_phrase,phrase,edit){


	this.id=id;
	this.classe=classe;
	this.categorie=categorie;
	this.picto_item=picto;
	this.mention=mention;
	/**/this.code=code_phrase;/**/
	this.phrase=phrase;
	this.edit=edit;
}

function initialize_tableau_selects(){
	
	var texte_select=Array("","Explosif","Inflammable","Comburant","Gaz sous pression","Corrosif","Toxique","Nocif/Irritant","Danger pour la santé","Danger pour l'environnement","");

	tableau_selects[0]=new init_select("images/formetiquette/supprime.gif","00","Aucun");
	for (var i=1;i<10;i++){
		tableau_selects[i]=new init_select("images/sgh/SGH0"+i+"-XS.gif","0"+i,("SGH0"+i+" : "+texte_select[i]));
	}
	tableau_selects[10]=new init_select("images/formetiquette/paspicto.gif","11","Phrases H sans pictogramme");
}
function recreer_selects(){
initialize_tableau_selects();
var select_modif=$("sgh1");
select_modif.innerHTML="";
  for (var i=0; i<tableau_selects.length;i++){
   
   var elmt_option=document.createElement("option"); 
   var text_temporaire="background-image:url('"+ tableau_selects[i].style +"');";
   elmt_option.setAttribute("value",tableau_selects[i].valeur);
   elmt_option.setAttribute("style",text_temporaire);
   var texte=document.createTextNode(tableau_selects[i].texte);
   elmt_option.appendChild(texte);
   select_modif.appendChild(elmt_option); 
  }

}
function decocher_init(element){
 for(var i=0;i<element.length;i++){
 element[i].checked=false;

 }
}
function reinit_selects(){
 for (var i=2; i<6;i++){
   supp_select_dyn(i);
 }
}
function initialisationform () {
	
	initialize_tableau_selects();
	/*initialise le tableau des phrases_additionnelles*/
	reinit_num_dangers();
	var req_phrase_add=new AJAX("xml/phrases_adds.xml","","");
	tableau_xml_add=req_phrase_add.result_xml;

	creer_div_phrases_opt();

	$("sgh1").options[0].selected=true;
	
	$$('.select_danger').without($$('.select_danger').first()).each(function(el){el.hide()});
	$$('.tiquette').without($$('.tiquette').first()).each(function(el){el.hide()})
	
        $("fournisseur").options[0].selected=true;
		$("autrefourn").show();
		
		$$('#identifier input').each(function(el){el.clear();})
        Field.clear("nomalt");
       	Field.activate("nom");
		
	$("picto1").update("<img src='images/sgh/SGH01-L.gif' alt='SGH01'/>");
    //$("picto2").update("<img src='images/sgh/SGH01-L.gif' alt='SGH01'/>");
	$("avertissement_3").update("");
	$("produit").update("");
	$("produit2").update("");
	$("concentration").update("");
	$("mention_3").update("");
	$("aperc_opt").update("");
	$("aper_conseils").update("");
	$("boutons_admin").update("");


/*Observe les actions sur les champs correspondant pour la partie n°1 identifier*/
Event.observe('identifier', 'keyup', miseajourtexte, false);
Event.observe('identifier', 'blur', miseajourtexte, false);
Event.observe('identifier', 'change', miseajourtexte, false);
Event.observe('identifier', 'click', miseajourtexte, false);
/*Observe  le champs choix copie pour mise a jour du nombre  de copies à imprimer*/
Event.observe('choixcopies', 'change', clone_etiq, false);
/*Observe  le champs choix pictospour la mise en forme gauche/ droite/par défaut*/
Event.observe('choixpictos', 'change', place_pictos, false);
/*Observe  le champs choix impression pour initialiser taille perso*/
Event.observe('choiximpression', 'change', taille_perso, false);
//Event.observe('choixpolice', 'change', ajuste_preferences_police, false);
/*Observe l'activation de l'autocompletion*/
Event.observe('activauto','change',initparam,false);


/*fermeture du message d'avertissement, à la reprise de la main sur le formulaire*/
Event.observe('formtravail','click',ferme_message_avertissement,false);
/*initialisation de la mise a jour masse molaire*/
$('massemol').observe('keyup',massemolaire,false);
$('massemol').observe('blur',massemolaire,false);
$('densite').observe('keyup',densite,false);
$('densite').observe('blur',densite,false);

$('apercunu').observe('change',ajuste_pub,false);

/*cree la premiere div de danger correspondant à sgh01*/
miseajourpicto(1);
parser_picto(1);
creer_div_checkbox(1);
creer_original_conseils();
//créé l'élément glissant de chois de taille
slide();
//créé le select de choix de police
choixpolice()
Event.observe('choixpolice', 'change', ajuste_preferences_police, false);
Event.observe('confignom','change',initparam,false);
}//fin de initialisation_form


/******************************Fonctions propres à la page*****************************************/


function miseajourtexte () {
	$('produit').update($F("nom"));
	$('produit2').update($F("nomalt"));
	$('numcas').update("N&deg; CAS : "+$F("cas"));
	$('numce').update("N&deg; CE : "+$F("ce"));
	
	
	if ($F('concen')=="") {$('concentration').update("");}
		else {
            $('concentration').update(" "+$F("concen")+" "+$("unit").options[$F("unit")-1].text);
             
              }
	/*mise à jour des coordonées du fournisseur*/

	if ($('pierron').selected){$('fabriquant').update('<img src="images/fournisseur/pierron.gif" alt="Pierron" /><br>2 RUE GUTTENBERG<br>57206 SARREGUEMINES CEDEX<br>Tel: 03 87 95 14 77');$('autrefourn').hide()}
	else{
		if ($('jeulin').selected){$('fabriquant').update('<img src="images/fournisseur/jeulin.gif" alt="Jeulin"/><br>RUE JACQUES MONOD<br>27019 EVREUX CEDEX<br>Tel: 02 32 29 20 00');$('autrefourn').hide()}
		else{
	 		if ($('sigma').selected){$('fabriquant').update('<img src="images/fournisseur/sigma.gif" alt="Sigma-Aldrich" /><br>L\'ISLE D\'ABEAU CHESNES<br>38297 SAINT QUENTIN FALLAVIER CEDEX<br>Tel: 0800 031 052');$('autrefourn').hide()}
			else{
				if ($('sordalab').selected){$('fabriquant').update('<img src="images/fournisseur/sordalab.gif" alt="Sordalab"   /><br>15 AV. DES GRENOTS<br>91150 ETAMPES<br>Tel: 01 69 92 26 72');$('autrefourn').hide()}
				else{
					if ($('labodiff').selected){$('fabriquant').update('<img src="images/fournisseur/labodiff.gif" alt="Labodiff"  /><br>10 RUE DU LUXEMBOURG<br>69330 MEYZIEU<br>Tel: 04 78 31 09 89');$('autrefourn').hide()}
					else{
						if ($('acros').selected){$('fabriquant').update('<img src="images/fournisseur/acros.gif" alt="Acros-Organics" /><br>BD. SEBASTIEN BRANT<br>67403 ILLKIRCH CEDEX<br>Tel: 03 88 67 53 23');$('autrefourn').hide()}
						else{
							if ($('fisher_scientific').selected){$('fabriquant').update('<img src="images/fournisseur/fisher_scientific.gif" alt="Fisher Scientific" /><br>BD. SEBASTIEN BRANT<br>67403 ILLKIRCH CEDEX<br>Tel: 03 88 67 53 23');$('autrefourn').hide()}
							else{
								
								if ($('autrefourn').visible()){$('fabriquant').update($F("autref"))}
								else{$('autrefourn').toggle();
								
								$('fabriquant').update($F("autref"))}

							}
						}
					}
				}
			}
		}
	};
} /*fin de mise à jour texte*/



/*Permet d'initialiser le nombre et les valeurs des dangers selectionnés*/


/*sous fonction init_danger*/
function types_danger(id,valeur_picto){
	this.id=id;
	if (valeur_picto=="PDP"){
		this.valeur_picto=="NULL";
	}else{
		this.valeur_picto=valeur_picto;
	}
}
/*sous fonction mention_phrases*/
function types_phrases(id,mention,picto,phrase,code_phrase){
	this.id=id;
	this.mention=mention;
	this.picto_item=picto;
	this.phrase=phrase;
	/**/this.code=code_phrase;/**/
}
/*sous fonction phrase_conseils*/

function types_conseils(code,phrase,edit){
	this.code=code;
	this.phrase=phrase;
	this.edit=edit;

}

/*slot permettant la mise a jour des pictogrammes dans l'apercu*/

function reinit_tableau(tableau){
	var index_depart=tableau.length;
	for (var i=index_depart;i>-1;i--){
		tableau.pop();
	}
}


function anti_parser_picto(){
	var tab_temp=Array();
	tab_temp[0]=new init_phrase(0,0,0,0,0,0,0,0);
	reinit_tableau(tab_temp);
	reinit_tableau(anti_tableau_xml);
	for (var j=1;j<anti_resultat_xml.length;j++){
		var trouve=false;
		var k=1; 
		while (k<=num_danger.length-1 && trouve==false){
			if (anti_resultat_xml[j].picto_item == num_danger[k].valeur_picto){
				trouve=true;
				}else{k+=1;}
			}
			if (trouve==false){
				tab_temp.push(anti_resultat_xml[j]);
			}
		}
		anti_tableau_xml=bullsort(tab_temp);
	} 

/*Sous fonction de parsage du xml*/

function parser_picto(index_danger){
	var Id_picto="sgh"+index_danger;

	if (num_danger[index_danger].valeur_picto=="Phrases H sans pictogramme"){
		var val_picto="NULL";
	}else{
		var val_picto="SGH0"+$F(Id_picto).substring(1,$F(Id_picto).length);
	}
	var tit_tableau="tableau_xml_"+index_danger;
	var req_phrase=new AJAX("xml/phrases.xml","picto_item="+val_picto,val_picto);
	resultat_xml=req_phrase.resultat;
	anti_resultat_xml=req_phrase.anti_result_xml;
	anti_parser_picto();
	
	for( var i=1;i<=nb_dang;i++){
		
		if (num_danger[i].valeur_picto=="Phrases H sans pictogramme"){

			var action2="tableau_xml_"+i+"=anti_tableau_xml";
			eval(action2); 
		}


	} 
	if (val_picto!="NULL"){
		var action=tit_tableau+"=req_phrase.result_xml";
		eval(action);
	}
}
/***********************************************************************/
/****************** Phrases de danger***********************************/
/***********************************************************************/
function reinit_num_dangers(){
	reinit_tableau(num_danger);
	nb_dang=0;
	/*var form_selected=document.getElementsByTagName("select");*/
	var form_selected=$$('#pictoetphrase select');
	for (var i=0;i<5;i++){
	/*for (var i=2;i<7;i++){*/
		var index_select=form_selected[i].options.selectedIndex;
		var val_brute=form_selected[i].options[index_select].value;
		if (parseInt(val_brute)!=11){
			var val=parseInt(val_brute.substring(1,2));
			}else{var val=parseInt(val_brute)}
			var val_picto=form_selected[i].options[index_select].text;
			if (val!=0){
				nb_dang+=1;
			}
			num_danger[i+1]=new types_danger(val,val_picto);
			/*num_danger[i-1]=new types_danger(val,val_picto);*/
		}
	}
	function affichage_picto(){
		if (nb_dang==1){
			if (num_danger[1].id==0 || num_danger[1].id==11){
				$("picto1").innerHTML="<img src='images/sgh/vide.gif' alt='vide'/>";
				$("picto2").innerHTML="<img src='images/sgh/vide.gif' alt='vide'/>";
				$("picto3").innerHTML="<img src='images/sgh/vide.gif' alt='vide'/>";
				/*passage à 5picto*/
				$("picto4").innerHTML="<img src='images/sgh/vide.gif' alt='vide'/>";
				$("picto5").innerHTML="<img src='images/sgh/vide.gif' alt='vide'/>";
                }else{
				$("picto1").innerHTML="<img src='images/sgh/SGH0"+num_danger[1].id+"-L.gif' alt='SGH0"+num_danger[1].id+"'/>";
				//$("picto2").innerHTML="<img src='images/sgh/SGH0"+num_danger[1].id+"-L.gif' alt='SGH0"+num_danger[1].id+"'/>";
				$("picto2").innerHTML="<img src='images/sgh/vide.gif' alt='vide'/>";
                $("picto3").innerHTML="<img id='a_picto_3' class='picto' src='images/sgh/vide.gif' alt='vide'/>";
                 /*passage à 5picto*/
				$("picto4").innerHTML="<img src='images/sgh/vide.gif' alt='vide'/>";
				$("picto5").innerHTML="<img src='images/sgh/vide.gif' alt='vide'/>";
			}

		}else{
			for (var i=1;i<6;i++){
				if (num_danger[i].id==0 || num_danger[i].id==11){
					$("picto"+i).innerHTML="<img src='images/sgh/vide.gif' alt='vide'/>";
				}else{
					$("picto"+i).innerHTML="<img src='images/sgh/SGH0"+num_danger[i].id+"-L.gif' alt='SGH0"+num_danger[i].id+"'/>";
                   
				}
			}

		}
        
	}
	function creer_gabarit(select_1,index_select){
		var valeur_danger=Array();
		var trouve=false;
		for (var i=1;i<num_danger.length;i++){//initialise les valeurs de dangers déjà présente sur les selects,hormis pour la select qui contient le danger
			if (index_select!=i){
				valeur_danger[i]=num_danger[i].id;
			}
		}
		var tab=Array();
		var k=0;
		if (select_1==true){
			for (var j=1; j<tableau_selects.length;j++){
				trouve=false;
				for (var l=1;l<valeur_danger.length;l++){
					if (tableau_selects[j].valeur==valeur_danger[l] && valeur_danger[l]!=0){
						trouve=true;
					}
				}
				if(trouve==false){
					tab[k]=tableau_selects[j];
					k+=1;

				}
			}
		}else{
			for (var j=0; j<tableau_selects.length;j++){
				trouve=false;
				for (var l=1;l<valeur_danger.length;l++){
					if (tableau_selects[j].valeur==valeur_danger[l] && valeur_danger[l]!=0){
						trouve=true;
					}
				} 
				if (trouve==false){
					tab[k]=tableau_selects[j];
					k+=1;
				}
			}
		}
		return tab;
	}

	function select_modif_dyn(point){
		for (var i=1;i<num_danger.length;i++){
			var gabarit=Array();
			if(i!=point){
				if (i==1){
					gabarit=creer_gabarit(true,i);
				}else{
					gabarit=creer_gabarit(false,i);
				}
				var select_modif=$("sgh"+i);
				var options_select=select_modif.options;
				/* En fonction de ce qui va etre compare entre les options du select et le gabarit, on modifie le dom de la select */
				/* On enleve les noeuds non utilisables*/
				for (var j=0; j<options_select.length;j++){
					trouve=false;
					k=0;
					while (k<gabarit.length && trouve==false){
						if (options_select[j].value==gabarit[k].valeur){
							trouve=true;
							}else{k+=1;}   
						}
						if (trouve==false){
							var remove_node=select_modif.options[j];
							select_modif.removeChild(remove_node);
						}     

					}
					/* De la meme facon on va recree dynamiquement les options manquantes par rapport au gabarit*/
					for (var j=0; j<gabarit.length;j++){
						trouve=false;
						k=0;
						while (k<options_select.length && trouve==false){
							if (options_select[k].value==gabarit[j].valeur){
								trouve=true;
								}else{k+=1;}   
							}
							if (trouve==false){
								var add_node=select_modif.options[j];
								var elmt_option=document.createElement("option"); 
								var text_temporaire="background-image:url('"+ gabarit[j].style +"');";

								elmt_option.setAttribute("value",gabarit[j].valeur);
								elmt_option.setAttribute("style",text_temporaire);
								var texte=document.createTextNode(gabarit[j].texte);
								elmt_option.appendChild(texte);
								var next_node=select_modif.options[j];
								select_modif.insertBefore(elmt_option,next_node);
							}     

						}
					}


				}
			}
			function aff_select_dyn(index,reinit){
				var form_selected=$$('#pictoetphrase select');
				/*var form_selected=document.getElementsByTagName("select");*/
				form_selected[(index-1)].setStyle("display:inline-block;");
				if (reinit==true){
					form_selected[index-1].options.selectedIndex="00";
				}
				$("sgh"+index+"_lab").setStyle("display:inline;");


			}

			function supp_select_dyn(index){
				
				/*var boite_selected=document.getElementsByTagName("select");*/
				var boite_selected=$$('#pictoetphrase select');
				
				boite_selected[index-1].options.selectedIndex="00";
				boite_selected[index-1].setStyle("display:none;");
				
				$("sgh"+index+"_lab").setStyle("display:none;");
				
				reinit_tableau(eval("tab_phrases_"+(index)));
				reinit_tableau(eval("tableau_xml_"+(index)));

				$("les_phrases_sgh_"+(index)).innerHTML="";
				reinit_num_dangers();
				affichage_picto();
			}
			function aff_checkbox_dyn(index){
				$("les_phrases_sgh_"+index).setStyle("display:inline;");
			}
			function supp_checkbox_dyn(index){
				$("les_phrases_sgh_"+(index)).innerHTML="";
				$("les_phrases_sgh_"+index).setStyle("display:none;");
				reinit_tableau(eval("tab_phrases_"+(index)));
			}

function miseajourpicto (index_danger) {

/*initialisation du nb et des valeurs des zones select en fonction de la select qui a changee*/

/*var form_selected=document.getElementsByTagName("select");*/
var form_selected=$$('#pictoetphrase select');
var index_select=form_selected[index_danger-1].options.selectedIndex;
var val_brute=form_selected[index_danger-1].options[index_select].value;
var val=parseInt(val_brute.substring(1,2));

/*reinitialise les valeurs qui vont etre affichees (tableau tab_phrases_x) avant la maj du xml*/

reinit_tableau(eval("tab_phrases_"+index_danger));
reinit_num_dangers();
if (val==0){
	for (var pointeur=index_danger;pointeur<5;pointeur++){
		var ind_temp=pointeur+1;
		supp_select_dyn(ind_temp);
		supp_checkbox_dyn(ind_temp);  

	}
	supp_checkbox_dyn(index_danger);  
}else{
	//prépare le tableau xml après  parsage


	parser_picto(index_danger,true);
	aff_checkbox_dyn(index_danger);
	creer_div_checkbox(index_danger);

} 

for (var n=1;n<=nb_dang;n++){
	if (num_danger[n].valeur_picto=="Phrases H sans pictogramme"){
		reinit_tableau(eval("tab_phrases_"+n));
		creer_div_checkbox(n);

	}

}  
select_modif_dyn(index_danger);
affichage_picto();
$("avertissement_3").innerHTML=init_aper_tab_phrases();
//$("a_avert").innerHTML=init_aper_tab_phrases();

/* reinitialise le tableau des phrases de conseils*/
var tableau_index_risques=Array();
reinit_tableau(tab_conseils);
reinit_tableau(tab_anti_conseils);
var k=1;
for (var i=1;i<6;i++){
	var tab=eval("tab_phrases_"+i);
	
        for (var j=1;j<tab.length;j++){
         tableau_index_risques[k]=tab[j].id;
         k+=1;
     
	}
}
$("post_conseil").value="";
for(var i=1;i<tableau_index_risques.length;i++){
	onclick_recherche_conseils(parseInt(tableau_index_risques[i]));
}
tab_conseils=bullsort(tab_conseils);
creer_div_conseils();
var cible_conseil_apercu=$("aper_conseils");
cible_conseil_apercu.innerHTML="";

if (Existe('select-choixpictos')){col_montre_pictos ();ajuste_pub();}

}
//Cree la div des phrases de danger dans le formulaire sous la select_box correspondante

function creer_div_checkbox(index_danger){

	init_tableau_dyn(index_danger);
        //desinvalide("les_phrases_sgh_1");
	var div_id="les_phrases_sgh_"+index_danger;
	var div_avert=$(div_id);
	var chaine_html="<ul id='lesmentions_"+index_danger+"' class='checklist'>";

	for (var i=1;i<tableau_dyn.length;i++){

		chaine_html=chaine_html+"<li id='li_sgh_"+index_danger+(i)+"'><label id='label_"+(i)+"'><input id='input_"+index_danger+(i)+ "' name='coche_"+index_danger+"' type='checkbox' value='"+tableau_dyn[i].id+"' onclick='javascript:creer_danger("+index_danger+","+i+",\"o\");' />"+tableau_dyn[i].code+" : "+tableau_dyn[i].phrase+"</label>"+tableau_dyn[i].classe+"/ "+tableau_dyn[i].categorie+"</li>";  
		}//fin for

		chaine_html=chaine_html+"<li id='li_sgh_"+index_danger+(i)+"></li></ul>";
		div_avert.innerHTML=chaine_html;
	}
/**/ 
    /************************ Tableaux pour postage**********/
 function compil_tableaux_postages(tableau){
  var chaine="";
   for(var i=1;i<tableau.length;i++){
      chaine=chaine+tableau[i].id+"$"+tableau[i].code+"$"+tableau[i].phrase+"$";
 
 
   }
  return chaine;
 }     
/**/ 

	/*************************reevalue le tableau tab_phrase+index utilisé pour la mise à jour de l'apercu des phrases de danger***************************/

	function init_aper_tab_phrases(){
		var tab_phrases_temp=Array();
		var tab=Array();
		var index=1;
	 	for (var i=1;i<6;i++){
			tab=eval("tab_phrases_"+i+";");
		/**/	eval("post_danger_"+i+"=compil_tableaux_postages(tab);");/**/ 
                     /**/   for (var j=1;j<tab.length;j++){
                          tab_phrases_temp[index]=tab[j];
                       index+=1;
                       }/**/ 
		}
		tab_phrases_temp=bullsort(tab_phrases_temp);
		var chaine="";
		for (var index=1;index<tab_phrases_temp.length;index++){
			chaine=chaine+"<span class='danger'>"+tab_phrases_temp[index].code+": "+tab_phrases_temp[index].phrase+"<br></span>";
		}
		return chaine;

	}  
	/*Initialise le tableau dynamique en fonction du danger selectionné 1 2 ou 3*/
	function init_tableau_dyn(index_danger){
		eval("tableau_dyn=tableau_xml_"+index_danger+";");
	}


/* Fonction dont on va se servir pour plusieurs boutons a cocher*/

function remplit_liste(index_danger){
	var tab_xml_temp;
	var tableau=Array();
     
	eval("tab_xml_temp=tableau_xml_"+index_danger+";");
       
	var coche=document.getElementsByName('coche_'+index_danger);
	var j=1;
	for (i=0;i<coche.length;i++){

		if (coche[i].checked) {
			for(var k=1;k<tab_xml_temp.length;k++){
                           
				if (tab_xml_temp[k].id==coche[i].value){
                                   
				    tableau[j]=new types_phrases(tab_xml_temp[k].id,tab_xml_temp[k].mention,tab_xml_temp[k].picto,tab_xml_temp[k].phrase,tab_xml_temp[k].code);
                                     j+=1;

                            
                           }
			}	
		}
		var chaine_eval="tab_phrases_"+index_danger+"=tableau;"
		eval(chaine_eval);
	}  

}


/*****************Verifie si la phrase de danger cochée est éditable, si oui il cree un formulaire spécifique****************/

function editable(dang,ind){
	var danger=dang.toString();
	var index=(ind).toString();
	var suivant=(ind+1).toString();
	var tab=eval("tableau_xml_"+dang);
	var element=$("input_"+dang+index);
	if (element.checked==true && tab[ind].edit==1){
		//var cible=$("li_sgh_"+dang+suivant);  Bug phrase H273
		var cible=$("li_sgh_"+dang+index);
		insert_editable_danger_conseil("form_temp",cible,dang,ind,tab,"javascript:maj_phrase('"+dang+"',"+ind+")");
		var element_cache=$("li_sgh_"+dang+index);
		element_cache.setStyle("display:none;");
	}
} 
/************* Permet la mise à jour de la phrase de danger éditée dans l'apercu************************/
function maj_phrase(dang,ind){
	var dom_textarea=$('text_temp');
	var texte=dom_textarea.value;
	texte=remplace(texte);
	var index=(ind).toString();
	var chaine="tableau_xml_"+dang+"["+ind+"].phrase=\""+texte+"\";";
	eval(chaine);
	var graf=$('form_temp');
	graf.innerHTML="";
	var cible=$("lesmentions_"+dang);
	cible.removeChild(graf);
	var element_cache=$("li_sgh_"+dang+index);
	element_cache.setStyle("display:inline;");
	remplit_liste(dang);
	/*$("avertissement_"+dang).innerHTML="";*/
	$("avertissement_3").innerHTML=init_aper_tab_phrases(1);
      
}   
/*********************** effectue les actions après cochage d'un item des phrases de danger*******************************/
/**/function return_id_mention(mention){
switch(mention){
 case "ATTENTION":
   return 1;
   break;
 case "DANGER":
   return 2;
   break;
 case "PDM":
   return 3;
   break;
 }
}/**/
function creer_danger(index_dang,index_coche,edit){

   /**/ //desinvalide("les_phrases_sgh_"+index_dang);/**/  
     if (edit=='o'){      
	editable(index_dang,index_coche);
     }
	init_tableau_dyn(index_dang);
	remplit_liste(index_dang);
	var i=0;


/*met à jour les mentions et choisis la mention à afficher*/

choix_mention();
/* Met à jour dans la div d'apercu*/

var cible_mention=$("mention_3");
var cible_a_mention=$("a_mention");
/**/var cible_post_mention=$("post_mention");/**/

	$("avertissement_3").innerHTML=init_aper_tab_phrases();
	/**/cible_mention.innerHTML=mention_dyn;/**/
     /**/   cible_post_mention.value=return_id_mention(mention_dyn);/**/

/* fait apparaitre les autres selects ou */
var boite_selected=document.getElementsByTagName("select");

/* cache le select suivant si toutes les phrases du contenu sont décochées*/
if (index_dang<5){
	var tab=eval("tab_phrases_"+(index_dang));

	if ((tab.length==0)){ select_modif_dyn(index_dang);
		for (var pointeur=index_dang;pointeur<boite_selected.length-7;pointeur++){
			var ind_temp=pointeur+1;
			supp_select_dyn(ind_temp);
			supp_checkbox_dyn(ind_temp);  
			affichage_picto();
			select_modif_dyn(ind_temp);
			$("avertissement_3").innerHTML=init_aper_tab_phrases();
          
		}

	}else{
		var ind_temp=index_dang+1; 

		aff_select_dyn(ind_temp,false);

		aff_checkbox_dyn(ind_temp);
		
	}
}
/*remplit le tableau_xml_conseils*/
reinit_tableau(tab_conseils);
var tableau_index_risques=Array();
var k=1;
for (var i=1;i<6;i++){
	var tab=eval("tab_phrases_"+i);
	/**/for (var j=1;j<tab.length;j++){/**/
		tableau_index_risques[k]=tab[j].id;
                k+=1;
	}
}
for(var i=1;i<tableau_index_risques.length;i++){
	onclick_recherche_conseils(parseInt(tableau_index_risques[i]));
}
tab_conseils=bullsort(tab_conseils);
creer_div_conseils();
/**/$("post_danger_1").value=post_danger_1;
 $("post_danger_2").value=post_danger_2;
 $("post_danger_3").value=post_danger_3;
 $("post_danger_4").value=post_danger_4;
 $("post_danger_5").value=post_danger_5;
 /**/
}

/*******************************************************************************/
/*****************Phrases de risques additionnelles*****************************/
/*******************************************************************************/

/***********************Cree la div de checkbox phrases additionnelles dans le formulaire**********/

function creer_div_phrases_opt(){
	var cible_opt=$("phrases_opt");
	var chaine="<ul id='ul_phrase_opt'>";
	for (var i=1;i<tableau_xml_add.length;i++){
		chaine=chaine+"<li id='li_opt_"+(i)+"'><input id='input_opt_"+(i)+"' class='li_opt' name='coche_add' type='checkbox' value='"+tableau_xml_add[i].id+"' onclick='javascript:creer_phrases_add("+tableau_xml_add[i].id+",\"o\");'/>"+tableau_xml_add[i].code+":"+tableau_xml_add[i].phrase+"</li>";

	}
	chaine=chaine+"</ul>";
	cible_opt.innerHTML=chaine;
}
/*********************cree les phrases additionnelles dans l'apercu en fonction des cases cochées*****/

function creer_phrases_add(indice,edit){
index=trouver_key_id(tableau_xml_add,indice,"id");
    if (edit=='o'){
	editable_add(index);
	}
	maj_apercu_add();
}
function maj_apercu_add(){
	var val_temp; 
	var cible_phrases_add=$("aperc_opt");
	var tableau_coche_opt=document.getElementsByName("coche_add");
	var chaine="";
/**/	var chaine_post=""; /**/
	for (i=0;i<tableau_coche_opt.length;i++){
		val_temp="";
		if (tableau_coche_opt[i].checked){

			val_temp=tableau_coche_opt[i].value;
			/* if (document.implementation && document.implementation.createDocument){
			val_temp=tableau_coche_opt[i].nextSibling.textContent;
			}else{
			val_temp=tableau_coche_opt[i].parentNode.innerText;
			}*/ 
                        var indice=parseInt(trouver_key_id(tableau_xml_add,val_temp,"id"));
			chaine=chaine+"<span>"+tableau_xml_add[indice].phrase+". </span>";
                /**/    chaine_post=chaine_post+tableau_xml_add[indice].id+"$"+tableau_xml_add[indice].code+"$"+tableau_xml_add[indice].phrase+"$"; /**/
		}
	}
	chaine=chaine+"</ul>";
	cible_phrases_add.innerHTML=chaine;

        $("post_option").value=chaine_post;/**/
	
   /**/     
}
/***************************Edition des phrases additionnelles*********************************/

function editable_add(ind){

	var index=(ind).toString();
	var suivant=(ind+1).toString();
	var element=$("input_opt_"+index);
	if (element.checked==true && tableau_xml_add[ind].edit==1){
		var cible=$("li_opt_"+suivant);
		insert_editable_danger_conseil("form_temp_add",cible,"",ind,tableau_xml_add,"javascript:maj_phrase_add("+ind+");");
		var element_cache=$("li_opt_"+index);
		element_cache.setStyle("display:none;");

	}
} 
/************* Permet la mise à jour de la phrase additionnelle éditée dans l'apercu************************/
function maj_phrase_add(ind){
	var dom_textarea=$('text_temp');
	var texte=dom_textarea.value;
	texte=remplace(texte);
	var index=(ind).toString();
	tableau_xml_add[ind].phrase=texte;

	var graf=$('form_temp_add');
	graf.innerHTML="";
	var cible=$("ul_phrase_opt");
	cible.removeChild(graf);
	var element_cache=$("li_opt_"+index);
	element_cache.setStyle("display:inline;");

	maj_apercu_add();
}

/********************************************************************************************/
/********************Phrases de conseil******************************************************/
/********************************************************************************************/

/************parse le xml et extrait les phrases recherchées**********************************/
function creer_original_conseils(){

var req_phrase_conseils=new AJAX("xml/phrases_conseils.xml","","");
var xml_original_conseils=req_phrase_conseils.result_xml;


tab_original_conseils[0]=new init_phrase_add(0,"0","0","0");

  for (var i=1;i<xml_original_conseils.length;i++){
    tab_original_element=new init_phrase_add(xml_original_conseils[i].id,xml_original_conseils[i].code,xml_original_conseils[i].phrase,xml_original_conseils[i].edit);
    tab_original_conseils.push(tab_original_element);
  }


}

function parse_anti_tab_conseils(){

var temp_0=new init_phrase_add("0","0","0","0");
tab_anti_conseils.push(temp_0);
var indice_trouve=0;

for (var j=1;j<tab_original_conseils.length;j++){
  indice_trouve=existe_tab_id(tab_original_conseils[j].code,tab_conseils,"N");

  if (indice_trouve==0){
     tab_anti_conseils.push(tab_original_conseils[j]);
     //tab_original_conseils=supp_elem_tableau(tab_original_conseils,j);
  }
}
tab_anti_conseils=bullsort(tab_anti_conseils);
}

function existe_tab_id(code,tableau,orig){
var exis="false";
/*if (orig=="O"){
var i=0;
}else{*/
var i=1;
var indice=0;
//}
do {
  if (tableau[i].code==code){
  
    exis="true";
    indice=i;
    }
	i+=1;
 
}while(i<tableau.length && exis=="false")
return indice;
}
function onclick_recherche_conseils(id){

	var id_xml;
	var liste_id=resultat_xml.getElementsByTagName("ID");
	var liste_conseil=resultat_xml.getElementsByTagName("conseils");
	var longueur=parseInt(liste_id.length);
	var compt=0;
	var trouve=false;
	

	do{
		id_xml=parseInt(liste_id.item(compt).firstChild.data);
		
		var elements_conseils=liste_conseil.item(compt);
			
			var dom_id_conseil=elements_conseils.getElementsByTagName("ID_conseil");
			var dom_code=elements_conseils.getElementsByTagName("code");
			var dom_phrase=elements_conseils.getElementsByTagName("phrase_conseil");
			var dom_edit=elements_conseils.getElementsByTagName("edit_conseil");
			
			
		if(id_xml==parseInt(id)){
			trouve=true;
			
			/*parcours du dom de phrases de risques xml pour extraire les elements correspondants*/
			for (var j=0;j<dom_code.length;j++){
				/*comparaison avec tab_conseils*/
				var existe=false;
				
							/*mise en place des elements communs*/       
				if (tab_conseils.length<2){
					tab_conseils[1]=new init_phrase_add(1,"P101","En cas de consultation d'un médecin, garder à disposition le récipient ou l'étiquette","0");
					tab_conseils[2]=new init_phrase_add(2,"P102","Tenir hors de portée des enfants","0");
					tab_conseils[3]=new init_phrase_add(3,"P103","Lire l'étiquette avant utilisation","0");
					//tab_conseils[4]=new init_phrase_add(136,"P501","Éliminer le contenu/récipient conformément à la réglementation locale/régionale/nationale/internationale.","1");
					//tab_conseils[5]=new init_phrase_add(137,"P502","Se reporter au fabricant/fournisseur pour des informations concernant la récupération/le recyclage.","1");
					//tab_anti_conseils[0]=new init_phrase_add(0,"0","0","0");
				}else{
					var k=4;
					
					while (existe==false && k<tab_conseils.length){
						
						if (dom_code.item(j).firstChild.data==tab_conseils[k].code){
							existe=true;
							
						}
                             
                        						
						k+=1;
					}
				}
				if (existe==false){
					var valeur_tab_conseil=new init_phrase_add(dom_id_conseil.item(j).firstChild.data,dom_code.item(j).firstChild.data,dom_phrase.item(j).firstChild.data,dom_edit.item(j).firstChild.data);
					tab_conseils.push(valeur_tab_conseil);
				}
			}

		}

		compt=compt+1;
		}while(compt < longueur && trouve==false)
                reinit_tableau(tab_anti_conseils);
		parse_anti_tab_conseils();
		
					
			
	}
	function creer_div_conseils(){
		var cible_conseil=$("conseils");
                cible_conseil.innerHTML="";
		var chaine="<p><b>Conseils de prudence recommandés avec les pictogrammes choisis : </b></p><ul id='ul_conseils'>";
		var longtc=tab_conseils.length;
		for (var i=1;i<tab_conseils.length;i++){
			chaine=chaine+"<li id='li_conseil_"+i+"'><input id='input_conseil_"+i+"' class='li_conseil' name='coche_conseil' type='checkbox' value='"+tab_conseils[i].id+"' onclick='javascript:creer_conseil("+tab_conseils[i].id+",\"o\");'/>"+tab_conseils[i].code+":"+tab_conseils[i].phrase+"</li>";

		}
                chaine=chaine+"<li id='li_conseil_"+(i)+"'></li>"+"</ul>";
		/*ajout des conseils P non selectionnes par les pictos*/
		var chaine2="";
		var debut2=parseInt(tab_conseils.length);
                
		for (var i=1;i<tab_anti_conseils.length;i++){
                      
			chaine2=chaine2+"<li id='li_conseil_"+(debut2+i)+"'><input id='input_conseil_"+(debut2+i)+"' class='li_conseil' name='coche_conseil' type='checkbox' value='"+tab_anti_conseils[i].id+"' onclick='javascript:creer_conseil("+tab_anti_conseils[i].id+",\"o\");'/>"+tab_anti_conseils[i].code+":"+tab_anti_conseils[i].phrase+"</li>";

		}
		chaine=chaine+"<p><b>Autres Conseils de prudence :</b></p><ul id='ul_autres_conseils'>"+chaine2+"<li id='li_conseil_"+(debut2+i)+"'></li>"+"</ul>"
		
    cible_conseil.innerHTML=chaine;
	}
	function creer_conseil(i,edit){
            if (edit=='o'){
		editable_conseil(i);
		}
                //desinvalide("conseils");
		maj_apercu_conseil();
	}
	function maj_apercu_conseil(){
		var val_temp; 
		var cible_conseils_aper=$("aper_conseils");
		var tableau_coche_conseil=document.getElementsByName("coche_conseil");
		var chaine="";
		/**/var chaine_post="";/**/
		for (i=0;i<tableau_coche_conseil.length;i++){
			val_temp="";
                       
			if (tableau_coche_conseil[i].checked){
               val_temp=tableau_coche_conseil[i].value;
		 var indice=parseInt(trouver_key_id(tab_conseils,val_temp,"id"));		
                if (indice!=-1){
                                
				
				chaine=chaine+"<span class='conseil'>"+tab_conseils[indice].code+": "+tab_conseils[indice].phrase+"<br></span>";
				/**/chaine_post=chaine_post+tab_conseils[indice].id+"$"+tab_conseils[indice].code+"$"+tab_conseils[indice].phrase+"$";/**/
				}else{
				
                                 indice=parseInt(trouver_key_id(tab_anti_conseils,val_temp,"id"));
				chaine=chaine+"<span class='conseil'>"+tab_anti_conseils[indice].code+": "+tab_anti_conseils[indice].phrase+"<br></span>";
				/**/chaine_post=chaine_post+tab_anti_conseils[indice].id+"$"+tab_anti_conseils[indice].code+"$"+tab_anti_conseils[indice].phrase+"$";/**/

				}
			}
		}
		chaine=chaine+"</ul>";
		cible_conseils_aper.innerHTML=chaine;
		/**/ $("post_conseil").value=chaine_post;/**/

	}

function editable_conseil(ind){
var index=trouver_key_id(tab_conseils,ind,"id");
if (index!=-1){

		var suivant=(index+1).toString();
		var index=(index).toString();
		var element=$("input_conseil_"+index);
		
		 if (element.checked==true && tab_conseils[index].edit==1){
		    
			var cible=$("li_conseil_"+suivant);
			insert_editable_danger_conseil("form_temp_conseil",cible,"",index,tab_conseils,"javascript:maj_phrase_conseil("+ind+");");
			var element_cache=$("li_conseil_"+index);
			element_cache.setStyle("display:none;");
        
		}
	} else{
		 var indice_dans_anti_tab=trouver_key_id(tab_anti_conseils,ind,"id");
                 var index=(indice_dans_anti_tab+tab_conseils.length).toString();
		 var suivant=(indice_dans_anti_tab+tab_conseils.length+1).toString();
		
		var element=$("input_conseil_"+index);   
			
		   if (element.checked==true && tab_anti_conseils[indice_dans_anti_tab].edit==1){
			var cible=$("li_conseil_"+suivant);
			insert_editable_danger_conseil("form_temp_conseil",cible,"",indice_dans_anti_tab,tab_anti_conseils,"javascript:maj_phrase_conseil("+ind+");");
			var element_cache=$("li_conseil_"+index);
			element_cache.setStyle("display:none;");
                  }
		}
}
	/************* Permet la mise à jour de la phrase additionnelle éditée dans l'apercu************************/
	function maj_phrase_conseil(ind){
        var index=trouver_key_id(tab_conseils,ind,"id");
		var cibleac= 0;
		 var dom_textarea=$('text_temp');
	var texte=dom_textarea.value;
	texte=remplace(texte);
        var tableau_li=$("conseils").getElementsByTagName("input");
	var level=trouver_key_id(tableau_li,ind,"value").toString();
       
        if (index!=-1){
	
	        var index_li=(parseInt(level)+1).toString();
	  tab_conseils[index].phrase=texte;
	}else{
         var index=trouver_key_id(tab_anti_conseils,ind,"id");
    	   var index_li=(parseInt(level)+2).toString();
	  tab_anti_conseils[index].phrase=texte;
	  cibleac=-1;
	  
	}
		
		
		var graf=$('form_temp_conseil');
		graf.innerHTML="";
		if(cibleac!=-1){var cible=$("ul_conseils");}
			else{var cible = $('ul_autres_conseils');}
		cible.removeChild(graf);
		var element_cache=$("li_conseil_"+index_li);
		element_cache.setStyle("display:block;");

		maj_apercu_conseil();
	}
	function desinvalide(id){
$(id).className="normal";

}
	/**********************************************************/
	/********* Choix automatique de la mention*****************/
	/**********************************************************/


/*fonction du choix de la mention de danger: Attention ou Danger */
function eval_mention(mention){


	var valeur_mention;
	switch (mention){
		case "PDM":
		valeur_mention=0;
		break;
		case "ATTENTION":
		valeur_mention=10;
		break;
		case "DANGER":
		valeur_mention=100;
		break;

	}
	return valeur_mention;
}

function choix_mention(){
	var tab_temp=Array;
	for (i=1;i<6;i++){
		eval("tab_temp=tab_phrases_"+i+";");
		if (tab_temp.length>1){
			var somme_temp=0;
			for (j=1;j<tab_temp.length;j++){

				somme_temp=somme_temp+eval_mention(tab_temp[j].mention);
			}
			if (somme_temp < 9){
				eval("mention_"+i+"=0;");

			}else if ((somme_temp > 9) && (somme_temp < 99)){
				eval("mention_"+i+"=10;");

			}else{
				eval("mention_"+i+"=100;");

			}
			}else{eval("mention_"+i+"=0;");}
		}

		var somme_mention=parseInt(parseInt(mention_1)+parseInt(mention_2)+parseInt(mention_3)+parseInt(mention_4)+parseInt(mention_5));
		if (somme_mention < 9){
			mention_dyn="";

		}else if ((somme_mention > 9) && (somme_mention < 99)){
			mention_dyn="ATTENTION";

		}else{
			mention_dyn="DANGER";

		}

	}

/* fin de fonction du choix de la mention de danger: Attention ou Danger*/


/***************************************************************************/
/*script de récupération dynamique des données avant  le post du formulaire dans la base */
/***************************************************************************/

function postetiquette(){
	var chainepost =""; /*création initialisation d'une variable intermediaire de stockage des données dynamique*/
	var donneapercu= $('apercunu').innerHTML; /*création d'une variable intermediaire pour la récupération du contenu de la div apercu_etiquette */
	chainepost= chainepost +donneapercu; /*mise à jour de la variable de stockage avec la variable de récupération*/
	$('champs_cache').value=chainepost; /*A l'appel de la fonction, mise à jour de la valeur du champs_cache*/
        
	var nomdeletiquette = $('produit').innerHTML;
	$('nom_cache').value=nomdeletiquette;
	
	$('autcache').value=$('idcache').value;
	$('cle').value =$('clefcache').value;
	$('cas_cache').value=$('cas').value;
	$('ce_cache').value=$('ce').value;

	var formatimpression ="";
	formatimpression =formatimpression+switcher.body.className ; 
	$('impressioncache').value= formatimpression;
	
	$('boutons_admin').innerHTML='';
	
	new Ajax.Updater('message','postetiquette.php',{method: 'post',asynchronous:true, parameters: Form.serialize('formulaire'), evalScripts : true, onComplete: function () {
						/*new Effect.Highlight('message', 	{duration:1, endcolor: '#C0C0C0'});*/
						new Effect.BlindDown('message', 	{duration:1})
						$('message').addClassName('messageavertissement');
						}//fin function de onComplete
						}); //fin des parametres Ajax.updater 


} //fin de postetiquette


/***************************************************************************/
/********* fonction de clonage de l'etiquette, pour impression multiple*****/
/***************************************************************************/
function init_clone(){
	
		$$('div.nbc').each(function(Element){Element.remove();});/*nettoyage de toutes les div de classe nbc au chargement*/
	Event.observe('formtravail', 'click', clone_etiq, false); //mise à jour des clones à chage action sur formtravail
	Event.observe('formtravail', 'change', clone_etiq, false);
	
	}
	
function clone_etiq (){
	
	//suppression des anciennes copies de classe nbc: initialisation de la fonction
	$$('div.nbc').each(function(Element){Element.remove();});
	
	var choix=$F ('select-choixcopies');
	if (choix!='planche'){//si on choisi pas planche d'impression
	$('titreapercu').update('<h3>Aperçu de l\'étiquette :</h3>');//on remet le titre par defaut, s'il a été changé
		if (Existe('ajoutplanche')){$('ajoutplanche').hide();//si les bouttons d'ajout a la planche existe on les cachent
								$$('div.mbc').each(function(Element){Element.remove();});//on supprime les elements de la planche
								}//fin de bouton existe
								
	//recupération du nb de copie voulue : 4ieme caractère du select dédié		
	var nbcopies =$F('select-choixcopies').charAt(3);
	for (i=1; i<nbcopies; i++){
		
		var divcopie= $('copie').insert(new Element('div', { 'class': 'nbc', 'id': 'copie'+i }));
		$('copie'+i).insert($('apercunu').innerHTML).down();
		
		}//fin de for
	}//fin de on a pas choisi la planche : else on choisi la planche
	else {//creation et show du bouton ajouter a la planche d'impression, s'il n'existe pas	
	
	if (!Existe('ajoutplanche')){//s'il le bouton d'ajout n'existe pas on le cré
		
		var spanplanche = $('choixcopies').insert(new Element('span', { 'id': 'ajoutplanche' }));
		
	$(spanplanche).insert({ bottom: '<a  class="bouton" id="bouttonPlanche" title="L\'étiquette en cours sera ajoutée en fin de planche. A la fin des ajouts : Imprimer le tout" onclick="ajouteplanche();" > </a>&nbsp;&nbsp;&nbsp;'});
	$(spanplanche).insert({ bottom: '<a  class="bouton" id="supprimePlanche" title="La dernière étiquette de la planche sera supprimée" onclick="supprimeplanche();" > </a>'});
		
		
	}else {// si le boutton existe on le montre pour le retour et eviter les doublons de creation de bouton
			$('ajoutplanche').show();
			$('titreapercu').update('<h3>Aperçu de la Planche d\'Impression: étiquette en cours d\'élaboration + étiquettes ajoutées</h3>');//on change le titre
		}
	}//fin de creation du bouton
largeur_hauteur();//coupe de la planche après creation des clones (bug firefox sur la propieté css page-break-after)
	
}//fin de clone etiquette


//creation de la planche d'impression, et ajout des etiquettes
function ajouteplanche(){
		var j = $('copie').childNodes.length;//on compte les enfants existants de copie
		var i= j+1;//definition de l'increment pour id et different de zero
		
		var divcopie= $('copie').insert(new Element('div', { 'class': 'mbc', 'id': 'copie'+i }));
		$('copie'+i).insert($('apercunu').innerHTML).down();
		
	}//fin de function ajoute planche
	
//suppression de la dernière etiquette de la planche	
function supprimeplanche(){
	if( Existe('copie'+1)==true){
var j = $('copie').childNodes.length;
$('copie'+j).remove();}
}

/**************recupération de la largeur et hauteur de l'etiquette/planche pour couper au bon endroit avant impression***********/

function largeur_hauteur(){//determination de la hauteur et largeur d'un element html en px, puis conversion en mm


$$('.coupure').each(function(Element){Element.removeClassName('coupure');});//nettoyage des  classes des div copiei
var objhtml = $('apercu_etiquette');

 var divHeight=objhtml.getHeight();
 var divWidth=objhtml.getWidth()
//calcul de la hauteur de l'element

if( Existe('copie'+1)==true){
var j = $('copie').childNodes.length;//on compte le nombre de copies on determine le nb d'element à imprimer
var nb_element_a_imprimer = j+1;
	//if ($('copie'+1).visible() )
	if ($('copie'+1).getStyle('display')!='none' )
				{var hauteurmm = Math.round(divHeight/4.4);}
				else{
					var hauteurmm = Math.round(divHeight*nb_element_a_imprimer/4.4);
					}
	}else {//copiei n'existe pas
		var nb_element_a_imprimer =1;
		var hauteurmm = Math.round(divHeight*nb_element_a_imprimer/4.4);
	}

//console.info('hauteur en mm='+hauteurmm+'mm');
var largeurmm = Math.round(divWidth/4.4);//hauteur moyenne arrondie+/- 4mm
//console.info('largeur en mm='+largeurmm+'mm');
var limiteimprimable = 248;//en mm
if (hauteurmm>limiteimprimable){ var coupe=true;}else {  var coupe =false;}
//console.info('coupure ='+coupe);

if (coupe==true)
	{
	if( Existe('copie'+1)==true){
var j = $('copie').childNodes.length;//on compte le nombre de copies on determine le nb d'element à imprimer
var nb_element_a_imprimer = j+1;
	}else {
		var nb_element_a_imprimer =1;
	}
	hauteur1element = hauteurmm/nb_element_a_imprimer;//calcul de l'étiquette à partir de laquelle il faut couper
	//console.info('hauteur d un element ='+ hauteur1element+'mm');
	var nb_element_imprimable_page = Math.floor(limiteimprimable/hauteur1element)-1;
	//console.info('nb_element_imprimable_page ='+ nb_element_imprimable_page);
	for(var k=nb_element_imprimable_page; k<nb_element_a_imprimer; k=k+nb_element_imprimable_page+1){
		//console.info('k='+k);
		$('copie'+k).addClassName('coupure');//on affecte la classe coupure aux div copiei
	
	
			}//fin de for : attribution de la classe coupure
	}//fin de coupe existe
}//fin de largeur_hauteur()

/***************inclusion du code js pour la fermeture message apres traitement php et suppression du bug IE7*****************/
function ferme_message_avertissement(){$('message').innerHTML='';$('message').removeClassName('messageavertissement');}

/***************************************************************************/
/********* gestion du compte utilisateur, espace membre*********************/
/***************************************************************************/


//fonction appelée a la soumission du formulaire de connexion à l'espace membre
	function ajaxconnect(id,url) 	{
						  
						new Ajax.Updater(id,url,{method: 'post', parameters: Form.serialize('formconn'),asynchronous:true, evalScripts : true, onComplete: function () {
						new Effect.Highlight('session', 	{duration:1, endcolor: '#C0C0C0'});
						if($('droitcache').value!='erreur')
							{$('formconn').toggle();  $('lienpartage').toggle(); $('lienconnexion').toggle();$('liendeconnexion').toggle();$('pass').value='';toogle_inscription('lieninscription');toogle_inscription('passperdu');toogle_inscription('formpassperdu');
							}//fin de if
					    /**/    $('post_id_auteur').value=$('id_auteur_cache').value;/**/
						$('message').innerHTML='';$('message').removeClassName('messageavertissement');
						}//fin function de onComplete
						}); //fin des parametres Ajax.updater 
						
						} //fin ajaxconnect
						
	//fonction  de déconnexion de l'espace membbre
	function deconnexion(){ $('lienconnexion').toggle();$('liendeconnexion').toggle();$('lienpartage').toggle();$F('droitcache').value =''; $('clefcache').value='';$('session').innerHTML='';$('session').innerHTML= "<input type='hidden' id='droitcache' name ='droitcache' value =''><input type='hidden' id='idcache' name ='idcache' value =''><input type='hidden' id='clefcache' name ='clefcache' value =''>";$('boutons_admin').innerHTML='';$('post_id_auteur').value='';toogle_inscription('lieninscription');toogle_inscription('passperdu');
	
	}
	
	

/***************************************************************************/
/********* gestion de l'autocompletion*********************/
/***************************************************************************/

//fonction d'initialisation de l'autocompletion, (placée au chargement dans head de etiquette.php pour surveillance si autocompletion est activée);
 function initparam(){//fonction charger dans  le head pour activer autocompletion au chargement, et divers traitements ajax
	
	var tabreq =[];
if ($('checkvalide').checked){tabreq.push( $('checkvalide').name)};
if ($('checkperso').checked){tabreq.push( $('checkperso').name)};
if ($('checktoute').checked){tabreq.push( $('checktoute').name)};
if (!$('checkvalide').checked && !$('checkperso').checked && !$('checkperso').checked) {tabreq=['']}
stg='';
var lg=tabreq.length;
for (i=0;i<lg-1; i++){
stg=stg+"'"+tabreq[i]+"'"+',';
}
stg=stg+"'"+tabreq.last()+"'";
string='['+stg+']';
//console.info('string='+string)


$('nom').writeAttribute('onfocus',"javascript:  var options = {  script: 'autocompletion.php',  varname: 'nom',   shownoresults: true,  maxentries:"+ $('maxresults').value+", delay:"+ $('delay').value+",timeout:"+ $('timeout').value+", controle: 'activauto', idcache: 'idcache', clefcache: 'clefcache', cache : 'false', requete :"+string+", infosup : [{info : 'Nom-Formule : '}, {cas : 'Cas : '}, {ce : 'Ce : '}, {auteur : 'Auteur : '}], callback: function (obj) { autonom(obj.id,''); } };  var autocompl_nom=new AutoComplete('nom',options);return true;" );

$('cas').writeAttribute('onfocus',"javascript:  var options = {  script: 'autocompletioncas.php',  varname: 'cas',   shownoresults: true,  maxentries:"+ $('maxresults').value+", delay:"+ $('delay').value+",timeout:"+ $('timeout').value+", controle: 'activauto', idcache: 'idcache', clefcache: 'clefcache', cache : 'false', requete :"+string+", infosup : [{info : 'Nom-Formule : '}, {cas : 'NOM : '}, {ce : 'Ce : '}, {auteur : 'Auteur : '}],  callback: function (obj) { autonom(obj.id,''); } };  var autocompl_nom=new AutoComplete('cas',options);return true;" );

$('ce').writeAttribute('onfocus',"javascript:  var options = {  script: 'autocompletionce.php',  varname: 'ce',   shownoresults: true,  maxentries:"+ $('maxresults').value+", delay:"+ $('delay').value+",timeout:"+ $('timeout').value+", controle: 'activauto', idcache: 'idcache', clefcache: 'clefcache', cache : 'false', requete :"+string+", infosup : [{info : 'Nom-Formule : '}, {cas : 'cas : '}, {ce : 'NOM : '}, {auteur : 'Auteur : '}],  callback: function (obj) { autonom(obj.id,''); } };  var autocompl_nom=new AutoComplete('ce',options);return true;" );


						
/**** suite init param : actver-deactiver l'autocompletion avec la checbox *****/

 	if (!($('activauto').checked)){ 
	//autocomplete.disable=true;
	$('rech').update('Recherche désactivée');
	$('config_rech').hide();
	$('confignom').hide();
	$('nom').writeAttribute('onfocus',"");
	$('cas').writeAttribute('onfocus',"");
	$('ce').writeAttribute('onfocus',"");
	//$('nom').stopObserving('blur').stopObserving('keydown');
	$('nom').removeClassName('recherche');
	$('cas').removeClassName('recherche');
	$('ce').removeClassName('recherche');
	$('rechnom').update('');
	$('rechcasce').update('');
	
	}else {
			//autocomplete.disable=false;
			$('rech').update('Recherche activée');
			$('config_rech').show();
			$('rechnom').update('(Recherche activée)');
			$('rechcasce').update('(Recherche activée)');
			$('cas').addClassName('recherche');
			$('nom').addClassName('recherche');
			$('ce').addClassName('recherche');
			
			}
	
//desactiver le cache des navigateurs  sur le champs nom pour l'autocompletion
$('nom').setAttribute('autocomplete', 'off');
$('cas').setAttribute('autocomplete', 'off');
$('ce').setAttribute('autocomplete', 'off');
//initialisation de la coupe de la planche			
Event.observe('formulaire', 'click', largeur_hauteur, false);
Event.observe('fournisseur', 'change', init_fourn);

//if(($$('html')[0]).hasClassName('js')){$('infosup').removeClassName('messageavertissement');$('infosup').update('');}


}//fin initparam()

function init_fourn (){
	if ( $('fournisseur').options.selectedIndex ==0)
	{$('autrefourn').show();$('astuce').show();}
	else {$('autrefourn').hide();$('astuce').hide();}
	}


/***************************************************************************/
/********* traitement  du retour de l'autocompletion*********************/
/***************************************************************************/



/*******apres l'autocompletion on charge l'etiquette dans l'apercu et peuple les champs grace a sa valeur id recuperé dans le <li> et la base******/

	function autonom(id,depart) {
		
		
		
	if (depart=='crud'){
           hs.close();

        }				 
	var adresse = './php/moteur/export_etiquette.php'; //traitement ajax de sortie des données de la base
	var parameters="id_etiquette="+id;
	var xhr=new Ajax.Request(adresse,{method:'post',postBody:parameters,onComplete:miseajourchamp}); //fin de sortie : traitement des champs
	
	
	}//fin autonom
	
/*divers traitement et fonctions necessaires à la suite du traitement*/	
	
function trouver_key_id(tableau,valeur,label){
 if (label=="id"){
var i=1;
}else{
var i=0;
}
var trouve=false;

while (i<tableau.length && trouve==false){
 if (label=="id"){
  if (parseInt(tableau[i].id)==valeur){
    trouve=true;
  }else{
  i+=1;
 }
}else if (label=="value"){
var valeur_tableau=parseFloat(tableau[i].value);
//alert(tableau.length+","+valeur_tableau);
 if (valeur_tableau==valeur){
    trouve=true;
  }else{
  i+=1;
 }

}
}
if (i<tableau.length){
 return i; 
}else{
 return -1;
}


}	
	

//operations de parsages d'un picto apres export_etiquette
function export_danger(index,string){
  aff_select_dyn(index+1,true);
  var tableau_checked=parse_tableau_checked(string);
 
}

//parsage du tableau de comparaison depuis la string renvoyee par le xml
function parse_tableau_checked(string){
var splittage=string.split("$");
var tableau_split=new Array();
var nb_elements=Math.floor(splittage.length/3);
 for (var i=0;i<nb_elements;i++){
   tableau_split.push(new init_phrase_add(splittage[3*i],splittage[(3*i)+1],splittage[(3*i)+2],0));
 }
return tableau_split;
}

//mise ajourchamps() :on repeuple les champs de la premiere partie de formtravail avec les données;
function supp_input_label(texte_inner){
var resultat=new Array();
 //trouve la balise input dans le texte
var position_balise_fin=texte_inner.indexOf(">");
//Decompose le texte trouve en fonction de la balise input et du texte
 resultat[0]=texte_inner.substring(0,position_balise_fin+1);
 resultat[1]=texte_inner.substring(position_balise_fin+1,texte_inner.length);
return resultat;
}

function inscrire_checked(index_danger,input_tab,tab_check,element_dom){

 var i=0;
    
     while (i<input_tab.length){
      var j=0;
      while (j<tab_check.length){
       valeur_input=input_tab[i].value;
       valeur_id=tab_check[j].id;
       if (valeur_input==valeur_id){
           var phrase_differente=false;
        
        // alert(i);
          
            var interne_texte=(element_dom[i].innerHTML).toString();
            var decomposition_texte=supp_input_label(interne_texte);//tab_check[j].code+":"+tab_check[j].phrase;
           // alert(element_dom[i].lastChild.text+":::"+tab_check[j].code+":"+tab_check[j].phrase);
            //alert(decomposition_texte[1]+":::"+(tab_check[j].code+" : "+tab_check[j].phrase));
           if (decomposition_texte[1] != tab_check[j].code+" : "+tab_check[j].phrase){
               element_dom[i].innerHTML="";
               element_dom[i].innerHTML=decomposition_texte[0]+tab_check[j].code+" : "+tab_check[j].phrase;
               phrase_differente=true;
          }
          input_tab[i].checked=true; 
        if (index_danger<6){
           creer_danger(index_danger,i,'n');
         }else if (index_danger==6){
           creer_phrases_add(i,'n');

         }else if (index_danger==7){

           creer_conseil(i,'n');
       } 
       }
       
       j+=1; 
      
        
       
       }
      i+=1;
      }
      
     
      
      
}

/*****************************************************
****** Mise a jour des champs à sortie de la base*****
******************************************************/
function miseajourchamp(xhr){
	
	
var reponse=xhr.responseXML;
recreer_selects();
reinit_selects();
var input_opt=$('phrases_opt').getElementsByTagName("input");
decocher_init(input_opt);

//reinit_tableau(tab_phrases_comp);
//initialisationform();
//creer_original_conseils();
//miseajourpicto(1);
//parser_picto(1);
//creer_div_checkbox(1);
modification_booleen=true;
/******* Mise a jour de la partie identifier********************/

$('nom').value=get_valeur(reponse,"nom",0);
$('nomalt').value=remplace(get_valeur(reponse,"nom_alt",0));
var regex_masse =/(.)( M=)(.*)(g\/mol)/;
var rep_nomalt=remplace(get_valeur(reponse,"nom_alt",0));
if(regex_masse.test(rep_nomalt)){tabcont=rep_nomalt.match(regex_masse);$('massemol').value=tabcont[3]}else{$('massemol').value=''}
var regex_densit =/(.)( d=)(.*)/;
if(regex_densit.test(rep_nomalt)){tabcont=rep_nomalt.match(regex_densit);$('densite').value=tabcont[3]}else{$('densite').value=''}
$('concen').value=get_valeur(reponse,"concentration",0);
$('unit').options[parseInt(get_valeur(reponse,"unite",0))-1].selected=true;
$('cas').value =get_valeur(reponse,"num_cas",0);
$('ce').value =get_valeur(reponse,"num_ce",0);
$('post_validation').value=get_valeur(reponse,"valide",0);
$('post_id_etiquette').value=get_valeur(reponse,"id",0);

$('post_auteur_etiquette').value=get_valeur(reponse,"auteur",0);


/*$('post_id_produit').value=get_valeur(reponse,"produit",0);*/
$('post_validee_par').value=get_valeur(reponse,"validee_par",0);
$('post_cree_le').value=get_valeur(reponse,"cree_le",0);
/*$('post_id_membre_produit').value=get_valeur(reponse,"membre_produit",0);
$('post_validation_produit').value=get_valeur(reponse,"validation_produit",0);*/

var lien="Lien direct vers l'étiquette "+ get_valeur(reponse,"nom",0)+" : http://etiquette.scienceamusante.net/sgh/index.php?visualiser="+get_valeur(reponse,"id",0);
$('infosup').update(lien);
$('infosup').innerHTML;

$('fournisseur').options[parseInt(get_valeur(reponse,"fournisseur",0))].selected=true;
 
 if(get_valeur(reponse,"fournisseur",0)=='0'){
	$("autrefourn").setStyle('display:block');
	$("autref").value='';
   $("autref").value=remplace(get_valeur(reponse,"fournisseur_detail",0));
	$("astuce").show();
 }else{
   $("autrefourn").hide();
   $("astuce").hide();
}
/*****************Recupere la valeur des tableaux de danger**********************/
var string_danger=new Array();
for (var i=1;i<6;i++){
  string_danger[i]=get_valeur(reponse,"tab_danger_"+i,0);
}
 for (var i=1;i<5;i++){
    if (string_danger[i]!=""){ 
      aff_select_dyn(i+1,true);
    }else{
      supp_select_dyn(i+1);
      supp_checkbox_dyn(i+1);  
    }
}
for (var i=1;i<6;i++){
 if (get_valeur(reponse,"picto_danger_"+i,0)!='0'){
     indice=trouver_key_id($("sgh"+i).options,(get_valeur(reponse,"picto_danger_"+i,0)),"value");
     $('sgh'+i).options[indice].selected=true;
        miseajourpicto(i);
   
    var tableau_checked=parse_tableau_checked(string_danger[i]);
    var input_temp=$('les_phrases_sgh_'+i).getElementsByTagName("input");
    inscrire_checked(i,input_temp,tableau_checked,$('les_phrases_sgh_'+i).getElementsByTagName("label"));
    
   }else{
supp_checkbox_dyn(i);  
}
   

 }
   
  

/**************Recupere la valeur des phrases additionnelles***********************/
var input_conseils=$('conseils').getElementsByTagName("input");
decocher_init(input_conseils);
var string_additionnelles=get_valeur(reponse,'tab_phrases_comp',0);
reinit_tableau(tableau_checked);

tableau_checked=parse_tableau_checked(string_additionnelles);
var input_temp=$('phrases_opt').getElementsByTagName("input");

inscrire_checked(6,input_temp,tableau_checked,$('phrases_opt').getElementsByTagName("li"));

/*********** Recupere la valeur des phrases de conseils***************************/

var string_conseils=get_valeur(reponse,'tab_phrases_conseil',0);
reinit_tableau(tableau_checked);
tableau_checked=parse_tableau_checked(string_conseils);
var input_temp=$('conseils').getElementsByTagName("input");

inscrire_checked(7,input_temp,tableau_checked,$('conseils').getElementsByTagName("li"));

/*correctif 5 picto pour ressortir une étiquette crée avec 3 pictos*/
//corrige_apercu_5pictos();

$('apercunu').innerHTML="";
$('apercunu').innerHTML=get_valeur(reponse,"apercu",0);

/*correctif 5 picto pour étiquettes créés avec 3 pictos*/
corrige_apercu_5pictos();


click_moi('identifier');

ajout_boutons_admin();

place_pictos();
}//fin de mise a jour champs


/*fonction d'appel actions etiquettes*/
function action_etiquette(type_action){
$("post_apercu").value=$("apercunu").innerHTML;
$("action").value=type_action;
var url="./php/moteur/actions_etiquette.php";
 var id_membre=$("idcache").value;
 var droit=$("droitcache").value;
 var clef=$("clefcache").value;
var formulaire=$("formulaire");

//parametre de signification pour mail automatique d'une action d'un admin sur une étiquette dont il n'est pas propriétaire
if (Existe('signification'))
	{if ( $('signification').checked)
	{var signification =1;}
	else{var signification =0;}}
else {var signification =0;}

if(Existe('comment'))
	{if(!$('comment').value.empty()){var comment=$('comment').value;}
	else{var comment="";}
	}

var parametres=formulaire.serialize()+"&id_membre="+id_membre+"&droit="+droit+"&cle="+clef+"&signification="+signification+"&comment="+comment;
new Ajax.Updater("message", url, {method: 'POST', parameters: parametres,
				 onComplete: function () {
					 	Effect.BlindDown('message', { duration: 1.0 });
						
						$('message').addClassName('messageavertissement');
						

						}//fin function de onComplete
				 

});
}



/*fonction principale, droits sur l'étiquette*/
function ajout_boutons_admin(){

 var adresse="./php/moteur/donnedroitsboutons.php";
 
 var id_membre=$("idcache").value;
 var droit=$("droitcache").value;
 var clef=$("clefcache").value;
 // parametres etiquettes
 var auteur_etiquette=$('post_auteur_etiquette').value;
 var etat_etiquette=$('post_validation').value;
 var id_etiquette=$('post_id_etiquette').value;
 
 var parametres="id_membre="+id_membre+"&droit="+droit+"&cle="+clef+"&id_etiquette="+id_etiquette+"&etat_etiquette="+etat_etiquette+"&auteur_etiquette="+auteur_etiquette;
 $('boutons_admin').innerHTML='';
 
 new Ajax.Updater('boutons_admin', adresse, {method: 'POST', parameters: parametres, onComplete: function () {if($('boutons_admin').empty()!=true){Effect.BlindDown('boutons_admin', { duration: 1.0 });}
}});
 

}


function supp(idetiq) {
  if(confirm('Etes-vous sur de vouloir supprimer cette étiquette?')==true){
 autonom(idetiq,'');
setTimeout("action_etiquette('supprimer')", 1200);
$$('table.sortable tr.'+idetiq).each(function(el){el.fade();}); 
setTimeout("$('boutons_admin').hide();", 1200);
//$('boutons_admin').hide();
  }
 }
 
 
/*Actions possibles sur l'étiquette*/
 
function propose(idetiq) {
	autonom(idetiq,'');
setTimeout("action_etiquette('soumettre')", 1200);
hs.close();
setTimeout("click_moi('gere')",5000);
}

function valid (idetiq) {
//récupération de l'état de la checkbox dans le crud :
	var check=$$(' table.sortable tr.'+idetiq+'  input.signification');
	check=check[0];
	if (check.checked){var ccrud='1';}else{var ccrud='0';}
//	
	autonom(idetiq,'');			
	setTimeout(function(){//correction  signification par mail
						
						if (Existe('signification')){if( (ccrud=='1' && !$('signification').checked) ||(ccrud=='0' && $('signification').checked) ){click_moi('signification');}}
						action_etiquette('valider');//on soumet
						}
						, 1200);	
hs.close();//on relance le crud
setTimeout("click_moi('gere')",5000);

}

/*************	gestion compte utilisateur (2) dans hs *****************/ 

function supp_membre(suppmembre){//suppression d'un membre
	
	var adresse="./php/moteur/suppmembre.php";
 
 var id_membre=$("idcache").value;
 var droit=$("droitcache").value;
 var clef=$("clefcache").value;
 var parametres="id_membre="+id_membre+"&droit="+droit+"&cle="+clef+"&suppmembre="+suppmembre;
 $('boutons_admin').innerHTML='';
 if(confirm('&Ecirc;tes-vous s&ucirc;r de vouloir supprimer ce membre ?')==true){
 $$('table.sortable tr.'+suppmembre).each(function(el){el.fade();});
 new Ajax.Updater('message', adresse, {method: 'POST', parameters: parametres, onComplete: function () {if($('boutons_admin').empty()!='true'){$('boutons_admin').innerHTML='';}; Effect.BlindDown('message', { duration: 1.0 });$('message').addClassName('messageavertissement');
}});
 }//fin de confirm
	}


function toogle_inscription(elmt){//togglisation du formulaire de gestion de son compte
if(Existe('gere')){$(elmt).hide();}
else{$(elmt).show();}
}//fin de toogle inscription

	function ajaxenvoipass(id,url) 	{//fonction appelée du renvoi du mot de passe
						if(confirm('Si vous possedez plusieurs comptes liés à cette adresse e-mail, tous les mots de passe de ces comptes seront changés.\n Un e-mail contenant vos nouveaux paramètres de connexion vous sera envoyé à cette adresse.\n \n Continuer?')==true){  
						new Ajax.Updater(id,url,{method: 'post', parameters: Form.serialize('formpassperdu'),asynchronous:true, evalScripts : true, onComplete: function () {
						 Effect.BlindDown('message', { duration: 1.0 });$('message').addClassName('messageavertissement');
						 
						
						}//fin function de onComplete
						}); //fin des parametres Ajax.updater 
						}//fin de confirm
						} //fin ajaxenvoipass


function rendedit (numcol){//fonction d'édition des colonnes du tableau résumé de son compte

	var idtablecompte=($$('table')[1]).id;//id du tableau
	var col=$$('#'+idtablecompte+' th')[numcol];//def des th du tableau membre à éditer

col.removeClassName('noedit');
col.addClassName('rdedit');
$('param').value='e';//definition du parametre pour traitement php

if(numcol=='3')
($$('#'+idtablecompte+' th')[3]).id ='utilisateur';
TableKit.Editable.selectInput('utilisateur',{}, [ ['Technicien ou Ingenieur chimiste','Technicien ou Ingenieur chimiste'],['Responsable de laboratoire / hygiene et securite','Responsable de laboratoire / hygiene et securite'],['Formateur en risque chimique','Formateur en risque chimique'],['Enseignant ou chercheur en Universite ','Enseignant ou chercheur en Universite'],['Enseignant en Lycee','Enseignant en Lycee'],['Enseignant en College','Enseignant en College'],['Etudiant','Etudiant'],['Lyceen','Lyceen'],['Collegien','Collegien'],['Autre...','Autre...']
]);

if($('formpass').visible()){//le formulaire est visible on toggle les infos et remet les classes
$$('.editor_cancel').each(function(el){click_moi(el)});
$('formpass').fade();$('editcompte').update(' Cliquer pour &#233;diter les param&#233;tres du compte');col.removeClassName('rdedit');col.addClassName('noedit');col.update(col.innerHTML.gsub(/(-editable)/,''));$('etatc').update('Lecture seule');$('formpass').reset();
$('cpass').removeClassName('validation-failed');
$('cpass').removeClassName('validation-passed'); if (Existe('messpas')){$('messpas').remove();}
$('pass_confirm').removeClassName('validation-failed');
$('pass_confirm').removeClassName('validation-passed'); if (Existe('messpass')){$('messpass').remove();}
$('formpass').removeClassName('valide');$('messagechangepass').removeClassName('messageavertissement');$('messagechangepass').update('')
}
else{$('formpass').appear();$('editcompte').update(' Fermer  l\'&#233;dition du compte');col.update(col.innerHTML+'-editable');$('etatc').update('Mode &#201;dition');$('param').value='m'}//on attribut les classes et toggle les infos

	}
	
function minival(){//function de validadation du changement de mot de passe(evite de remettre validation.js complet et permet de rester div/ajax et pas en iframe
var pass=($$('.validate-password')[0]);//ou pass=$('cpass')
var confirme=($$('.validate-password-confirm')[0]);
pass.observe('blur',function(){//observer sur le premier champs
var reg=/[a-zA-Z0-9._-]{4,}/;
var resultat=reg.test(pass.value);//la regex et son test

if(resultat){pass.addClassName('validation-passed');if (Existe('messpas')){$('messpas').remove()}
}else{pass.removeClassName('validation-passed');pass.addClassName('validation-failed');
if (!Existe('messpas')){
var mp= pass.insert( {after: '<div id="messpas" style="display:none" class="messageavertissement" >Entrer un mots de passe de 4 caract&#232;res alphanum&#233;riques ou plus</div>'});
new Effect.Appear("messpas", {duration : 1 });
}
}
});
$('pass_confirm').observe('blur',function(){//observer sur le deuxième champs
if (pass.value!=confirme.value)//si les mot de passe sont différents
{
$('formpass').removeClassName('valide');
if (!Existe('messpass')){
var avert=$('pass_confirm').insert( {after: '<div id=messpass class="messageavertissement" style="display:none">Les 2 mots de passe sont diff&#233;rents</div>'});
new Effect.Appear('messpass', {duration : 1 });
}
confirme.removeClassName('validation-passed');
			confirme.addClassName('validation-failed');
}
else{if (Existe('messpass')){$('messpass').remove();}//si les 2 mots sont identiques
confirme.removeClassName('validation-failed');confirme.addClassName('validation-passed');
$('formpass').addClassName('valide');//quand tout est ok on attribut la classe valide au formulaire
$('messagechangepass').update('');
}
});
}

function modifpass() {//modifier son mot de passe
	var id= $F('idcache');
if (!($('formpass').hasClassName('valide'))){$('messagechangepass').update('Vérifier vos mots de passe');}//fin de if 
	else{
		$('messagechangepass').update('');

if($('formpass').hasClassName('valide')==true&&confirm('Vous allez changer votre mot de passe pour celui-ci :\n'+$F('pass_confirm')+' \n Un e-mail contenant vos nouveaux paramètres de connexion vous sera envoyé.\n \n Continuer?')==true ){ 
						
						new Ajax.Updater('messagechangepass','changepass.php',{method: 'post', parameters: Form.serialize('formpass')+'&id='+$F('idcache')+'&cle='+$F('clefcache'),asynchronous:true, evalScripts : true, onComplete: function () {
						 Effect.BlindDown('messagechangepass', { duration: 1.0 });$('messagechangepass').addClassName('messageavertissement');
						 
						
						}//fin function de onComplete
						}); //fin des parametres Ajax.updater 
						}//fin de if confirm
						}//fin de else
						} //fin modifpass

/********************Masse Molaire***************************/

function massemolaire(){
var regex_masse =/(.)( M=)(.*)(g\/mol)/;
var nomalt=$F('nomalt');
if(
regex_masse.test(nomalt)
){
tabcont=nomalt.split(regex_masse);
contenu=tabcont[0]

}
else{contenu=nomalt}
if(!($F('massemol').blank()))
    {$('nomalt').value=contenu+', M='+$F('massemol')+' g/mol';
    }else{$('nomalt').value=contenu}
}
/********************densité***************************/
function densite(){
var regex_densit =/(.)( d=)(.*)/;
var nomalt=$F('nomalt');
if(
regex_densit.test(nomalt)
){
tabcont=nomalt.split(regex_densit);
contenu=tabcont[0]

}
else{contenu=nomalt}
if(!($F('densite').blank()))
    {$('nomalt').value=contenu+', d='+$F('densite');
    }else{$('nomalt').value=contenu}
}


/**********************correctif 5 picto pour étiquettes créés avec 3 pictos*******************/

function corrige_apercu_5pictos(){
	//les  spans 5pictos existent-elles?
	var trouve=0
	$$('#apercunu #danger')[0].childElements().each(function(el){
		if(el.id=='danger_4')
		{trouve=trouve+1}else{trouve=trouve}
	});
if (trouve==0){($$('#apercunu #danger')[0]).insert('<br><span id="danger_4"><span id="picto4"></span></span></span><span id="danger_5"><span id="picto5"></span></span>' )}

	
}

function place_pictos(){
	var choix=$F ('select-choixpictos');
	
	if (choix=='default'){
		$('danger').writeAttribute('style', '');
		$('danger').descendants().each(function(el){el.writeAttribute('style', '')});
		col_montre_pictos ()
		ajuste_pub()
		}
	
	if (choix=='pictos-gauche'){
		$('danger').setStyle({'float': 'left', padding : '0.5em'});
		$('danger').descendants().each(function(el){el.setStyle({display: 'block'})});
		col_montre_pictos ()
		ajuste_pub()
		}
	if (choix=='pictos-droite'){
		$('danger').setStyle({'float': 'right', padding : '0.5em'});
		$('danger').descendants().each(function(el){el.setStyle({display: 'block'})});
		col_montre_pictos ()
		ajuste_pub()
		}
	}
	
//ajuste hauteur  de la pub
function ajuste_pub(){
	var ori='';
	if ($('select-choixpictos').value=='default'){  ori='horiz'} else{ ori='verti'}
	
	var hautdang = $('danger').getHeight();
	/*console.info('danger='+hautdang);*/
	var hauteur=0;
	$('apercunu').childElements().without($('produit'),$('produit2'),$('concentration'),$('danger')).each( function (el){hauteur = hauteur+ el.getHeight();});
	/*console.info('hauteur='+hauteur);*/
	if (ori == 'verti')
	{
	if(hauteur < hautdang ){
	var diff= hautdang-hauteur;
	
	var att= 'margin-top : '+ diff +'px';
	$('pub').writeAttribute('style', att)
		}
	}
	if (ori =='horiz')
	{
	$('pub').removeAttribute('style')
	}
	
	
}
	
//supprimme ou montre les pictos vide
function col_montre_pictos (){
	//picto horizontaux on montre les pictos vides
	//if ($F('select-choixpictos')=='default'){$$('#apercunu #danger img').each( function(el){if (el.alt =='vide'){el.up().show();}})}	
	//else {$$('#apercunu #danger img').each( function(el){if (el.alt =='vide'){el.up().hide()}else{el.up().show()}})}
	
	if ($F('select-choixpictos')=='default')
	{$$('#apercunu #danger img').each( function(el)
										{if (el.alt =='vide' && ($$('#apercunu #danger img')).indexOf(el)!=(3||4)){el.up().show()}
										if (el.alt =='vide' && ($$('#apercunu #danger img')).indexOf(el)!=2){el.up().hide()}
										else{el.up().show()}
										}
										)}	
	else {$$('#apercunu #danger img').each( function(el){if (el.alt =='vide'){el.up().hide()}else{el.up().show()}})}
}
	
// taille perso etiquette
 function slide() {	

    var glisse = $('glisse'), apercu = $('apercu_etiquette'), pub=$('pub'); 
	  
    var largeur_max = eval($('apercu_etiquette').getWidth()/3.9);
	 /**/
		
    var slider = new Control.Slider(glisse.down('.curseur'), glisse, {
      range: $R(43, largeur_max  ),
      sliderValue: largeur_max ,
	  /**/
      onSlide: function(value) {
		var pourcentage= eval(value/largeur_max); var police = $F('choixpolice');
		 apercu.setStyle({ width: value + 'mm' , fontSize : '100%', fontFamily : police });
		 //formatage des pictos proportionnellement à 10em taille de départ
		 $$('#danger img').each(function(el){el.setStyle({ width : 10*pourcentage + 'em', height : 10*pourcentage + 'em', minHeight: 1 + 'cm', minWidth: 1 + 'cm', })});
		 
		 function formate_texte(ele,taille_ini,pourc){
			 //var tdep = eval($(ele).getStyle('fontSize').gsub('px',''));
$(ele).setStyle({ fontSize : Math.floor(taille_ini*pourc) +'px'});

}

//attrapper tous les elements texte non vides:
/*$('apercu_etiquette').descendants().each(function(el){
if(Existe(el.firstChild)&&
el.firstChild.nodeType==3)
    {formate_texte(el,pourcentage);}
})*/

/*equivalalence em px :
eval($('produit').getStyle('fontSize').gsub('px',''))/2
*/
formate_texte('produit','20',pourcentage);
formate_texte('produit2','12',pourcentage);
formate_texte('mention_3','13',pourcentage);
formate_texte('aperc_opt','10',pourcentage);
formate_texte('numcas','10',pourcentage);
formate_texte('numce','10',pourcentage);
formate_texte('fabriquant','10',pourcentage);
formate_texte('pub','5',pourcentage);
$$('.danger').each(function(el){formate_texte(el,'9',pourcentage)});
$$('.conseil').each(function(el){formate_texte(el,'10',pourcentage)});
/**/
		 
		 
		 //apercu.childElements().each(function(el){el.setStyle({ fontSize : pourcentage + 'em' })});
		/*apercu.descendants().each(function(el){var taille_el=el.getStyle('font-size');
		taille_el=taille_el.gsub('px','');
		taille_el=taille_el/10;
		var nouv_taille = eval(taille_el*value/largeur_max);
		el.removeAttribute('style');
		el.setStyle({fontSize : nouv_taille +'em' });
		});*/
		
		
		//console.info(taille_el);
		
		//});
		//apercu.descendants().each(function(el){el.setStyle({  fontSize : pourcentage + 'em', fontFamily : police })});
		//$$('#apercu_etiquette img').each(function(el){el.setStyle({width: pourcentage*10 + 'em', height:pourcentage*10 + 'em'})});
		//$('apercu_etiquette').descendants().each(function(el){el.setStyle({fontSize : pourcentage + 'em'})});
		
		//code originel 
		/*var pourcentage= eval(value/largeur_max); var police = $F('choixpolice');
		 apercu.setStyle({ width: value + 'mm', fontSize : pourcentage + 'em', fontFamily : police });
		 pub.setStyle({ fontSize : pourcentage + 'em' });
		$('ta').update(Math.round(value)+'mm');
		ajuste_pub(); */
		
		
		//pub.setStyle({ fontSize : pourcentage + 'em' });
		$('ta').update(Math.round(value)+'mm'+', '+Math.round(100*pourcentage)+'%');
		ajuste_pub();
      },
	  /**/
      onChange: function(value) { 
	  	var pourcentage= eval(value/largeur_max); var police = $F('choixpolice');
        apercu.setStyle({ width: value + 'mm' , fontSize : '100%', fontFamily : police });
		$$('#danger img').each(function(el){el.setStyle({ width : 10*pourcentage + 'em', height : 10*pourcentage + 'em', minHeight: 1 + 'cm', minWidth: 1 + 'cm', })});
		 //apercu.childElements().each(function(el){el.setStyle({ fontSize : pourcentage + 'em' })});
		
		/*apercu.descendants().each(function(el){var taille_el=el.getStyle('font-size');
		var taille_el=taille_el.gsub('px','');
		taille_el=taille_el/10;
										   
		var nouv_taille = eval(taille_el*value/largeur_max);
		
		el.removeAttribute('style');
		el.setStyle({fontSize : nouv_taille  +'em' });
		});*/
		
		pub.setStyle({ fontSize : pourcentage + 'em' });
		$('ta').update(Math.round(value)+'mm');
		ajuste_pub();
      }
    });
/*apercu.setStyle({ width: eval(apercu.getWidth()/3.9) + 'mm',  fontSize :eval((apercu.getWidth()/3.9)/largeur_max) + 'em', fontFamily : eval($F('choixpolice')) });*/
	
}
//affiche ou masque les éléments de taille et police perso suivant le choix du select
function taille_perso(){
	
	if($F('select-choiximpression')=='perso')
	{
	$('taille').show();
	var body=$$('body')[0];
	$w(body.className).each(function(el){body.removeClassName(el); body.addClassName('preferences')});
	slide();
	}
	else{
	$('taille').hide();
	//supression des styles
	$('apercu_etiquette').removeAttribute('style');
	$$('#danger img').each(function(el){el.removeAttribute('style')});
	}
	
}

	//28/12 : chrome?
	var listepolice= Array();  
	var listepolice =['Arial','Arial Black','Arial Narrow','cursive','monospace','serif','sans-serif','monospace','serif','sans-serif','Century','Century Gothic','Comic Sans MS','Courier','Courier New','Georgia','Lucida Console','Modena','Tahoma','Times','Times New Roman','Trebuchet MS','Verdana'];
	
   function choixpolice(){//création du select
$('police').insert('<select id="choixpolice"></select>');
  listepolice.each(function(el){$('police').down().insert('<option value="'+el+'">'+el+'</option>')});
  //choix par défault
  $('choixpolice').options.selectedIndex = 0;
   }
  
  function ajuste_preferences_police (){
		
		 $('apercu_etiquette').setStyle({  fontFamily : $F('choixpolice') });
		 ajuste_pub();
		
		}  
		
		
		
		
		
/* requete ajax sur annexe6*/
function getAnnexe(){
  //On vide le contenu de l'élément ayant pour id lienannexe6
  $('lienannexe6').update();
	

new Ajax.Request('xml/debutannexe6.xml', {
    method: 'get', // récupération du fichier xml
	//parameters: parametres,
    onException: function(request,error) {
        alert(error.message);
    },
    onFailure: function(){ alert('Une erreur est survenue...'); },
    //en cas de succès de la récupération du fichier
    onSuccess: function(response) {
    //On récupère la réponse et on la nettoie pour avoir un fichier XML
    //identique sur tous les navigateur
	
    var xmlDoc = clean(response.responseXML);
 	
    //Initialisation du template  gabarit
    var mgabarit = new Template('<div id="substance#{id}"><span><b>Nom:</b> #{Nom} </span><span> <b>n°CE:</b> #{EC_No}</span><span><b> n°CAS:</b> #{CAS_No}</span><span> <b>Classification:</b> #{Classification}</span><span> <b>Phrases Hxxx:</b> #{phrasesH}</span><span> <b>Pictos:</b> #{pictos}</span><span> <a href="javascript: void(0)" >Etiquette</a></span></div>');
 
    //On récupère les noeuds xml
    var ligne = xmlDoc.getElementsByTagName('Row');
    //On boucle sur les noeuds
    for (i=0; i < ligne.length; i++)
    {
      //On récupére les données en cours
      var DNom = ligne[i].getElementsByTagName("International_Chemical__Identification")[0].firstChild.nodeValue;
      var DCE = ligne[i].getElementsByTagName("EC_No")[0].firstChild.nodeValue;
	  var DCAS = ligne[i].getElementsByTagName("CAS_No")[0].firstChild.nodeValue;
	  var DClassification = ligne[i].getElementsByTagName("Classification")[0].firstChild.nodeValue;
	  var DPhrasesH = ligne[i].getElementsByTagName("Column8")[0].firstChild.nodeValue;
	  var DPictos = ligne[i].getElementsByTagName("Labelling")[0].firstChild.nodeValue;
	  DPictos=DPictos.gsub('GHS','SGH');
	  DPictos=DPictos.gsub('Dgr','DANGER');
	  DPictos=DPictos.gsub('Wng','ATTENTION');
	  var pictos='';
	  var Dpicts=DPictos.gsub(/(#SGH#)([0-9]{2})/, function(match){
  		 return  '<img alt="" src="images/sgh/' + match[1] + '-XS.gif"/>';
											 });
      //On met à jour l'élément lienannexe6 avec le template qu'on évalue
      //en lui passant en paramètre les valeurs à substituer
      $('lienannexe6').insert(mgabarit.evaluate({ id: i, Nom: DNom, EC_No: DCE, CAS_No: DCAS, Classification: DClassification, phrasesH: DPhrasesH, pictos: Dpicts}));
      }
    }
  });
}

//fonction ne nettoyage du XML
 //Supprime les noeuds text présent dans Firefox et non dans IE
function clean(d){
 var bal = d.getElementsByTagName('*');

 for(i=0;i<bal.length;i++){
 a=bal[i].previousSibling;
 if(a && a.nodeType==3)
 go(a);
 b=bal[i].nextSibling;
 if(b && b.nodeType==3)
 go(b);
 }
 return d;
} 

function go(c){
 if(!c.data.replace(/\s/g,''))
 c.parentNode.removeChild(c);
 } 

