// variable contenant les couleurs de fond des champs
// bgBad est utilisée pour les champs non ou mal complétés
// bgGood est utilisée une fois que le champs est rempli correctement
  var bgBad = "#FFF5EE";
  var bgGood = "#FFFFFF";
  
// fonction définissant la couleur de fond du champs 
function setColor(champs, couleur_de_fond) 
	{
	if (champs.style) champs.style.backgroundColor = couleur_de_fond;
	}  


	
// vérifie que le champ TEXT n'est pas vide
// si le champ est vide, elle renvoie 0
// sinon elle renvoie la longueur de la chaine de caractère
function est_non_vide (Champs)
{
	temp = new String(Champs.value);
	return (temp.length);
}



// vérifie le contenu d'un champ de type TEXT
// renvoie une erreur (1) si le champs est vide
// affiche le message Msg puis positionne le curseur dans le champs
function verif_text_oblig (Champs, Msg)
{
	var Erreur = 0;
	temp = new String(Champs.value);

	if (temp.length == 0) 
	  {
		alert(Msg);
		Champs.focus();
		setColor(Champs, bgBad);
		Erreur = 1;
    }
	  else {setColor(Champs, bgGood);}
	return ( Erreur );
}



// vérifie le contenu d'un champ de type RADIO ou CHECKBOX
// Nombre est le nombre de bouton radio qui portent le meme nom
// renvoie une erreur (1) si le champs est vide
// affiche le message Msg puis positionne le curseur dans le champs
function verif_radio_oblig (Champs, Nombre, Msg)
{
	var Erreur = 0;

	ICOK=false;
	for (ic = 0; ic < Nombre; ic++) 
	  {
		if (Champs[ic].checked) ICOK = true;
	  }
	if (!ICOK) 
	  {
		alert(Msg);
		Champs[0].focus();
		Erreur = 1;
    }
	
	return ( Erreur );
}



// vérifie le contenu d'un champ de type TEXT pour les numéros de téléphone (10 chiffres)
// renvoie une erreur (1) si le ne numéro n'est pas valide
// affiche le message Msg puis positionne le curseur dans le champs
function verif_telephone_valid (Champs, Msg)
{
	var Erreur = 0;
  if (est_non_vide(Champs))
    {
	  if (window.RegExp) 
	      {
  		  var reg = new RegExp("^[0-9]{10}$");
  		  if (!reg.test(Champs.value)) 
  		  {
			  alert(Msg);
  			Champs.focus();
	  		setColor(Champs, bgBad);
		  	Erreur = 1;
        }
      else
        {
        setColor(Champs, bgGood);
        }
        }
     }
	return ( Erreur );
}



// Vérifie la validité d'un e-mail dans un champ de type TEXT
// renvoie une erreur 1 si l'e-mail n'est pas valide
// affiche le message Msg puis positionne le curseur dans le champs
function verif_email_valid (Champs, Msg)
{
	var erreur = 0;
	if (est_non_vide(Champs))
	  {
	  if (window.RegExp) 
		  {
  		  var reg = new RegExp("^([A-Za-z0-9_\-]|[\.]){1,}@([A-Za-z0-9_\-]{1,}[\.]){1,}[A-Za-z0-9_\-]{1,4}$");
  		  if (!reg.test(Champs.value)) 
  		    {
			    alert(Msg);
			    Champs.focus();
  			  setColor(Champs, bgBad);
	  		  erreur = 1;
          }
        else
          {
          setColor(Champs, bgGood);
          }
       }
    }

	return ( erreur );
}



// vérifie le contenu d'un champ de type TEXT pour les dates (jj/mm/aa)
// renvoie une erreur (1) si la date n'est pas valide
// affiche le message Msg puis positionne le curseur dans le champs
function verif_date_valid (Champs, Msg)
{
	var Erreur = 0;
  if (est_non_vide(Champs))
    {
  	if (window.RegExp) 
	      {
  	  	var reg = new RegExp("^[0-3][0-9][/][0-1][0-9][/][0-9][0-9]$");
  		  if (!reg.test(Champs.value))
  		      {
			      alert(Msg);
      			Champs.focus();
      			setColor(Champs, bgBad);
		      	Erreur = 1;
          	}
          else
            {
            setColor(Champs, bgGood);
            }
        }
    }
	return ( Erreur );
}



// vérifie le contenu d'un champ de type TEXT pour les codes postaux (5 chiffres)
// renvoie une erreur (1) si le champs est vide
// affiche le message Msg puis positionne le curseur dans le champs
function verif_codepostal_valid (Champs, Msg)
{
	var Erreur = 0;
  if(est_non_vide(Champs))
  {
  	if (window.RegExp) 
	    {
  	  	var reg = new RegExp("^[0-9]{5}$");
  		  if (!reg.test(Champs.value)) {
  			alert(Msg);
	  		Champs.focus();
		  	setColor(Champs, bgBad);
			  Erreur = 1;
        }
     else
        {
        setColor(Champs, bgGood);
        }  
      }
  }
	return ( Erreur );
}



