// JavaScript Document
// **********   FORMULAIRE  **************

function $$(idobjet){
	return (document.getElementById(idobjet));
}

function verificationForm(numduform, listchamp, lang)
// numduform = nom du formulaire
// listchamp = chaine contenant les noms de champ obligatoires en majuscule
{

	if(listchamp!=""){
	var compteur;
	var formulaire;
	var cgvpres=0;
	var compteurcgv=0;
	var formulaire = document.forms[numduform];
	var fo_compte;
	var valeurtest;
	var strLen;
	var nomchamp; 
	var vide=true;
	var present=false;
	message=eval("traduction.langues.vide."+lang);
			
	var form_ok = true;
	fo_compte=0;
	
		while (fo_compte < formulaire.elements.length)
		{
			if(formulaire.elements[fo_compte].nodeName!="FIELDSET")
			{
				valeurtest = formulaire.elements[fo_compte].value;
				
				//Gestion des checkbox des actualités
				if(formulaire.elements[fo_compte].type=="checkbox" && (formulaire.elements[fo_compte].name=="actu[]"||(formulaire.elements[fo_compte].name=="export[]")||(formulaire.elements[fo_compte].name=="packs[]"))){
					present=true;
					nomchamp = formulaire.elements[fo_compte].name;
					nomchampcheck = formulaire.elements[fo_compte].name;
					if(formulaire.elements[fo_compte].checked==true){
						vide=false;	
					}
					
				}else{
					if(formulaire.elements[fo_compte].name=="cgv[]"){
						cgvpres=1;
					}
					if(formulaire.elements[fo_compte].type=="checkbox" && formulaire.elements[fo_compte].name=="cgv[]"){
						nomchamp = formulaire.elements[fo_compte].name;
						nomchampcheck = formulaire.elements[fo_compte].name;
						if(formulaire.elements[fo_compte].checked==true){
							compteurcgv++;
						}
					}else{
	
						strLen = valeurtest.length;
					
						if (strLen==0 || valeurtest==-1)
						{
							nomchamp = formulaire.elements[fo_compte].name;
							if(listchamp.search(nomchamp)!=-1)
							{
								var trad = eval("traduction.langues.formulaire."+nomchamp+"."+lang);
			;
								message = message + "- " + trad + "\n";
								form_ok = false;
							}
						}
					}
				}
			}
			fo_compte ++;
		}
		if((vide && present) || (cgvpres==1 && compteurcgv<2)) {
				
			nomchamp=nomchampcheck.substring(0,nomchampcheck.length-2);	
			var trad = eval("traduction.langues.formulaire."+nomchamp+"."+lang);
		;
			message = message + "- " + trad + "\n";
			form_ok = false;
				
		}
		if (form_ok==false) messtot=messtot+message;
		return form_ok;
	}
	return true;
}
// function $(idobjet)
// {
// 	return(document.getElementById(idobjet));
// }



function envoyer(nomform, champoblig, lang) 
// IL FAUT IMPERATIVEMENT QUE LE FORMULAIRE AIT LE MEME ID QUE SON NOM
// nomform = nom du formulaire
// champoblig = chaine contenant la liste de champ à saisie obligatoire en majuscule
{	

	messtot="";
	var envoi=true;
	var chainealerte;
	var chainealerte2;

	chainealerte=eval("traduction.langues.probleme.prob1."+lang);
	chainealerte2=eval("traduction.langues.probleme.prob2."+lang);
	


	for (var keyVar in tableau_message ) {
 					
		if(tableau_message[keyVar]!=undefined&&tableau_message[keyVar]!=""){
				envoi=false;
				chainealerte=chainealerte+" \n - "+eval("traduction.langues.formulaire."+keyVar+"."+lang);
				
					
			}
				
	}
	chainealerte=chainealerte+chainealerte2;


	if(!envoi){
		messtot= messtot+chainealerte;
	}
	if(envoi){
		if (verificationForm(nomform, champoblig, lang))
		{
			document.getElementById(nomform).submit();
		}else{
			
			alert(messtot);	

		}	
	}else{
		//reccuperation du message
		verificationForm(nomform, champoblig, lang);
		alert(messtot);	
	}
}
//**********************************

//Fonction identique à la précèdente mais avec la possibilité d'avoir une liste de champ dans laquelle au moins un doit être rempli (Exemple: formulaire de contact Aérolor  Téléphone et/ou Mail)

