/******************************************************************************

Verification des differents champs d'un formulaire.

Les arguments doivent etre passer sous forme objet

<input type="text" name="nom" value="test" onclick=javascript:"verif_nom( this ) ;">

Le premier argument des fonctions correspond a l'objet du formulaire a verifier

Les différentes fonctions sont :
    - verif_nom(nom)
    - verif_prenom(prenom)
    - verif_email(email)
    - verif_date(date)
    - verif_code_postal(code_postal, option)    
		option permet de savoir si c'est un code postal metropolitain ou non
    - verif_tel(telephone)
    - verif_code(code1, code2)                  
		code1 et code2 sont les noms des champs pour entrer et verifier un mot de passe
    - verif_adresse(adresse)
	- verif_nombre(objet , type ) 

*******************************************************************************/
function verif_select ( Obj_select , NAvalue, NomSelect )
{

IdOption = Obj_select.selectedIndex ;
if ( Obj_select.options[IdOption].value == NAvalue )
	{
	alert(" Veuillez chosir une rubrique s'il vous plait : " + NomSelect);
	//Obj_select.focus();
	return false ;
	}
else return true ;
}

function verif_nombre( nombreObj , type ) 
{
	var OK = false ;
	var nombre = nombreObj.value ;
	var message = '' ;
	
	switch(type)
	{
		case 'N':
				if ( nombre.search(/^[0-9]+$/) == -1 ) 
					message = "Veuillez entrer un nombre naturel s'il vous plait.";
				else
					OK = true ;
			break ;
		case 'Z+':
				if ( nombre.search(/^[0-9]+$/) == -1 ) 
					message = "Veuillez entrer un nombre entier positif s'il vous plait.";
				else
					OK = true ;
			break ;
		case 'Z-':
				if ( nombre.search(/^[0-9]+$/) == -1 ) 
					message = "Veuillez entrer un nombre entier négatif s'il vous plait.";
				else
					OK = true ;
			break ;
		case 'R' :
				if ( nombre.search(/^[-]{0,1}[0-9]+[\.,]{0,1}[0-9]*$/) == '-1' ) 
					message = "Veuillez entrer un nombre réel s'il vous plait.";
				else
					OK = true ;
			break ;
		case 'R+' :
				if ( nombre.search(/^[0-9]+[\.,]{0,1}[0-9]*$/) == '-1' ) 
					message = "Veuillez entrer un nombre réel positif s'il vous plait.";
				else
					OK = true ;
			break ;
		case 'R-' :
				if ( nombre.search(/^[-][0-9]+[\.,]{0,1}[0-9]*$/) == '-1' ) 
					message = "Veuillez entrer un nombre réel négatif s'il vous plait.";
				else
					OK = true ;
			break ;
	}

	if ( !OK )
	{
		alert ( message ) ;
		nombreObj.focus();
	}
	
	return OK ;
}

// Verification du nom dans le formulaire, dans le champ nom
function verif_nom( nom )
{
//var nom=eval('document.formul.'+nom);

if(nom.value =="")
   {
   alert(" Veuillez entrer le nom s'il vous plait.");
   nom.focus();
   return false;
   }
else if(nom.value.search(/[0-9]/)!='-1')
     {
     alert(" Veuillez entrer le nom s'il vous plait.");
     nom.focus();
     return false;
     }
Nn = nom.value;

if(Nn.length < 2 && nom.value !="")
   {
   alert(" Votre nom doit comporter au moins deux lettres.");
   nom.focus();
   return false;
   }
   
return true;
}

// Verification du prenom dans le formulaire, dans le champ prenom

function verif_prenom(prenom)
{
//var prenom=eval('document.formul.'+prenom);
Nn = prenom.value;

if(Nn =="")
   {
   alert(" Veuillez entrer le prénom s'il vous plait.");
   prenom.focus();
   return false;
   }
else if(Nn.search(/[0-9]/)!='-1')
     {
     alert(" Veuillez entrer le prénom s'il vous plait.");
     prenom.focus();
     return false;
     }

	
 
if(Nn.length < 2 && Nn !="")
   {
   alert(" Votre prénom doit comporter au moins deux lettres.");
   prenom.focus();
   return false;
   }
   
return true;
}


/*
Vérification de la validité d'une adresse électronique

- le motif commence par une lettre ou un chiffre 
- ensuite il peut y avoir 0,1 ou plusieurs caractères alphanumériques, point,
  tiret ou soulignement
- un alphanumérique
- un arobase (@)
- un alphanumérique
- ensuite il peut y avoir 0,1 ou plusieurs caractères alphanumériques, point,
  tiret ou soulignement
- un point (.)
- le motif fini par au moins deux lettres
- il ne peut pas y avoir 2 points contigus
*/
function check_mail(obj_mail)
{
	 var email = obj_mail.value ;
	 var res = false ;
	 
	if (email.search(/^\w+(-\w+|\.\w+|\_\w+)*\@\w+(-\w+|\.\w+|\_\w+)*\.\w+$/) != -1)
		res = true ;
	else
	{
		alert ( "Veuillez saisir une adresse email valide" ) ; 
		obj_mail.focus() ;
		res = false ;
	} 
	
	return res ;
}


// Verification du numero de telephone dans le formulaire formul, dans le champ telephone
// La fonction verifie qu'il y a le bon nombre de chiffres pour un numero francais mais elle ne s'occupe pas des separateurs
// La fonction renvoie true quand le numéro est bon

