function validerform(moi) {

  // variables locales
  var chp; var isOk = true; var errDesc = ' ';
  
   // 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');
  
   // parcours des elements du formulaire
  for (var i = 0; isOk && (i < moi.elements.length); i++) {
      if (moi.elements[i].className) {
			  // Cet element a une classe
			  chp = moi.elements[i];
          			if (chp.value == '') {
               		// Ce champ est vide : Ok si pas obligatoire
              			if (chp.className.substr(0, 1) == 'o') {
                  		isOk = false;
                  		errDesc = 'Vérifiez les champs obligatoires svp';
              			}
          				} else {
               			// Effectuer les controle selon la classe
              			switch (chp.className.toLowerCase()) {
                  		case 'omail':
                  		case 'mail':
                      		if (!(reg.test(chp.value))) {
                          	isOk = false;
                          	errDesc = 'Votre adresse mail est invalide';
                      		}
                      	break;
                  	   default:
                       // Aucun controle
                       break;
              }
          }
      }
  }
  if (!isOk) {
      alert('Erreur dans la saisie du formulaire\n' + errDesc);
      chp.focus();
  }
  return isOk;
}