function envoyerChampMultiple(nomform, champoblig, champmultiple, lang) 
// IL FAUT IMPERATIVEMENT QUE LE FORMULAIRE AIT LE MEME ID QUE SON NOM
// nomform = nom du formulaire
// champoblig = chaine contenant la liste de champ à saisie obligatoire en majuscule
// champmultiple = chaine contenant la liste de champ dans laquelle au moins un doit être saisi. Les noms des champs doivent être séparés par des virgules
{	

// 	Traitement des champs mal remplis
	messtot="";
	var envoi=true;
	var chainealerte;
	var chainealerte2;
	var champmal=false;
	chainealerte=eval("traduction.langues.probleme.prob1."+lang);
	chainealerte2=eval("traduction.langues.probleme.prob2."+lang);
	
	


	for (var keyVar in tableau_message ) {
 					
		if(tableau_message[keyVar]!=undefined&&tableau_message[keyVar]!=""){
				envoi=false;
				champmal=true;
				chainealerte=chainealerte+" \n - "+eval("traduction.langues.formulaire."+keyVar+"."+lang);
				
					
			}
				
	}
	chainealerte=chainealerte+chainealerte2;
	
	
// 	Verification pour les champs où ils doit y avoir au moins un de rempli
	var testchamps=false;
	var formulaire = document.forms[nomform];
	var start=0;
	var end=champmultiple.indexOf(",",0);
	var champ=champmultiple.substring(start,end);
	var nomchamps="";
	while(champ!=""){

		var compteur=0;

		while(formulaire.elements[compteur].name!=champ){
			compteur++;
		}
	
		nomchamps=nomchamps+"\n -"+eval("traduction.langues.formulaire."+champ+"."+lang);

		if(formulaire.elements[compteur].value!=""){
			testchamps=true;
			break;
		}else{
			champmultiple=champmultiple.substr(end,champmultiple.length);
			start=1;
			end=champmultiple.indexOf(",",start);
			if(end==-1 || end==0){
				end=champmultiple.length;
			}
			champ=champmultiple.substring(start,end);
		}


	}

	if(!testchamps){
		var chainealerte3=eval("traduction.langues.problememultiple.prob1."+lang)+nomchamps+"\n\n";
		envoi=false;
	}

	// Ecriture du message d'avertissement
	//Pour les rubriques à réctifiée
	if(champmal){
		messtot= messtot+chainealerte;
	}
	//Pour les rubriques qui n'ont pas été remplies
	if(!testchamps){
		messtot= messtot+chainealerte3;
	}
	if(envoi){
		if (verificationForm(nomform, champoblig, lang))
		{
			document.getElementById(nomform).submit();
		}else{
			
			alert(messtot);	

		}	
	}else{
		//reccuperation du message
		verificationForm(nomform, champoblig, lang);
		alert(messtot);	
	}
}
//**********************************



    // gestion de la touche entree
function handleKeyPress(evt) 
 {
  var nbr, chr;
  if (window.Event)
  	 var nbr = evt.which;
  else
  	var nbr = event.keyCode;
	
  if (nbr==13)
	  verif();   // ici on met ce qu'on doit doit faire le bouton submit
  return true;
 }
// document.onkeydown= handleKeyPress;
 

 // GetFormInputs 
 //radio
function getRadioVal(rb)
{var L=rb.length;var ret="";
 for (var i = 0 ; i< L ; i++)
 {if(rb[i].checked) {ret=rb[i].value;break;}}
 return(ret);
 }
  
 //text, password, hidden, textarea, file
 function getTextVal(tf)
 {var ret=tf.value;
 return(ret);
 }
  
 //checkbox
 function getCheckboxVal(cb)
 {var L=cb.length;var ret='';
 for (i = 0; i < L; i++)
 {if (cb[i].checked==true) {ret += cb[i].value + '\n';}}
 return(ret);
 }
  
 //select
 function getSelectVal(sel)
 {var ret='';
 ret=sel.options[sel.selectedIndex].text;
 return(ret);
 }
  
  
  
 //
 // Control 
 //

function isCodePostal(cpStr){
	var resultat=true;
	if(cpStr.length!=5){
		resultat=false;
	}else{
		if(!isNumberString(cpStr)){
			resultat=false;
		
		}
	}

	return resultat;
}

function isTelephone(telStr){
	var resultat=true;
	if(telStr.length!=10){
		resultat=false;
	}else{
		if(!isNumberString(telStr)){
			resultat=false;
		}
	}
	return resultat;
}

