//------------ Déclarations des Variables --------------------------------------
var flag; // flag est déclarée globale à toutes les fonctions
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
 function verif()
{
  flag=""; // Vide le flag d'erreur
  //-------------- Récupération des champs du formulaire -----------------------
  var Nom=document.getElementById("Nom");
  var Email=document.getElementById("Mail");
  var Message=document.getElementById("Message");
  //-------------- Test des valeurs de ces champs ------------------------------
  test_vide(Nom); test_vide(Email); test_vide(Message);

  if (Email.value!=""){ test_email(Email)};
  //if (!test_vide(champ_numerique)){ test_email(champ_numerique)};
  // Si le mail n'est pas vide ==> Test la validité de l'email
  //--------------- Autorisation ou annulation du submit -----------------------

  switch (flag)
  {
  case "": return true; break; // Autorise le submit
  //-------------------------------------------------
  default: jAlert(flag,'Les champs sont incomplets');return false; // Annule le submit
  }
}


//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
function test_vide(champ)
{
  switch(champ.value)
  {
    case "":
    champ.style.backgroundColor="#ffd300";
    //champ.style="1px solid red;
    flag=flag+"\nLe champ " + champ.name +" est vide" ;
    return flag; // Renvoi de la valeur de flag à verif()
    break;
    //---------------------------------------------------------
    default:
    champ.style.backgroundColor="#ffffff";
  //champ.style="1px solid grey;
  }
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
function test_email(champ)
{
if ( isEmail(champ.value)==false)
{
    //champ.style.border="1px solid red";
    champ.style.backgroundColor="#ffd300";
	flag=flag+"\nLe champ " + champ.name + " doit contenir un email valide";
	return flag;
}
else    {   //champ.style.border="1px solid grey";
champ.style.backgroundColor="#ffffff";
    }
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
function test_numeric(champ)
{
if ( isNumeric(champ.value)==false )
{
    //champ.style.border="1px solid red";
    champ.style.backgroundColor="#ffd300";
	flag=flag+"\nLe champ " + champ.name + " doit contenir un nombre valide";
	return flag;
}
else    {   //champ.style.border="1px solid grey";
            champ.style.backgroundColor="#ffffff";    }
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
function IsNumeric(nombre)
{
   var ValidChars = "0123456789.";  // . aussi car nombre à virgule
   var IsNumber=true;
   var Char;
   for (i = 0; i < nombre.length && IsNumber == true; i++)
      {
      Char = nombre.charAt(i);  // Récupère un caractère à une prosition donnée
      if (ValidChars.indexOf(Char) == -1) {IsNumber = false;}
      // indexOf cherche un caractère dans une chaîne ==> Si pas trouvé = -1
      }
   return IsNumber;
   }
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
function isEmail(str)
{
  if (str != "")
  {
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported)
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
  }
  else return true;
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
