    function validerForm()
    {
      if (checkForm())
      {
         document.formulaireContact.submit();
      }
      else
      {
        alert('Veuillez renseigner correctement tous les champs obligatoires.');
      }
      
    }
    
    
    function checkForm()
    {
      var statutNom;
      var statutPrenom;
      var statutEmail;
      var statutTelephone;
      var statutDateDepart;
      var statutDateRetour;
      var statutMessage;
      
      statutNom = true;
      statutPrenom = true;
      statutEmail = true;
      statutTelephone = true;
      statutDateDepart = true;
      statutDateRetour = true;
      statutMessage = true;
      
      with (document.formulaireContact)
      {
        if (nom.value == '')
        {
          statutNom = false;
        }
        
        if (prenom.value == '')
        {
          statutPrenom = false;
        }
        
        if (email.value == '')
        {
          statutEmail = false;
        }
        else if(!emailValide(email.value))
        {
          statutEmail = false;
          document.getElementById('erreurEmail').innerHTML = "Format d'adresse non valide";
        }
        else
        {
         document.getElementById('erreurEmail').innerHTML = '';
        }
        
        if (telephone.value == '')
        {
          statutTelephone = false;
        }
        
        if (dateDepart.value == '')
        {
          statutDateDepart = false;
        }
        
        if (dateRetour.value == '')
        {
          statutDateRetour = false;
        }
        
        if (message.value == '')
        {
          statutMessage = false;
        }
        
        // marquage des champs
        marquerDonneeRequise(nom, statutNom);
        marquerDonneeRequise(prenom, statutPrenom);
        marquerDonneeRequise(email, statutEmail);
        marquerDonneeRequise(telephone, statutTelephone);
        marquerDonneeRequise(dateDepart, statutDateDepart);
        marquerDonneeRequise(dateRetour, statutDateRetour);
        marquerDonneeRequise(message, statutMessage);
      }
      
      return  (statutNom &&
               statutPrenom &&
               statutEmail &&
               statutTelephone &&
               statutDateDepart &&
               statutDateRetour &&
               statutMessage);
    }
    
   function emailValide(strEmail) 
	{
   	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   	if(reg.test(strEmail) == false) 
   	{
      return false;
   	}
   	
   	return true;
	}
    
   function marquerDonneeRequise(objChamp, valide)
   {
   	if (valide == true)
   	{
   		objChamp.style.borderColor = '';
         objChamp.style.borderWidth = '';
         objChamp.style.borderStyle = '';
   	}
   	else
   	{
   		objChamp.style.borderColor = 'red';
         objChamp.style.borderWidth = '2px';
         objChamp.style.borderStyle = 'solid';
   	}
   }
   
   function resetForm()
   {
      document.formulaireContact.reset()
      document.getElementById('erreurEmail').innerHTML = '';
      
      with (document.formulaireContact)
      {
         marquerDonneeRequise(nom, true);
         marquerDonneeRequise(prenom, true);
         marquerDonneeRequise(email, true);
         marquerDonneeRequise(telephone, true);
         marquerDonneeRequise(dateDepart, true);
         marquerDonneeRequise(dateRetour, true);
         marquerDonneeRequise(message, true);
      }
   }