function isSiret(telStr){
	var resultat=true;
	if(telStr.length!=14){
		resultat=false;
	}else{
		if(!isAlphaNumString(telStr)){
			resultat=false;
		
		}
	}

	return resultat;
}


 function isDate(JJ, MM, AAAA){
	if(JJ<1||JJ>31||MM<1||MM>12) return false;
	if(MM==2){
		if(JJ==30||JJ==31) return false;
   		if(JJ==29) return ((AAAA%4==0&&AAAA%100!=0)||AAAA%400==0);
 	}
 	else if(JJ==31) return !(MM==4||MM==6||MM==9||MM==11);
 	return true;
 }
 

 function isEmail(emailStr)
{
// si la chaine est vide, on retourne true quand meme
 
	var validDomain=false;
	var AtPos = emailStr.lastIndexOf("@");
	var DotPos= emailStr.lastIndexOf(".");
	if((AtPos>0)&&(DotPos>0)&&(AtPos<DotPos))
	{var domainExtList='ac.ad.ae.af.ag.ai.al.am.an.ao.aq.ar.as.at.au.aw.az.ba.bb.bd.be.bf.bg.bh.bi.bj.bm.bn.bo.br.bs.bt.bv.bw.by.bz.ca.cc.cd.cf.cg.ch.ci.ck.cl.cm.cn.co.cr.cs.cu.cv.cx.cy.cz.de.dj.dk.dm.do.dz.ec.ee.eg.eh.er.es.et.fi.fj.fk.fm.fo.fr.fx.ga.gb.gd.ge.gf.gg.gh.gi.gl.gm.gn.gp.gq.gr.gs.gt.gu.gw.gy.hk.hm.hn.hr.ht.hu.id.ie.il.im.in.io.iq.ir.is.it.je.jm.jo.jp.ke.kg.kh.ki.km.kn.kp.kr.kw.ky.kz.la.lb.lc.li.lk.lr.ls.lt.lu.lv.ly.ma.mc.md.mg.mh.mk.ml.mm.mn.mo.mp.mq.mr.ms.mt.mu.mv.mw.mx.my.mz.na.nc.ne.nf.ng.ni.nl.no.np.nr.nt.nu.nz.om.pa.pe.pf.pg.ph.pk.pl.pm.pn.pr.ps.pt.pw.py.qa.re.ro.ru.rw.sa.sb.sc.sd.se.sg.sh.si.sj.sk.sl.sm.sn.so.sr.st.su.sv.sy.sz.tc.td.tf.tg.th.tj.tk.tm.tn.to.tp.tr.tt.tv.tw.tz.ua.ug.uk.um.us.uy.uz.va.vc.ve.vg.vi.vn.vu.wf.ws.ye.yt.yu.za.zm.zr.zw.com.edu.gov.int.mil.net.org.eu.biz.pro.info.aero.name.coop.arpa.nato.museum.EoF';
	var domainExt=domainExtList.split(".");
	var emailExt=emailStr.substr(DotPos+1);
	emailExt=emailExt.toLowerCase();
	for(i=0;domainExt.length;i++)
	{if (domainExt[i]=='EoF') break; //infinite loop else
	if (emailExt==domainExt[i]) {validDomain=true;break;}
	}
  
return(validDomain);
}
  
}

 function isUrl(urlStr)
{
// si la chaine est vide, on retourne true quand meme
 
	var res=false;
	var validDomain=false;
	var HttpPos = urlStr.substr(0,7);
	if(HttpPos=="http://")
	{
		
		var DotPos= urlStr.lastIndexOf(".");
	
		var domainExtList='ac.ad.ae.af.ag.ai.al.am.an.ao.aq.ar.as.at.au.aw.az.ba.bb.bd.be.bf.bg.bh.bi.bj.bm.bn.bo.br.bs.bt.bv.bw.by.bz.ca.cc.cd.cf.cg.ch.ci.ck.cl.cm.cn.co.cr.cs.cu.cv.cx.cy.cz.de.dj.dk.dm.do.dz.ec.ee.eg.eh.er.es.et.fi.fj.fk.fm.fo.fr.fx.ga.gb.gd.ge.gf.gg.gh.gi.gl.gm.gn.gp.gq.gr.gs.gt.gu.gw.gy.hk.hm.hn.hr.ht.hu.id.ie.il.im.in.io.iq.ir.is.it.je.jm.jo.jp.ke.kg.kh.ki.km.kn.kp.kr.kw.ky.kz.la.lb.lc.li.lk.lr.ls.lt.lu.lv.ly.ma.mc.md.mg.mh.mk.ml.mm.mn.mo.mp.mq.mr.ms.mt.mu.mv.mw.mx.my.mz.na.nc.ne.nf.ng.ni.nl.no.np.nr.nt.nu.nz.om.pa.pe.pf.pg.ph.pk.pl.pm.pn.pr.ps.pt.pw.py.qa.re.ro.ru.rw.sa.sb.sc.sd.se.sg.sh.si.sj.sk.sl.sm.sn.so.sr.st.su.sv.sy.sz.tc.td.tf.tg.th.tj.tk.tm.tn.to.tp.tr.tt.tv.tw.tz.ua.ug.uk.um.us.uy.uz.va.vc.ve.vg.vi.vn.vu.wf.ws.ye.yt.yu.za.zm.zr.zw.com.edu.gov.int.mil.net.org.eu.biz.pro.info.aero.name.coop.arpa.nato.museum.EoF';
		var domainExt=domainExtList.split(".");
		var urlExt=urlStr.substr(DotPos+1);
		urlExt=urlExt.toLowerCase();
		i=-1;
		
		while(i<domainExt.length && urlExt!=domainExt[i]){
			i++;
		
			if (urlExt==domainExt[i]) {
				validDomain=true;
				urlExt=domainExt[i];
				}
			
		}
		if(validDomain){
			
			urlStr=urlStr.substring(7, DotPos);
			var trois = urlStr.split(".");
			if((trois[trois.length-1]).length >= 3 ){

				res=true;
			}
		}
	
  }
  else {res=false};

return(res);
}

