//Script de validation des etpes du formulaires

function verif_donnee(valeur, style, message, couleur) {
	
	var mess='';
	
	
	if (style=='email') {
		var exp=new RegExp("^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,4}$","g");
	}
	if (style=='texte') {
		var exp=new RegExp("[^0-9]","g");
	}
	
	if (style=='tel') {
		var exp=new RegExp("0[1-9]{1}[0-9]{8}","g");
	}
	
	if (style=='codepostal') {
		var exp=new RegExp("[0-9]{4,5}","g");
	}
	
	if (style==0) {
		var exp=new RegExp("[^0]","g");
	}
	
	if (exp.test(valeur.value)) {
		valeur.style.backgroundColor='white';
	} else {
		if (couleur=='') couleur='#FFDA8C';
		mess+=message+'\n';
		valeur.style.backgroundColor=couleur;
	}
	
	return mess;
}

String.prototype.simplify= function () {
   return this.replace(/\s+/g,"");
}

function conjoint_aff(voir) {
	
	
	var div=document.getElementById('div_conjoint');
	if (voir==1) {
		
		div.style.display ='block';
	}
	if (voir==0) {
		div.style.display = 'none';
	}

	
}

function date_valide(x,y,z)
{
/*
pour mes dates j'utilise 3 listes réroulantes (on peut utiliser aussi 3inputbox... il faut juste adapter si nécessaire.)
1 pour les jours, 1 pour les mois et 1 pour les années.
x = jours
y = mois
z = année
-------------------------------
Cette fonction envoie "True" si une date est valide
et dans le cas contraire "False".*/	if ((x <= 31)&&(nbjours_mois(y,z)==31))
	{
	return true;
	}
	else if ((x <= 29)&&(nbjours_mois(y,z)==29))
	{
	return true;
	}	
	else if ((x<=28)&&(nbjours_mois(y,z)==28))
	{
	return true;
	}	
	else if ((x<=30)&&(nbjours_mois(y,z)==30))
	{
	return true;
	}	
	else
	{
	return false;
	}
}
function nbjours_mois(mois,annee)
{
/* cette fonction envoie le nombre de jours dans 1 mois.
il prend en compte les années bissextiles.
!!! l'année bissextile n'est pas vraiment juste !!!
il arrive tous les 400 ans si je ne me trompes pas qu'une année
divisible par 4 ne soit pas bissextile.. d'ici là on sera plus là :-))*/	
	if ((mois==1)||(mois==3)||
		(mois==5)||(mois==7)||
		(mois==8)||(mois==10)||
		(mois==12))
	{
	return(31);
	}
	else if ((mois==4)||(mois==6)||
		(mois==9)||(mois==11))
	{
	return(30);
	}
	else if ((mois==2)&&(annee % 4 ==0))
	{
	return(29);
	}
	else
	{
	return(28);
	}
}

