/**
 * @author web1
 */

function verif_confirmation(){
	
	d = document.formulaire;
	// Optin
	if (d.declare.checked == false  )
		return die("declare","Merci de prendre connaissance des conditions générales et de cocher la case adéquate.");
	
	
	// Optin
	if (d.choix[0].checked == false && d.choix[1].checked == false )
		return die("choix[0]","Merci de préciser le délai de prise d'effet de la souscription.");
	
	
	return true;
}


var verif_colle = false;
 function prepare(){
 	verif_colle = true;
 }
 
 function enleve(var_this){
 	 
 	if (verif_colle ){
		var_this.value="";
	}
 	verif_colle = false;
 }
 
 function verif_coordonnes(){
 	d = document.formulaire;
	// Civilité
	if (d.civilite[0].checked==false && d.civilite[1].checked==false && d.civilite[2].checked==false) return die("civilite[0]","Veuillez préciser votre civilité.");
	
	// Nom
	if (d.nom.value.length<1) return die("nom","Veuillez saisir votre nom.");
	
	// Prénom 
	if (d.prenom.value.length<1) return die("prenom","Veuillez saisir votre prénom.");
	
	// Adresse 
	if (d.adresse.value.length<1) return die("adresse","Veuillez saisir votre adresse.");
	
	// Code postal 
	if (d.cp.value.length != 5) return die("cp","Veuillez saisir un code postal correct.");
	if (!CheckNombre(d.cp.value)) return die("cp","Le code postal doit être un nombre.");
	
	// ville
	if (d.ville.value.length<1) return die("ville","Veuillez saisir votre ville.");
	
	if (d.dj.selectedIndex == 1) return die("dj","Veuillez saisir votre jour de naissance.");
	if (d.dm.selectedIndex == 1)  return die("dm","Veuillez saisir votre mois de naissance.");
	if (d.da.selectedIndex == 1)  return die("da","Veuillez saisir votre année de naissance.");
	
	if (!isDate(d.dj.value+"/"+d.dm.value+"/"+d.da.value)) return die("dj","Votre date de naissance n'est pas valide.");

	// Email
	if (d.email.value.length > 0)
	{
		if ((d.email.value.length > 0) && (! (d.email.value.indexOf("@") >=0 )) ||
		(! (d.email.value.indexOf(".") >=0 )) || (d.email.value.lastIndexOf(".") == d.email.value.length -1) ||
		(d.email.value.lastIndexOf(".") < d.email.value.lastIndexOf("@")))
		return die("email","L'adresse courriel saisie n'est pas valide (entrez une adresse au format xxx@xxx.xx).")
	}	else {
		return die("email","Veuillez saisir votre E-mail.");
	}
	
	// Optin
	if (d.optin[0].checked == false && d.optin[1].checked == false )
		return die("optin[0]","Merci de préciser si vous souhaitez recevoir des informations de notre part.");
	
	return true;
} 

 function die(champ,msg)
{
	alert(msg);
	eval("document.formulaire."+champ+".focus();");
	return false;
}

function CheckNombre(nb)
{
	// retourne vrai si c'est un nombre et false sinon
	return !(isNaN(nb));
}
function isDate(dt)
{
	 
    // Cette fonction permet de vérifier la validité d'une date au format jj/mm/aa ou jj/mm/aaaa
   
    if (dt == "") // si la variable est vide on retourne faux
        return false;
       
    e = new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})$");
    if (!e.test(dt)) // On teste l'expression régulière pour valider la forme de la date
        return false; // Si pas bon, retourne faux
    // On sépare la date en 3 variables pour vérification, parseInt() converti du texte en entier
    j = parseInt(dt.split("/")[0], 10); // jour
    m = parseInt(dt.split("/")[1], 10); // mois
    a = parseInt(dt.split("/")[2], 10); // année
    // Si l'année n'est composée que de 2 chiffres on complète automatiquement
    if (a < 1000)
    {
        if (a < 89)
            a+=2000; // Si a < 89 alors on ajoute 2000 sinon on ajoute 1900
        else
            a+=1900;
    }
    // Définition du dernier jour de février
    // Année bissextile si annnée divisible par 4 et que ce n'est pas un siècle, ou bien si divisible par 400
    if (a%4 == 0 && a%100 !=0 || a%400 == 0)
        fev = 29;
    else
        fev = 28;
    // Nombre de jours pour chaque mois
    nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);
    // Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
    return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
	
} 
 