function isUrlavecrepertoire(urlStr)
{
// si la chaine est vide, on retourne true quand meme
 
	var res=false;
	var validDomain=false;
	var HttpPos = urlStr.substr(0,7);
	if(HttpPos=="http://")
	{

		var urlnue=urlStr.substr(7,urlStr.length);
		var SlashPos=urlnue.indexOf("/");
		
		if(SlashPos!=-1){
			//On enlève tout ce qu'il y a après le /
			urlnue=urlnue.substr(0,SlashPos);
		
			// La position du / est décalé de 7 place a cause du http://
			urlStr=urlStr.substr(0,SlashPos+7);
		}
		
		var DotPos= urlStr.lastIndexOf(".");
	
		var domainExtList='ac.ad.ae.af.ag.ai.al.am.an.ao.aq.ar.as.at.au.aw.az.ba.bb.bd.be.bf.bg.bh.bi.bj.bm.bn.bo.br.bs.bt.bv.bw.by.bz.ca.cc.cd.cf.cg.ch.ci.ck.cl.cm.cn.co.cr.cs.cu.cv.cx.cy.cz.de.dj.dk.dm.do.dz.ec.ee.eg.eh.er.es.et.fi.fj.fk.fm.fo.fr.fx.ga.gb.gd.ge.gf.gg.gh.gi.gl.gm.gn.gp.gq.gr.gs.gt.gu.gw.gy.hk.hm.hn.hr.ht.hu.id.ie.il.im.in.io.iq.ir.is.it.je.jm.jo.jp.ke.kg.kh.ki.km.kn.kp.kr.kw.ky.kz.la.lb.lc.li.lk.lr.ls.lt.lu.lv.ly.ma.mc.md.mg.mh.mk.ml.mm.mn.mo.mp.mq.mr.ms.mt.mu.mv.mw.mx.my.mz.na.nc.ne.nf.ng.ni.nl.no.np.nr.nt.nu.nz.om.pa.pe.pf.pg.ph.pk.pl.pm.pn.pr.ps.pt.pw.py.qa.re.ro.ru.rw.sa.sb.sc.sd.se.sg.sh.si.sj.sk.sl.sm.sn.so.sr.st.su.sv.sy.sz.tc.td.tf.tg.th.tj.tk.tm.tn.to.tp.tr.tt.tv.tw.tz.ua.ug.uk.um.us.uy.uz.va.vc.ve.vg.vi.vn.vu.wf.ws.ye.yt.yu.za.zm.zr.zw.com.edu.gov.int.mil.net.org.eu.biz.pro.info.aero.name.coop.arpa.nato.museum.EoF';
		var domainExt=domainExtList.split(".");
		var urlExt=urlStr.substr(DotPos+1);
		urlExt=urlExt.toLowerCase();
		i=-1;
		
		while(i<domainExt.length && urlExt!=domainExt[i]){
			i++;
		
			if (urlExt==domainExt[i]) {
				validDomain=true;
				urlExt=domainExt[i];
				}
			
		}
		if(validDomain){
			
			urlStr=urlStr.substring(7, DotPos);
			var trois = urlStr.split(".");
			if((trois[trois.length-1]).length >= 3 ){

				res=true;
			}
		}
	
  }
  else {res=false};

return(res);
}


  
 function isNumberString(NumStr)
 {var regEx=/^[0-9]+$/;
 var ret=false;
 if (regEx.test(NumStr)) ret=true;
 return ret;
 }
  
 function isAlphaNumString(NumStr)
 {var regEx=/^[A-Za-z0-9]+$/;
 var ret=false;
 if (regEx.test(NumStr)) ret=true;
 return ret;
 }
  
 function isAlphaString(NumStr)
 {var regEx=/^[A-Za-z]+$/;
 var ret=false;
 if (regEx.test(NumStr)) ret=true;
 return ret;
 }
  
//***************************** FONCTIONS ajoutées **************************************

function ConfirmSup(EnrASupprimer) {
if (confirm("Confirmez-vous la suppression ?")) {
	document.location = EnrASupprimer;
	}  
}

function formVide()
{
var cpt=0;
 // La première boucle parcourt les formulaires
   for(var i = 0; i < document.forms.length; i++)
     // La deuxième boucle parcourt les champs de formulaire
     for(var j = 0; j < document.forms[i].elements.length; j++)
       // compteur de champs non vides sauf pour les boutons radio
	   if(document.forms[i].elements[j].type!="radio" && document.forms[i].elements[j].type!="button" )
		   if(document.forms[i].elements[j].value!="") cpt++; 
	if(cpt==0) return true; else return false;
}

function verifAnnee(valeur) {
	if (valeur!="") {
		if(!IsNumberString(valeur)) alert("Saisissez une année sur 4 chiffres");
		else if (valeur.length!=4) alert("Saisissez une année sur 4 chiffres"); 
	}
}

function afficheTelAvecSep(numtel,sep) {
	if (numtel.length < 10) {
		alert("Numéro incorrect");
		return "";
	}
	else
		if(numtel.length == 10)  {
			var re = /^([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})$/;
			if(re.test(numtel)) {
				var tableau = re.exec(numtel);
				var tel = tableau.join(sep);
				return tel.substring(numtel.length+1,tel.length);
			}
			else
				return numtel;
		}
}

//Fonction qui remet à 0 le champ url si aucune adresse n'a été rentrée
function remiseChampUrl(elt){

	if(elt.value=="http://"){
		elt.value="";
	}

}