function verif_telInternationnal(telephone)
{
var s,i;
//var tel=eval('document.formul.'+telephone);
var Number =telephone.value;

if ( Number == "")
    {
    alert(" Veuillez indiquer le numéro de téléphone (ou de fax) s'il vous plait.");
    telephone.focus();
    return false;
    }

if (Number.search(/[^0][0-9]/)!= -1)
    {
    alert("Le numéro de téléphone (ou de fax) doit obligatoirement compter 10 chiffres.");
    telephone.focus();
    return false;
    }
return true;
}


function verif_tel(telephone)
{
var s,i;
//var tel=eval('document.formul.'+telephone);

if (telephone.value == "")
    {
    alert(" Veuillez indiquer le numéro de téléphone (ou de fax) s'il vous plait.");
    telephone.focus();
    return false;
    }

if ((isNaN(telephone.value)) || (telephone.value.length!=10))
    {
    alert("Le numéro de téléphone (ou de fax) doit obligatoirement compter 10 chiffres.");
    telephone.focus();
    return false;
    }
return true;
}

// Verification du code postal dans le formulaire formul, dans le champ code_postal pour un code postal
// La fonction verifie qu'il y a 5 chiffres (sauf pour la corse)
// L'argument option mis a 1 permet de verifier que le code postal est un code postal metropolitain
// La fonction renvoie true quand le code postal est bon

function verif_code_postal(code_postal,option)
{

//var codep=eval('document.formul.'+code_postal);

if (code_postal.value == "")
    {
    alert(" Veuillez indiquer votre code postal s'il vous plait.");
    code_postal.focus();
    return false;
    }


if (code_postal.value.length < 4 && code_postal.value.search(/2[abAB]/)!=0)
//if (false)
    {
    alert(" Votre code postal doit comporter 5 ou 4 chiffres.");
    code_postal.focus();
    return false;
    }

if (isNaN(code_postal.value))
    {
    if (code_postal.value.search(/2[abAB]/)==0)
         {
         var tmp=code_postal.value.replace(/2[abAB]/,"");
         if (isNaN(tmp))
             {
             alert(" Votre code postal ne doit comporter que des chiffres (sauf pour la Corse). Merci.");
             code_postal.focus();
             return false;
             }
         return true;
         }
    else
         {
         alert(" Votre code postal ne doit comporter que des chiffres (Sauf pour la Corse). Merci.");
         code_postal.focus();
         return false;
         }
    }

if ((option==1) && ((code_postal.value<1000) || (code_postal.value>95999)))
      {
      alert("Ce n'est pas un département métropolitain valide.");
      code_postal.focus();
      return false;
      }

return true;
}


// Verification d'une date dans le formulaire formul, dans le champ date
// La fonction verifie que la date contient des separateurs, que le jour est le mois sont valides.
// La fonction accepte les dates au format jj/mm/aa et jj/mm/aaaa
// La fonction renvoie true lorsque la date est correcte.
function verif_date(date)
{
	

    if  ( !_CF_checkeurodate(date.value) || date.value == '')
        {
        if  (!_CF_onError(null, null, date.value, "La date n'est pas au format jj/mm/aaaa"))
            {
			date.focus();
            return false; 
            }
        }
    return true;
}

/*
function verif_date(date)
{

//var dat=eval('document.formul.'+date);
var tmp;

if(dat.value =="")
   {
   alert(" Veuillez entrer une date s'il vous plait.");
   dat.focus();
   return false;
   }


if (dat.value.search(/\//)!='-1')
   {
   tmp=dat.value.split(/\//);
   }

if (dat.value.search(/\./)!='-1')
   {
   tmp=dat.value.split(/\./);
   }

if (!isNaN(dat.value))
   {
   alert('La date doit comporter des séparateurs, soit le "/" soit le "."');
   dat.focus();
   return false;
   }

if ((tmp[0].length==2) && (tmp[1].length==2) && ((tmp[2].length==2) || (tmp[2].length==4)))
   {
   if (((tmp[0]<1) || (tmp[0]>31)) || ((tmp[1]<1) || (tmp[1]>12)) )
      {
      alert("La date n'est pas valide.");
      dat.focus();
      return false;
      }
    }
else {
     alert("Le format de la date est incorrecte.");
     dat.focus();
     return false;
     }
return true;
}
*/

// Verification d'un mot de passe dans le formulaire formul dans les champs code1 et code 2
// Le mot de passe doit contenir entre 4 et 10 caracteres
// La fonction retourne true quand le mot de passe comporte la bonne taille et est le meme dans les deux champs.

function verif_code(code1,code2)

{
//var code1=eval('document.formul.'+code1);
//var code2=eval('document.formul.'+code2);

if (code1.value=="")
    {
    alert("Veuillez entrer votre code s'il vous plait.");
    code1.focus();
    return false;
    }
else if (code2.value=="")
     {
     alert("Veuillez confirmer votre code s'il vous plait.");
     code2.focus();
     return false;
     }
else if (code1.value.length<4 || code1.value.length>10)
     {
     alert("Votre mot de passe doit comporter entre 4 et 10 caractères");
     code1.value=code2.value="";
     code1.focus();
     return false;
     }
else if (code1.value!=code2.value)
     {
     alert("Votre mot de passe est incorrect");
     code1.value=code2.value="";
     code2.focus();
     return false;
     }
return true;
}

// Verification d'une adresse entree dans le champ adresse.

function verif_adresse(adresse)

{
//var adresse=eval('document.formul.'+adresse);

if (adresse.value=="")
    {
    alert("Veuillez entrer votre adresse s'il vous plait.");
    adresse.focus();
    return false;
    }
else return true;
}

function verif_champ(champ)
{
//var champ=eval('document.formul.'+champ);

	if (champ.value=="")
	{
		alert("Veuillez remplir les champs obligatoires s'il vous plait : " + champ.name );
		champ.focus();
		return false;
	}
	else return true;
}

