


function CheckDate(d) {
      // Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
      // Le séparateur est défini dans la variable separateur
	  var date = new Date();
      var amin = date.getFullYear()-120; // année mini
      var amax = date.getFullYear(); // année maxi
      var separateur="/"; // separateur entre jour/mois/annee
      var j=(d.substring(0,2));
      var m=(d.substring(3,5));
      var a=(d.substring(6));
      var ok=1;
	  var error='';

      if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
         error="Le jour n'est pas correct."; ok=0;
      }

      if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
         error="Le mois n'est pas correct."; ok=0;
      }

      if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
         error="L'année n'est pas correcte."; ok=0;
      }

      if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
         error="Les séparateurs doivent être des "+separateur; ok=0;
      }

      if (ok==1) {
         var d2=new Date(a,m-1,j);
         j2=d2.getDate();
         m2=d2.getMonth()+1;
         a2=d2.getYear();
		 //alert(a2); // I.E renvoie 89, 2006 - firefox renvoie 89, 106
         if (a2<=999) { // c firefox
		 a2=1900+a2
		 //alert(a2); // donne 3906 pour IE - donne 2006 pour firefox.
		 }
         if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
            error="La date "+d+" n'existe pas !";
            ok=0;
         }
      }
      return error;
}

function is5nbre(n) {
	// Cette fonction permet de vérifier la validité d'un champs au format 00000 
	nnnn = new RegExp("^[0-9]{5}$");   
	if (!nnnn.test(n)) // On teste l'expression régulière pour valider la forme du code postal
		return false; // Si pas bon, retourne faux
}
function is10nbre(n) {
	// Cette fonction permet de vérifier la validité d'un champs au format 00000 
	nnnnnnnnnn = new RegExp("^[0-9]{10}$");   
	if (!nnnnnnnnnn.test(n)) // On teste l'expression régulière pour valider la forme du num de tel
		return false; // Si pas bon, retourne faux
}
function isbudget(n) {
	// Cette fonction permet de vérifier la validité d'un champs au format 00000 
	nn = new RegExp("^[0-9]{1,4}$");   
	if (!nn.test(n)) // On teste l'expression régulière pour valider la forme du code postal
		return false; // Si pas bon, retourne faux
}

function CheckMail(d) {
  // RegEx qui permet de controler qu'une adresse mail est valide
  var reg = new RegExp('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$', 'i');
	  if (!reg.test(d))
	  return false;
}
function isalpha(n) {
	//var chaine = aa.replaceAll("[\\d]", "");
	aa = new RegExp('[_a-z-]+');   
	if (!aa.test(n)) // On teste si l'expression ne contient pas de chiffres
	return false;
}