//Fonction qui met "http://" dans le champ de lien que si celui ci n'a pas encore été tapé
function miseChampUrl(elt){

	if(elt.value==""){
		elt.value="http://";
	}

}
//Fonction qui ajoute trois champs pour les destinataires (nom, prenom, mail)
var dest_nb_lignes = 0;
function ajouterDestinataire(idzoneajouter, avant, lang){
//idzoneajouter: id de la zone ou le champs doit être ajouter
//avant: nom de l'element qui se trouvera après l'insertion
	dest_nb_lignes++;
	var langue=eval("lang");
	if(dest_nb_lignes<10){
		
		var obj=$$(idzoneajouter);
		var retour=document.createElement('BR');
		var retour1=document.createElement('BR');
		var retour2=document.createElement('BR');
		var retour3=document.createElement('BR');
		var retour4=document.createElement('BR');
		var message=eval("traduction.langues.formulaire.desti."+langue);
		var texte=document.createTextNode("E-mail "+(dest_nb_lignes+1)+message);

		var message2=eval("traduction.langues.formulaire.nomdes."+langue);
		var textenom=document.createTextNode(message2+" ");

		var message3=eval("traduction.langues.formulaire.prenomdes."+langue);
		var texteprenom=document.createTextNode(message3+" ");

		
		


		//Nom
		var champnom=document.createElement('INPUT');
		champnom.type="text";
		champnom.name="nom"+(dest_nb_lignes+1);
		
		//Prénom
		var champprenom=document.createElement('INPUT');
		champprenom.type="text";
		champprenom.name="prenom"+(dest_nb_lignes+1);

		//Mail
		var champ=document.createElement('INPUT');
		champ.type="text";
		champ.name="maildestinataire"+(dest_nb_lignes+1);
		var actionclick="obj=new testChamp(this.name,'mail','formMessage','"+langue+"'); obj.verifType();";
		champ.setAttribute("onBlur",actionclick);


		//div

		var div1=document.createElement('div');
		div1.className="libelle";
		div1.appendChild(textenom);
		

		var div2=document.createElement('div');
		div2.className="libelle";
		div2.appendChild(texteprenom);
		

		var div3=document.createElement('div');
		div3.className="libelle";
		div3.appendChild(texte);
		

		//ajout

		obj.insertBefore(retour,document.getElementsByName(avant)[0]);
		obj.insertBefore(retour4,document.getElementsByName(avant)[0]);
		obj.insertBefore(div1,document.getElementsByName(avant)[0]);
		obj.insertBefore(champnom,document.getElementsByName(avant)[0]);
			

		obj.insertBefore(retour1,document.getElementsByName(avant)[0]);

		obj.insertBefore(div2,document.getElementsByName(avant)[0]);
		obj.insertBefore(champprenom,document.getElementsByName(avant)[0]);
		

		obj.insertBefore(retour2,document.getElementsByName(avant)[0]);

		obj.insertBefore(div3,document.getElementsByName(avant)[0]);
		obj.insertBefore(champ,document.getElementsByName(avant)[0]);
		

		obj.insertBefore(retour3,document.getElementsByName(avant)[0]);
	}else{
		var message_erreur=eval("traduction.langues.formulaire.tropdes."+langue);
		alert(message_erreur+"");
	}
	
	

}

//Fonction qui ajoute une ligne pour l'envoi à plusieurs destinataires
var mail_nb_lignes = 0;
function ajouterLigne(idzoneajouter, lang){
//idzoneajouter: id de la zone ou le champs doit être ajouter
	mail_nb_lignes++;
	if(mail_nb_lignes<10){
		var langue=eval("lang");
		var obj=$$(idzoneajouter);
		var retour=document.createElement('BR');
		
		var message=eval("traduction.langues.formulaire.desti."+langue);
		var texte=document.createTextNode(mail_nb_lignes+1+message);
		var champ=document.createElement('INPUT');
		champ.type="text";
		champ.name="maildestinataire"+(mail_nb_lignes+1);
		champ.id="maildestinataire"+(mail_nb_lignes+1);
		
		champ.onblur=function(){
			
		obj2=new testChamp(champ.name,'mail','formMessage',langue);		 obj2.verifType();
		};

		var div_libel=document.createElement('div');
		div_libel.appendChild(texte);
		div_libel.className="libelle";
		obj.appendChild(div_libel);
		obj.appendChild(champ);
		
	}
	

}

 function getURL_base(url)
 {
 //renvoie un URL sans les paramètres et le ?
 var S_url = url;
 stopIndex=S_url.indexOf("?");
 url_sans_param=S_url.substr(0,stopIndex);
 return url_sans_param
 } 
	
//Fonction qui retourne un tableau associatif représentant les différents paramètre passés par l'url et leur valeur
function getParametres()
{

 if (window.location.search != "") {
	var longueur = window.location.search.length - 1;
	var data = window.location.search.substr(1,longueur);
	var donnees = data.split("&");
	var urlvar = new Object();
	var urlvarnum = new Object();
		for (var i=0; i < donnees.length; i++) {
			position = donnees[i].indexOf("=");
			variable = donnees[i].substr(0,position);
			pos = position + 1;
			valeur = decodeURI(donnees[i].substr(pos,donnees[i].length));
			while (valeur.search(/\+/) != -1)
				valeur = valeur.replace(/\+/," ");
			urlvar[variable] = valeur;
			urlvarnum[i] = valeur;
			
		}
	} 

return urlvar;

} 