function remp_donnee_tarif(post) {

	var nom=document.getElementById('nom');
	var tel=document.getElementById('tel');
	var mail=document.getElementById('mail');
	
	var sexe1=document.getElementById('sexe1');
	var dd1=document.getElementById('dd1');
	var MM1=document.getElementById('MM1');
	var yyyy1=document.getElementById('yyyy1');
	var regime1=document.getElementById('regime1');
	
	//CONJOINT
	
	var sexe2=document.getElementById('sexe2');
	var dd2=document.getElementById('dd2');
	var MM2=document.getElementById('MM2');
	var yyyy2=document.getElementById('yyyy2');
	var regime2=document.getElementById('regime2');
	
	
	//ENFANT
	var enfant=document.getElementById('nombredenfant');
	
	var mess='';
	
	
	mess+=verif_donnee(sexe1, 0, 'Votre civilité est obligatoire', '');
	
	var messdd1='';
	messdd1+=verif_donnee(dd1, 0, 'Votre jour de naissance est obligatoire', '');
	mess+=messdd1;
	var messMM1='';
	messMM1+=verif_donnee(MM1, 0, 'Votre mois de naissance est obligatoire', '');
	mess+=messMM1;
	var messyyyy1='';	
	messyyyy1+=verif_donnee(yyyy1, 0, 'Votre année de naissance est obligatoire', '');
	mess+=messyyyy1;
	
	if (dd1 && MM1 && yyyy1) {
		if (date_valide(dd1.value,MM1.value,yyyy1.value)==false) {
		  mess+='Votre date de naissance n\'est pas valide';
		  dd1.style.backgroundColor='#FFDA8C';
		  MM1.style.backgroundColor='#FFDA8C';
		  yyyy1.style.backgroundColor='#FFDA8C';
		} else {
		  if (!messdd1) dd1.style.backgroundColor='white';
		  if (!messMM1) MM1.style.backgroundColor='white';
		  if (!messyyyy1) yyyy1.style.backgroundColor='white';
		} 	
	}
	
	mess+=verif_donnee(regime1, 0, 'Le régime est obligatoire', '');
	
	
	if (dd2.value!=0 || MM2.value!=0 || yyyy2.value!=0 || sexe2.value!=0 || regime2.value!=0) {
		// VERIF DU CONJOINT
		
		var messdd2='';
		
		mess+=verif_donnee(sexe2, 0, 'La civilité de votre conjoint est obligatoire', '');
	
		messdd2+=verif_donnee(dd2, 0, 'Le jour de naissance de votre conjoint est obligatoire', '');
		mess+=messdd2;
		var messMM2='';
		messMM2+=verif_donnee(MM2, 0, 'Le mois de naissance de votre conjoint est obligatoire', '');
		mess+=messMM2;
		var messyyyy2='';	
		messyyyy2+=verif_donnee(yyyy2, 0, 'L\'année de naissance de votre conjoint est obligatoire', '');
		mess+=messyyyy2;
		if (dd2 && MM2 && yyyy2) {
		  if (date_valide(dd2.value,MM2.value,yyyy2.value)==false) {
			mess+='La date de naissance de votre conjoint n\'est pas valide';
			dd2.style.backgroundColor='#FFDA8C';
		    MM2.style.backgroundColor='#FFDA8C';
		    yyyy2.style.backgroundColor='#FFDA8C';
		  } else {
		    if (!messdd2) dd2.style.backgroundColor='white';
		    if (!messMM2) MM2.style.backgroundColor='white';
		    if (!messyyyy2) yyyy2.style.backgroundColor='white';
		  } 	
	   }
		mess+=verif_donnee(regime2, 0, 'Le régime de votre conjoint est obligatoire', '');
	}
	
	if (enfant.value=='') {
	   mess+='Le nombre d\'enfant est obligatoire';
	   enfant.style.backgroundColor='#FFDA8C';
	} else {
	  enfant.style.backgroundColor='white';
	}

	var dde=document.getElementById('dde');
	var MMe=document.getElementById('MMe');
	var yyyye=document.getElementById('yyyye');
	
	var messdde='';
	messdde+=verif_donnee(dde, 0, 'Le jour d\'effet est obligatoire', '');
	mess+=messdde;
	var messMMe='';
	messMMe+=verif_donnee(MMe, 0, 'Le mois d\'effet est obligatoire', '');
	mess+=messMMe;
	var messyyyye='';	
	messyyyye+=verif_donnee(yyyye, 0, 'L\'année d\'effet est obligatoire', '');
	mess+=messyyyye;	
	
	if (dde && MMe && yyyye) {
		
		var date = new Date();
		date.setFullYear(yyyye.value);
		date.setMonth(MMe.value-1);
		date.setDate(dde.value);
		date.setHours(0);
		date.setMinutes(0);
		date.setSeconds(0);
		date.setMilliseconds(0);
		var mkdate=date.getTime();
		//alert(mkdate+ date);

		var datej1 = new Date();
		datej1.setDate(datej1.getDate());
		datej1.setHours(0);
		datej1.setMinutes(0);
		datej1.setSeconds(0);
		datej1.setMilliseconds(0);

		var mkdatej1=datej1.getTime();
		//alert(mkdatej1+ datej1);
		//if (mkdate<mkdatej1) alert('La date d\'effet n\'est pas valide (au plus tot le '+datej1.toLocaleString()+')');

		if (date_valide(dde.value,MMe.value,yyyye.value)==false/*  || mkdate<mkdatej1 */) {
		  // mess+='La date d\'effet n\'est pas valide (au plus tot le '+datej1.toLocaleString()+')';
		  mess+='La date d\'effet n\'est pas valide';
		  dde.style.backgroundColor='#FFDA8C';
		  MMe.style.backgroundColor='#FFDA8C';
		  yyyye.style.backgroundColor='#FFDA8C';
		} else {
		  if (!messdde) dde.style.backgroundColor='white';
		  if (!messMMe) MMe.style.backgroundColor='white';
		  if (!messyyyye) yyyye.style.backgroundColor='white';
		} 	
	}
	
	var dispose_mutuelle=document.getElementById('dispose_mutuelle');
	mess+=verif_donnee(dispose_mutuelle, 0, 'Le champs "Je souhaite" est obligatoire', '');
	
	/* var offreOui=document.getElementById('offre_partenaire_oui');
	var offreNon=document.getElementById('offre_partenaire_non');
	if (!offreOui.checked && !offreNon.checked) {
		document.getElementById('offreOuiLabel').style.backgroundColor='#FFDA8C';
		document.getElementById('offreNonLabel').style.backgroundColor='#FFDA8C';
		mess+='Le choix ou non de l\'offre partenaire est obligatoire\n';	
	} else {
		document.getElementById('offreOuiLabel').style.backgroundColor='#FFFFFF';
		document.getElementById('offreNonLabel').style.backgroundColor='#FFFFFF';
	} */
	
    mess+=verif_donnee(nom, 'texte', 'Le nom est obligatoire', '');
	nomse=nom.value;
	if (nomse.simplify()=='') {
		nom.style.backgroundColor='#FFDA8C';
		mess+='Le nom ne doit pas comporter que des espaces\n';
	}
	mess+=verif_donnee(tel, 'tel', 'Le téléphone est obligatoire', '');
	
	if (mail.value=='no@mail.com') {
		mail.style.backgroundColor='#FFDA8C';
		mess+='Le mail n\'est pas valide\n';
	}
	
	mess+=verif_donnee(mail, 'email', 'Le mail est obligatoire', '');
	
	
	var cp=document.getElementById('codepostal');
	var ville=document.getElementById('ville');
	
	mess+=verif_donnee(cp, 'codepostal', 'Votre code postal est obligatoire', '');
	
	villese=ville.value;
	if (villese.simplify()=='') {
		ville.style.backgroundColor='#FFDA8C';
		mess+='La ville est obligatoire\n';
	} else {
	  mess+=verif_donnee(ville, 'texte', 'La ville est obligatoire', '');
	}
		
	if (mess) {
		if (post=='post') {
		  alert(mess);
		  return false;
		}
		
	} else {
		if (post=='post') {
		  return true;
		}
	}
	
}