function verifier() {
document.devis.finalerror.value = "";

if ((document.devis.civilite[0].checked==false) && (document.devis.civilite[1].checked==false) && (document.devis.civilite[2].checked==false))
{
	document.devis.finalerror.value = "Veuillez indiquer votre civilité SVP";
	return false;
}
if (document.devis.nom.value=="") {
	document.devis.finalerror.value = "Veuillez indiquer votre nom SVP";
	return false;
}
if (isalpha(document.devis.nom.value)== false) {
	document.devis.finalerror.value = "Pas de chiffre dans votre nom SVP";
	return false;
}
if (document.devis.prenom.value=="") {
	document.devis.finalerror.value = "Veuillez indiquer votre prénom SVP";
	return false;
}
if (isalpha(document.devis.prenom.value)== false) {
	document.devis.finalerror.value = "Pas de chiffre dans votre prénom SVP";
	return false;
}
if (document.devis.adresse.value=="") {
	document.devis.finalerror.value = "Veuillez indiquer votre adresse SVP";
	return false;
}
if (document.devis.postal.value=="") {
	document.devis.finalerror.value = "Veuillez indiquer votre code postal SVP";
	return false;
}
if (is5nbre(document.devis.postal.value)== false) {
	document.devis.finalerror.value = "Format de code postal incorrect : 5 chiffres SVP";
	return false;
}
if (document.devis.ville.value=="") {
	document.devis.finalerror.value = "Veuillez indiquer votre ville SVP";
	return false;
}
if (document.devis.tel.value=="") {
	document.devis.finalerror.value = "Veuillez indiquer votre téléphone SVP";
	return false;
}
if (is10nbre(document.devis.tel.value)== false) {
	document.devis.finalerror.value = "Format de téléphone incorrect : 10 chiffres SVP";
	return false;
}
if (document.devis.email.value=="") {
	document.devis.finalerror.value = "Veuillez indiquer votre adresse email SVP";
	return false;
}
if (document.devis.email.value!="") {
	if (CheckMail(document.devis.email.value)== false) {
		document.devis.finalerror.value = "Adresse email incorrecte";
		return false;
	}
}
if (document.devis.adherent_date.value=="") {
	document.devis.finalerror.value = "Veuillez indiquer votre (adhérent) date naissance SVP";
	return false;
}
if (CheckDate(document.devis.adherent_date.value)) {
	document.devis.finalerror.value = "Date naissance (adhérent) incorrecte";
	return false;
}
if (document.devis.adherent_regime.value=="") {
	document.devis.finalerror.value = "Veuillez indiquer le Régime de l'adhérent SVP";
	return false;
}
if (document.devis.adherent_csp.value=="") {
	document.devis.finalerror.value = "Veuillez indiquer le secteur d'activité de l'adhérent SVP";
	return false;
}

if (tadultes>0) {
	if (document.devis.adulte2_nom.value=="") {
		document.devis.finalerror.value = "Veuillez indiquer le nom du 2ème adulte SVP";
		return false;
	}
	if (isalpha(document.devis.adulte2_nom.value)== false) {
		document.devis.finalerror.value = "Pas de chiffre dans le nom du 2ème adulte SVP";
		return false;
	}
	if (document.devis.adulte2_prenom.value=="") {
		document.devis.finalerror.value = "Veuillez indiquer le prénom du 2ème adulte SVP";
		return false;
	}
	if (isalpha(document.devis.adulte2_prenom.value)== false) {
		document.devis.finalerror.value = "Pas de chiffre dans le prenom du 2ème adulte SVP";
		return false;
	}
	if (document.devis.adulte2_date.value=="") {
		document.devis.finalerror.value = "Veuillez indiquer la date de naissance du 2ème adulte SVP";
		return false;
	}
	if (CheckDate(document.devis.adulte2_date.value)) {
		document.devis.finalerror.value = "Date de naissance du 2ème adulte incorrecte";
		return false;
	}
	if (document.devis.adulte2_regime.value=="") {
		document.devis.finalerror.value = "Veuillez indiquer le Régime du 2ème adulte SVP";
		return false;
	}
	if (document.devis.adulte2_csp.value=="") {
		document.devis.finalerror.value = "Veuillez indiquer le secteur d'activité du 2ème adulte SVP";
		return false;
	}
}


if (tenfants>0) {

	if ((document.devis.enfant1_civilite[0].checked==false) && (document.devis.enfant1_civilite[1].checked==false)) {
		document.devis.finalerror.value = "Veuillez indiquer le sexe du 1er enfant SVP";
		return false;
	}
	if (document.devis.elements['enfant1_nom'].value=="") {
		document.devis.finalerror.value = "Veuillez indiquer le nom du 1er enfant SVP";
		return false;
	}
	if (isalpha(document.devis.elements['enfant1_nom'].value)== false) {
		document.devis.finalerror.value = "Pas de chiffre dans le nom du 1er enfant SVP";
		return false;
	}
	if (document.devis.elements['enfant1_prenom'].value=="") {
		document.devis.finalerror.value = "Veuillez indiquer le prénom du 1er enfant SVP";
		return false;
	}
	if (isalpha(document.devis.elements['enfant1_prenom'].value)== false) {
		document.devis.finalerror.value = "Pas de chiffre dans le prénom du 1er enfant SVP";
		return false;
	}
	if (document.devis.elements['enfant1_date'].value=="") {
		document.devis.finalerror.value = "Veuillez indiquer la date naissance du 1er enfant SVP";
		return false;
	}
	if (CheckDate(document.devis.elements['enfant1_date'].value)) {
		document.devis.finalerror.value = "Date naissance du 1er enfant incorrecte";
		return false;
	}
}
for(x=2;x<=tenfants;x++) {

	if ((document.devis.elements['enfant'+x+'_civilite'][0].checked==false) && (document.devis.elements['enfant'+x+'_civilite'][1].checked==false)) {
		document.devis.finalerror.value = "Veuillez indiquer le sexe du "+x+"ème enfant SVP";
		return false;
	}
	if (document.devis.elements['enfant'+x+'_nom'].value=="") {
		document.devis.finalerror.value = "Veuillez indiquer le nom du "+x+"ème enfant SVP";
		return false;
	}
	if (isalpha(document.devis.elements['enfant'+x+'_nom'].value)== false) {
		document.devis.finalerror.value = "Pas de chiffre dans le nom du "+x+"ème enfant SVP";
		return false;
	}
	if (document.devis.elements['enfant'+x+'_prenom'].value=="") {
		document.devis.finalerror.value = "Veuillez indiquer le prénom du "+x+"ème enfant SVP";
		return false;
	}
	if (isalpha(document.devis.elements['enfant'+x+'_prenom'].value)== false) {
		document.devis.finalerror.value = "Pas de chiffre dans le prénom du "+x+"ème enfant SVP";
		return false;
	}
	if (document.devis.elements['enfant'+x+'_date'].value=="") {
		document.devis.finalerror.value = "Veuillez indiquer la date naissance du "+x+"ème enfant SVP";
		return false;
	}
	if (CheckDate(document.devis.elements['enfant'+x+'_date'].value)) {
		document.devis.finalerror.value = "Date naissance du "+x+"ème enfant incorrecte";
		return false;
	}

}

	if (document.devis.budget.value=="") {
		document.devis.finalerror.value = "Veuillez indiquer le budget mensuel souhaité SVP";
		return false;
	}
	if (isbudget(document.devis.budget.value)==false) {
		document.devis.finalerror.value = "Veuillez n'indiquer que des chiffres sans espaces ni virgules dans votre budget SVP";
		return false;
	}
	


return true;
}