//<!--
//<!-- Modified By:  Steve Robison, Jr. (stevejr@ce.net) -->
//<!-- This script and many more are available free online at -->
//<!-- The JavaScript Source!! http://javascript.internet.com -->

function check(nomcase, nomselect) {

var tab=document.getElementsByName(nomcase);
var tabsel = document.getElementsByName(nomselect);
//nbcas = field.length -2; // attention comme on envoie tout le formulaire, on enleve 2 objets qui sont ?la fin : 1 bouton et (1 bouton ou la case tout selectionner)

if (tabsel[0].checked == false) {
	for (i = 0; i < tab.length; i++) {
		tab[i].checked = false;
	}
	
	return "Aucun"; 
}
else {
	for (i = 0; i < tab.length; i++) {
		tab[i].checked = true; 
	}
	
	return "Tous"; 
}
}
//  End -->

//Fonction qui vérifie si une ou plusieurs lsite de checkbox sont bien renseigné

// nomsgroupe : noms des checkbox séparé par des virgules
//lang : lang de l'apparrition du message
//Retourne : rien mais coche tous si une des liste est vide
function veriformcheck(nomsgroupe, lang){
	var groupetemp=nomsgroupe;
	var partieformtemp;
	var objetform;
	var okpourun;
	var nonokpourun=true;
	var message=eval("traduction.langues.formulaire.avertissement_annu."+lang);;

	while(groupetemp.indexOf(",",0)!=-1){
		okpourun=false;
		partieformtemp=groupetemp.substring(0,groupetemp.indexOf(",",0));
		groupetemp=groupetemp.substring(groupetemp.indexOf(",",0)+1,groupetemp.length);
		objetform=$('.'+partieformtemp);
		for(i=0;i<objetform.length;i++){
			if(objetform[i].checked==true){
				okpourun=true;
				
				break;
			}
		}

		if(!okpourun){
			for(i=0;i<objetform.length;i++){
				objetform[i].checked=true;
			}
		}
			
	}
	okpourun=false;
	//On le refait pour la dernière occurence
	partieformtemp=groupetemp;
	objetform=$('.'+partieformtemp);
		for(i=0;i<objetform.length;i++){
			if(objetform[i].checked==true){
				okpourun=true;
				
				break;
			}
		}

		if(!okpourun){
			for(i=0;i<objetform.length;i++){
				objetform[i].checked=true;
			}
			
		}

	
		return true;
	
}


function verifNbQdeCoche(){
	var nbqde=0;
	var qdecoche=$('.idqde');
	for(i=0;i<qdecoche.length;i++){
		if(qdecoche[i].checked==true){
			nbqde++;
		}
	}
	var nbvoulu=0;
	var packdom=document.getElementsByName("packdom");
	for(i=0;i<packdom.length;i++){
		if(packdom[i].checked==true){
			if(packdom[i].value=="259"){
				nbvoulu=1;
			}
			if(packdom[i].value=="258"){
				nbvoulu=2;
			}
			if(packdom[i].value=="257"){
				nbvoulu=3;
			}
			break;
		}
	}
	if(nbvoulu==0){
		nbvoulu=1;
	}
	if(nbvoulu!=0){

		if(nbqde<nbvoulu){
			alert('Merci de sélectionner '+nbvoulu+' Quartier(s) des entrepreneurs');
		}else{
			if(nbqde>nbvoulu){
				alert('Merci de ne sélectionner que '+nbvoulu+' Quartier(s) des entrepreneurs');
			}else{
				return true;
			}
		}

	}else{
		return true;
	}
	return false;
	

}

function envoiCom(){
	if(verifNbPackCoche()){
		if(verifNbTelAjou()){
			if(verifNbQdeCoche()){
				envoyer('contactform','','fr');
			}
		}
	}
}

function verifNbTelAjou(){

	var tel=document.getElementsByName('packtel');
	var total=0;

	for (var i=0;i<tel.length;i++){
		if(tel[i].checked==true){
			total++;
		}
	}
	if(total==0){
		return true;
	}else{
		if($('#nbtel')[0].value==""){
			alert('Merci de renseigner le nombre pour les transferts d’appels ou les permanences téléphoniques.');
		}else{
			return true;
		}
	}
}

function verifNbPackCoche(){
	var dom=document.getElementsByName('packdom');
	var tel=document.getElementsByName('packtel');
	var total=0;
	for (var i=0;i<dom.length;i++){
		if(dom[i].checked==true){
			total++;
		}
	}
	if(total==0){
		for (var i=0;i<tel.length;i++){
			if(tel[i].checked==true){
				total++;
			}
		}
	 }
	if(total==0){
		alert('Merci de sélectionner au moins un produit.');
		return false;
	}else{
		return true;
	}
}

function changeObjet(selectobjet){
	if(selectobjet.options[selectobjet.selectedIndex].value=="Autres"){
		$("#autreobjet").slideDown(1000);
	}else{
		$("#autreobjet")[0].value="";
		$("#autreobjet").slideUp(1000);
	}
}

