// supprime les espaces en début de texte
// ******************************************************************************
function suppEspaces(vTxt) {
  if (vTxt!="") {
    if (vTxt.charAt(0)==" ") {
	  while (vTxt.charAt(0) == " ") {
	    vTxt = vTxt.substring(1,vTxt.length);
	 }
    }
  }
  return vTxt;
}

// ajoute des slashes pour les apostrophes
// ******************************************************************************
function addslashes(ch) {
   ch = ch.replace(/\\/g,"\\\\") 
   ch = ch.replace(/\'/g,"\\'") 
   ch = ch.replace(/\"/g,"\\\"")
   return ch
}

// remplace les retours à la ligne par des <br>
// ******************************************************************************
function addbr(ch) {
   ch = ch.replace(String.fromCharCode(13),"<br>");
   ch = ch.replace(String.fromCharCode(10),"");
   return ch
}

// verif champs texte non vide
// ******************************************************************************
function verifChampTxt(vForm,vChampTxt) {
   var veriftxt = addslashes(addbr(eval("document." + vForm + "." + vChampTxt + ".value")));
   //veriftxt = addslashes(eval("document." + vForm + "." + vChampTxt + ".value"));
   veriftxt = suppEspaces(veriftxt);
   if (veriftxt=="") {
     // vide champs txt pour supprimer espaces eventuels
     eval("document." + vForm + "." + vChampTxt + ".value = '';");
     //eval("document." + vForm + "." + vChampTxt + ".focus()");
	 return false;
   } else {
     //eval("document." + vForm + "." + vChampTxt + ".value ='" + veriftxt + "';");
     return true;
   }
}

// verif selection btn radio
// ******************************************************************************
function verifBtnRadio(vForm,vBtn) {
  btnselect = -1;
  btnradio = eval("document." + vForm + "." + vBtn);
  for(i=0;i<btnradio.length;i++) 
  { 
    if(btnradio[i].checked) { 
      btnselect = btnradio[i].value;
	}
  }
  return btnselect;
}

// verif selection cases a cocher
// ******************************************************************************
function verifCaseAcocher(vForm,vCase,vNbCases) {

  caseselect = -1;
  //nbcases = eval("document." + vForm + "." + vCase + ".length");
  for(i=1;i<=vNbCases;i++) 
  { 
  	
    unecase = eval("document." + vForm + "." + vCase + i);
      if(unecase.checked) {
        return 1; }
  } 
  return caseselect;
}


// verif adresse email
// ******************************************************************************
function verifEmail (vForm,vEmail) {
   email = eval("document." + vForm + "." + vEmail + ".value");
   var reg = /^([a-zA-Z0-9\-_]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]+)$/;
   return reg.test(email);
}


// verif n/a
// ******************************************************************************
function verifNA (vForm,vChamp) {
   ok = verifChampTxt(vForm,vChamp);
   if (ok == 1) {
     champ =  eval("document." + vForm + "." + vChamp + ".value");
	 if ((champ == "n/a") || (champ == "n /a") || (champ == "n/ a") || (champ == "n / a")) {
	 } else {
	   ok = 0;
	 }
   }
   return ok;
}

// verif saisie nombre
// ******************************************************************************
function verifInteger (vForm,vNb) {
   nbsaisi = eval("document." + vForm + "." + vNb + ".value");
     var reg = /^[0-9]*$/;
   return reg.test(nbsaisi);
}

// verif selection dans une liste
// ******************************************************************************
function verifListSelect (vForm,vSelect) {
   selection = eval("document." + vForm + "." + vSelect + ".value");
   if (selection == "nothing") {
     return false;
   } else {
     return true;
   }  
}

// verif 2 champs definissant une image
// ******************************************************************************
function verifChampsImg(vForm,vNumChamp) {
   var refLegende = addslashes(eval("document." + vForm + ".vlegende" + vNumChamp + ".value"));
   var refAlt = addslashes(eval("document." + vForm + ".valt" + vNumChamp + ".value"));
   refLegende = suppEspaces(refLegende);
   refAlt = suppEspaces(refAlt);
   var tabVerif = new Array(0,0);
   // verif legende
   if (refLegende=="") {
      eval("document." + vForm + ".vlegende" + vNumChamp + ".value = '';");
   } else {
     eval("document." + vForm + ".vlegende" + vNumChamp + ".value ='" + refLegende + "';");
	 tabVerif[0] = 1;
   }
   // verif alt
   if (refAlt=="") {
      eval("document." + vForm + ".valt" + vNumChamp + ".value = '';");
   } else {
     eval("document." + vForm + ".valt" + vNumChamp + ".value ='" + refAlt + "';");
	 tabVerif[1] = 1;
   }
   // envoi resultat verif
   if ((tabVerif[0] == 1) && (tabVerif[1] == 1)) {
     return true;
   } else {
     return false;
   }
}

// verif les dates de debut et fin de l enquete
// ******************************************************************************
function verifDates(vForm,vDateDeb,vDateFin) {
   var dateDeb = eval("document." + vForm + "." + vDateDeb + ".value");
   var dateFin = eval("document." + vForm + "." + vDateFin + ".value");
   fmtDebOk = verifFmtDate(dateDeb);
   fmtFinOk = verifFmtDate(dateFin);
   if ((fmtDebOk ==1) && (fmtFinOk ==1)) {
     return comparaisonDates(dateDeb,dateFin);
   } else {
     return false;
   }
}

// verif le format d une date (jj/mm/aaaa)
// ******************************************************************************
function verifFmtDate(vDate) {
   var anneeMin=2004;
   var separateur="/";
   var jour=(vDate.substring(0,2));
   var mois=(vDate.substring(3,5));
   var annee=(vDate.substring(6));
   var fmtValid=1;
   // verif jour
   if ( ((isNaN(jour))||(jour<1)||(jour>31)) && (fmtValid==1) ) {
     fmtValid=0;
   }
   // verif mois
   if ( ((isNaN(mois))||(mois<1)||(mois>12)) && (fmtValid==1) ) {
     fmtValid=0;
   }
   // verif annee
   if ( ((isNaN(annee))||(annee<anneeMin)) && (fmtValid==1) ) {
     fmtValid=0;
   }
   // verif separateur
   if ( ((vDate.substring(2,3)!=separateur)||(vDate.substring(5,6)!=separateur)) && (fmtValid==1) ) {
     fmtValid=0;
   }
   // verif date existe
   if (fmtValid==1) {
     var dateOk=new Date(annee,mois-1,jour);
     jourOk=dateOk.getDate();
     moisOk=dateOk.getMonth()+1;
     anneeOk=dateOk.getYear();
     if (anneeOk<=100) {anneeOk=1900+anneeOk}
     if ( (jour!=jourOk)||(mois!=moisOk)||(annee!=anneeOk) ) {
       alert("La date "+vDate+" n'existe pas !");
       fmtValid=0;
     }
   }
   return fmtValid;
}

// verif datefin > datedebut
// ******************************************************************************
function comparaisonDates(vDateDeb,vDateFin) {
   var dateDeb=new Date(vDateDeb.substring(6),vDateDeb.substring(3,5),vDateDeb.substring(0,2));
   var dateFin=new Date(vDateFin.substring(6),vDateFin.substring(3,5),vDateFin.substring(0,2));
   if (dateDeb < dateFin) {
     return true;
   } else {
     return false;
   }
}

