// Boucle de validation
function validateForm(form) {
	if (isNotEmpty(form.nom)) {
		if (isNotEmpty(form.adresse)) {
			if (isNotEmpty(form.cp)) {
				if (isNotEmpty(form.ville)){
					if (isNotEmpty(form.telephone)) {
						if (isNotEmpty(form.eMail)) {
                			if (isEMailAddr(form.eMail)) {
										return true;
							}
						}
					}
				}
			}
		}
	}
	return false;
}

function validateNewsletter(form) {
				if (isNotEmpty(form.nom)) {
					if (isNotEmpty(form.prenom)) {
						if(isNotEmpty(form.jj)){
							if(isNotEmpty(form.mm)) {
								if(isNotEmpty(form.aaaa)) {
									if (isNotEmpty(form.votre_email)) {
										if (isEMailAddr_newsletter(form.votre_email)) {
											if(verif_date()) {
												return true;
											}
										}
									}
								}
							}
						}
					}
				}
	return false;
}

function validatedesNewsletter(form) {
				if (isNotEmpty(form.nom_des)) {
					if (isNotEmpty(form.email_des)) {
						if (isEMailAddr(form.email_des)) {
								return true;
						}
					}
				}
	return false;
}

// Vérifie si un champ a bien été renseigné
function isNotEmpty(elem) {
	var str = elem.value;
    var re = /.+/;
    if(!str.match(re)) {
        alert("Veuillez renseigner les champs obligatoires.");
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;
    } else {
        return true;
    }
}

// Vérifie si l'adresse e-mail est valide
function isEMailAddr(elem) {
	var str = elem.value;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) {
        alert("Veuillez vérifier le format de votre adresse e-mail.");
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;
    } else {
        return true;
    }
}

// Positionne le curseur dans un champ donné
function focusElement(formName, elemName) {
    var elem = document.forms[formName].elements[elemName];
    elem.focus();
    elem.select();
}

// Vérifie si l'adresse e-mail de la newsletter est valide
function isEMailAddr_newsletter(elem) {
	var str = elem.value;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) {
        alert("Veuillez vérifier le format de votre adresse e-mail\npour votre abonnement à la newsletter.");
        setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0);
        return false;
    } else {
        return true;
    }
}

function verif_date() {
	  var jj=(document.getElementById('jj').value);
      var mm=(document.getElementById('mm').value);
      var aaaa=(document.getElementById('aaaa').value);
      var ok=1;
	
     if ( ((isNaN(jj))||(jj<1)||(jj>31)) && (ok==1) ) {
         alert('Jour incorrect.'); ok=0;
      }
       if ( ((isNaN(mm))||(mm<1)||(mm>12)) && (ok==1) ) {
         alert('Mois incorrect.'); ok=0;
      }
      if ( ((isNaN(aaaa)) ) && (ok==1) ) {
         alert('Année incorrecte.'); ok=0;
      }
	  
      if (ok==1) {
         var d2=new Date(aaaa,mm-1,jj);
         j2=d2.getDate();
         m2=d2.getMonth()+1;
         a2=d2.getFullYear();
         if (a2<=100) {a2=1900+a2}
         if ( (jj!=j2)||(mm!=m2)||(aaaa!=a2) ) {
			 var date_deb = jj +'/'+mm+'/'+aaaa;
            alert('La date du '+date_deb+' n\'existe pas…\nMerci de vérifier votre saisie.');
			return false;
            ok=0;
         } else {
			return true; 
		 }
	  }
}