function clickpack(radiob){
	if (document.getElementById) {
		var radio = radiob;
		var temp = document.getElementById(radiob.name+'_temp');
	} else if (document.all) {
		var radio = radiob;
		var temp = document.all[radiob.name+'_temp'];
	} else {
		if ((navigator.appname.indexOf("Netscape") != -1) && parseInt(navigator.appversion == 4)) {
			var radio = radiob;
			var temp = document.layers[radiob.name+'_temp'];
		}
	}
	if(radio.value == temp.value) {
		radio.checked = false;
		temp.value = '';
		if(radio.name=="packdom"){
			$("#qde")[0].style.display="";
			afficherDetailQDE(0);
			document.getElementsByName('optcourrier')[0].disabled=true;
			document.getElementsByName('optcourrier')[0].checked=false;
		}
		if(radio.name=="packtel"){
			$('#nbtel')[0].value="";
			$('#nbtel')[0].disabled=true;
		}
		
	} else {
		temp.value = radio.value;
		if(radio.name=="packdom"){
			document.getElementsByName('optcourrier')[0].disabled=false;
			document.getElementsByName('optcourrier')[0].checked=false;
			if(radio.value=="259"){
				$("#qde")[0].style.display="";
			}else{
				$("#qde")[0].style.display="none";
				afficherDetailQDE(0);
			}
		}
		if(radio.name=="packtel"){
			$('#nbtel')[0].disabled=false;
		}
		

	}
}

//***************************** FONCTIONS C-STAN **************************************

//****************************Classe testChamp**************************************

tableau_message=new Object();
function testChamp(nomchamp, typage, idzonemessage, lang)
/*
objet: objet représentant le formulaire
typage: type attendu dans le champ. Ex: mail, text, etc...
idzonemessage (optionel): id de la zone où apparaitra le message derreur
lang: langage des messages d'erreur: fr, en ou de


*/
{
	
		var obj=window.document.getElementsByName(nomchamp);
		

		this.nom = nomchamp;
		
		this.valeur=obj[0].value;
		this.typage=typage;
		this.langue=lang;
		if(idzonemessage!=undefined){
			this.idzonemessage=idzonemessage;
		}
		this.message="";

		

		res=true; // globale car utilisé dans la fonction de vérif avant envoi
		//Methode qui vérifie que le contenu du champ est correct
	
		this.verifType=function(){
		/*
		Fonction qui vérifie que la valeur entrée dans le champ correspond au type demandé
		valeur retournée : si pas d'idzonemessage, le message d'erreur est retourné
		*/
			if(this.valeur != ""){
			
				switch (this.typage)
				{
					case 'int':
						res=isNumberString(this.valeur);
						break;
					case 'mail':
						res=isEmail(this.valeur);
						break;
					case 'text':
						res=isAlphaString(this.valeur);
						break;
					case 'textnum':
						res=isAlphaNumString(this.valeur);
						break;
					case 'date':
						res=isDate(this.valeur);
						break;
					case 'url':	
						res=isUrlavecrepertoire(this.valeur);
						break;
					case 'cp':
						res=isCodePostal(this.valeur);
						break;
					case 'tel':
						res=isTelephone(this.valeur);
						break;
					case 'siret':
						res=isSiret(this.valeur);
						break;
					default:
						res=false;
						break;
				}
				
			
				
								
				if(!res){

					var prempartie=eval("traduction.langues.div.alert1."+this.langue);
					
					var nomchamp = eval("traduction.langues.formulaire."+this.nom+"."+this.langue);
					this.message ="- "+prempartie+nomchamp;
					
					if(this.idzonemessage!=undefined)
					// si la zone d'affichage des messages est définie on la met a jour
					{
						var temp=false;
						for(var key in tableau_message){
							if(this.message==tableau_message[key]){
								
								temp=true;
								
							}
						}
						tableau_message[this.nom]=this.message;
							
						this.afficherMessages();
						
						
						if(!temp){
							$($$(this.idzonemessage)).hide(1);
							$($$(this.idzonemessage)).slideDown(1000);
						}
					}
					else
					// sinon on renvoie le message
					{
					
						return this.message;
					}
				}
				else
				{
					if(this.idzonemessage!=undefined)
					{
						// pas d'erreur donc on efface le message s'il y en avait un
						tableau_message[this.nom]="";
						this.afficherMessages();
					}
				}
			}else
			{
				if(this.idzonemessage!=undefined){
						// le champ est vide donc on efface le message s'il y en avai un
						tableau_message[this.nom]="";
						this.afficherMessages();
				}
			}
		}

		this.afficherMessages=function(){
		/*
		Fonction qui affiche les uns à la suite des autres les messages d'erreurs généré par la fonction verifType
		*/
			var obj1 = $$(this.idzonemessage);
			var totalMessage="";
			var testefface=true;
			
			for (var keyVar in tableau_message){
 				
					
				if(tableau_message[keyVar]!="")
				{	
					
					testefface=false;
				

// 					obj1.style.display="inherit";
					
					totalMessage += tableau_message[keyVar]+"<br/><br/>";
				}
				
			}
			
			if(testefface){obj1.style.display="none";}
			
			obj1.innerHTML = totalMessage;
		}

}


function afficherDetailPack(idarticle){
	$("#detailpack")[0].innerHTML="<img src='squelettes/includes/images/load-image.gif' alt='Chargement...' title='Chargement...' class='load'/>";

	$("#detailpack")[0].style.display="block";
		
	detailpackcom=$.ajax({

		type: 'get',
		
		url: 'spip.php?page=detailpack&idarticle='+idarticle ,

		success: function(){

			$("#detailpack")[0].innerHTML=detailpackcom.responseText;
			majHauteurs();
		}
	
	});
}

function afficherDetailQDE(idqde,idpack){
	$("#packqde")[0].innerHTML="<img src='squelettes/includes/images/load-image.gif' alt='Chargement...' title='Chargement...' class='load'/>";

	detailqde=$.ajax({

		type: 'get',
		
		url: 'spip.php?page=detailpackeqde&idqde='+idqde+"&packs="+idpack ,
		
		success: function(){

			$("#packqde")[0].innerHTML=detailqde.responseText;
			majHauteurs();
		}
	
	});
}

function montrerCalendrier(idinput,idcontainer,prerempli, idimage){

	inputmodifcal=YAHOO.util.Dom.get(idinput);

	inputmodifcal.focus();

	cal = new YAHOO.widget.Calendar("cal",idcontainer,{ title:"Choisir une date:", close:true });

	//changement de la langue du calendrier (mis en français)
	cal.cfg.setProperty("MONTHS_SHORT",   ["Jan", "Fev", "Mar", "Avr", "Mai", "Jui", "Jui", "Aou", "Sep", "Oct", "Nov", "Dec"]);



	cal.cfg.setProperty("MONTHS_LONG",    ["Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre"]);



	cal.cfg.setProperty("WEEKDAYS_1CHAR", ["D", "L", "M", "M", "J", "V", "S"]);



	cal.cfg.setProperty("WEEKDAYS_SHORT", ["Di", "Lu", "Ma", "Me", "Je", "Ve", "Sa"]);



	cal.cfg.setProperty("WEEKDAYS_MEDIUM",["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"]);



	cal.cfg.setProperty("WEEKDAYS_LONG",  ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"]);



	cal.cfg.setProperty("SHOW_WEEK_HEADER", true);



	cal.cfg.setProperty("START_WEEKDAY", 1);



	var navConfig = {



		strings: {



			month:"Mois",



			year:"Annee",



			submit: "Envoyer",



			cancel: "Annuler",



			invalidYear: "Veuillez entrer une année valide"



		}



	}



	cal.cfg.setProperty("navigator", navConfig);







	cal.render();







	function choixDate(type, args, obj)



	{



		var inputclick=YAHOO.util.Dom.get(idinput);



		var jour=args[0][0][2]+"";



		var mois=args[0][0][1]+"";



		if(jour.length<2){



			jour="0"+jour;



		}



		if(mois.length<2){



			mois="0"+mois;



		}



		inputclick.value = jour+"-"+mois+"-"+args[0][0][0];



		obj.hide();



		inputmodifcal.blur();



	}



	cal.selectEvent.subscribe(choixDate, cal, true);

	YAHOO.util.Dom.get(idinput).readOnly=true;

	new YAHOO.util.DD(idcontainer); 

	if(prerempli==1){

		afficherDateJour(idinput,1);

	}



	// Listener to show the single page Calendar when the button is clicked 

	YAHOO.util.Event.addListener(idinput, "click", cal.show, cal, true);
	if(typeof(idimage)!="undefined"){
		YAHOO.util.Event.addListener(idimage, "click", cal.show, cal, true);
	}
}

function changeTypeEntr(existante){

	if(existante=="1"){
		$('#nosoc')[0].innerHTML="* Nom de la société :";
		$('#addsie')[0].innerHTML="* Adresse du siège :";
		$('#nodir')[0].innerHTML="* Nom du gérant / dirigeant :";
		$('#stju')[0].innerHTML="* Statut juridique :";
		$('#moca')[0].innerHTML="Montant du capital en € :";
		$('#dacrea')[0].innerHTML="* Date de création :";
		$('#teph')[0].innerHTML="* Téléphone :";
		$('#fxa')[0].innerHTML="Fax :";
		$('#mailcont')[0].innerHTML="* E-mail :";
		$('#siret')[0].value="";
		$('#blocsiret')[0].style.display="";
	}else{
		$('#nosoc')[0].innerHTML="* Futur nom de la société :";
		$('#addsie')[0].innerHTML="* Adresse du contact :";
		$('#nodir')[0].innerHTML="* Nom du futur gérant :";
		$('#stju')[0].innerHTML="* Statut juridique prévu :";
		$('#moca')[0].innerHTML="Capital en € prévu :";
		$('#dacrea')[0].innerHTML="* Date de création prévue :";
		$('#teph')[0].innerHTML="* Téléphone du contact :";
		$('#fxa')[0].innerHTML="Fax du contact :";
		$('#mailcont')[0].innerHTML="* E-mail du contact :";
		$('#siret')[0].value=" ";
		$('#blocsiret')[0].style.display="none";
	}


}

function queDchiffre()
{
	reg = new RegExp('[^0-9]+', 'g');
	valeur = $('#nbtel')[0].value;
		if(reg.test(valeur)){
			$('#nbtel')[0].value=$('#nbtel')[0].value.replace(/[^0-9]+/, '');
		}else{	
			return true;
		}
}

