///////////////////////////////////////////////////////////////////////////
// Procédures de vérification et de correction des champs de formulaires //
///////////////////////////////////////////////////////////////////////////




///////////////////////////////////////////////////////////////////////////////////////////////////
// Fonction qui affiche un message d'erreur et se positionne sur le champ qui n'est pas valable //
//////////////////////////////////////////////////////////////////////////////////////////////////
function RAZ(champ,message)
{
	alert(message);   	//permet de voir apparaitre une fenetre d'erreur avec le message voulu
	champ.focus();		//se positionne dans le champ où l'erreur a été détecté
}



////////////////////////////////////////
// verification d'existance du champs //
////////////////////////////////////////

function verif_existe(champs, nom)
         {
         if (champs=="")
            {
            alert ('le champ '+nom+' doit être spécifié');
            return false;
            }
         return true;
         }


/////////////////////////////////////////
// vérification des valeurs numériques //
/////////////////////////////////////////

function verif_entier(champs)
         {
         var c = champs.split("");         //convertit la chaine en tableau
         for(i=0; i<(c.length); i++)
            {
            if ( (c[i]<'0')||(c[i]>'9') ) return false;
            }
         return true;
         }


function verif_in(champs, inf, sup)
         {
         
         if ( (!(verif_entier(champs)))||(champs<inf)||(champs>sup) )
            {
            alert (champs+" n'est pas une valeur valide, votre saisie doit être comprise entre "+inf+" et "+sup);
            return false;
            }
         return true;
         }
         
function verif_numsecu(champs)
         {
         if (champs.length>0)
          {
         if( !( (verif_entier(champs)) && (champs.length==15) )) 
           {
           alert ('le Numéro de Securite Sociale est invalide');
           return false;
           }
          }
         return true;
         }


function verif_cp(champs)
         {
         if (champs.length>0)
          {
         if( !( (verif_entier(champs)) && (champs.length==5) )) 
           {
           alert ("le code postal n'est pas valide");
           return false;
           }
          }
         return true;
         }

function verif_tel(champs,nom)
         {
         if (champs.length>0)
          {
         if( !( (verif_entier(champs)) && (champs.length==10) )) 
           {
           alert ('le Numéro de '+nom+' est invalide');
           return false;
           }
          }
         return true;
         }
            
function verif_quantite(champs,nom)
         {
         if(!(verif_entier(champs))) 
           {
           alert ('le champ '+nom+' n\'est pas une quantité valide');
           return false;
           }
         return true;
         }
 

function verif_prix(champs)
           {
           var part = champs.split(".");               // sépare les parties entière et décimale
           var valid = true;
           if (part.length > 2) valid = false;         // plus d'une virgule
           if (!(verif_entier(part[0]))) valid = false;
           if (part.length > 1)
              {
              if( (!(verif_entier(part[1]))) || (part[1]>99)) valid = false;
              } 
           if (valid == false) {alert (champs+" n'est pas un prix valide"); return false;}
           else return true;
           }


function verif_pourcent(champs)
         {
         var part = champs.split(".");               // sépare les parties entière et décimale
           var valid = true;
           if (part.length > 2) valid = false;         // plus d'une virgule
           if ( (!(verif_entier(part[0]))) || (part[0]>99) ) valid = false;
           if (part.length > 1)
              {
              if( (!(verif_entier(part[1]))) || (part[1]>99) ) valid = false;
              } 
           if (valid == false) {alert (champs+" n'est pas un pourcentage valide"); return false;}
           else return true;
           }



////////////////////////////
// vérification des dates //
////////////////////////////

function verif_sem_civ(champs)
	{
	return (verif_in(champs,1,52));
	}

function verif_annee(champs)
         {
         if (champs.length>0)
          {
         if( !( (verif_entier(champs)) && (champs.length==4) )) 
           {
           alert ("L'année n'est pas valide");
           return false;
           }
          }
		  else 
			{
			alert ("Vous devez spécifier l'année scolaire");
           return false;
           }
         return true;
         }

function verif_date(champs)
         {
         var part = champs.split("-");             // sépare le jour, le mois et l'année
         var valid = true;
         if (part.length != 3) valid = false;      // trop de champs
            else
                {                                       // les 3 champs doivent etre des entiers
                if (! ( (verif_entier(part[0]))&&(verif_entier(part[1]))&&(verif_entier(part[2])) ) ) valid = false;

                if ((part[0]>2100)||(part[0]<1000)) valid = false;          // année maximum valide : 2100
                if (part[1]>12) valid = false;            // vérification du mois
                                                   // vérification du jour 
                if (part[2]<1) valid = false;
                if ((part[1]==1)||(part[1]==3)||(part[1]==5)||(part[1]==7)||(part[1]==8)||(part[1]==10)||(part[1]==12))
                   if (part[2]>31) valid = false;
                if ((part[1]==4)||(part[1]==6)||(part[1]==9)||(part[1]==11))
                   if (part[2]>30) valid = false;
                if (part[1]==2)
                   if (part[2]>29) valid = false;
                }
         if (valid == false) {alert (champs+" n'est pas une date valide"); return false;}
         else return true;
         }

function date_passee(champs)
         {
         if (!(verif_date(champs))) return false;
         var aujourdhui = new Date();              // date systeme
         var annee = aujourdhui.getYear();
         var mois = aujourdhui.getMonth();
         var jour = aujourdhui.getDay();
         var part = champs.split("-");             // sépare le jour, le mois et l'année
         var valid = true;
         if (part[0]>annee) valid=false;
         else if (part[1]>mois) valid=false;
              else if (part[2]>jour) valid=false;
         if (valid == false) {alert (champs+" n'est pas une date valide"); return false;}
         else return true;
         }

function date_future(champs)
         {
         if (!(verif_date(champs))) return false;
         var aujourdhui = new Date();              // date systeme
         var annee = aujourdhui.getYear();
         var mois = aujourdhui.getMonth();
         var jour = aujourdhui.getDay();
         var part = champs.split("-");             // sépare le jour, le mois et l'année
         var valid = true;
         if (part[0]<annee) valid=false;
         else if (part[1]<mois) valid=false;
              else if (part[2]<jour) valid=false;
         if (valid == false) {alert (champs+" n'est pas une date valide"); return false;}
         else return true;
         }

function convert_date_pour_sql(date_form)
         {
         var tab_date_form = date_form.split("-");
         date_sql = tab_date_form[2] + "-" + tab_date_form[1] + "-" + tab_date_form[0];
         return date_sql;
         }


function convert_date_pour_form(date_sql)
         {
         var tab_date_sql = date_sql.split("-");
         date_form = tab_date_sql[2] + "-" + tab_date_sql[1] + "-" + tab_date_sql[0];
         return date_form;
         }


////////////////////////////////////////////
// vérification des chaines de caractères //
////////////////////////////////////////////

function convert_nom(champs)
         {
         c=champs.toUpperCase();
         return c;
         }


function mise_form_nom(champs)
         {
         if (champs.length>0)
          {
         c=champs.split("");
         c[0]=c[0].toUpperCase();
         for(i=1; i<(c.length); i++)
            {c[i]=c[i].toLowerCase();}
         champs=c.join("");
         return champs;
          }
         return ("");
         }
          

function verif_nom(champs)
         {
         convert_nom(champs);
         c=c.split("");
         valid = true;
         for(i=0; i<(c.length); i++)
            {       
            if (! ( (isNaN(c[i])) || (c[i]==" ") )) valid = false;
            }
         if ((valid == false)||(i<1)) {alert ("le nom saisi n'est pas valide"); return false;}
         else return true;
          }

function verif_email(champs)
         {
         var part = champs.split("@");
         var valid=true;
         if (champs.length>0)
          {
         if (part.length==1) valid=false;
          else
            if ((part.length>2)||(part[0]=="")||(part[1]=="")) valid=false;
         if (valid==false)
               {
               alert (champs+" n'est pas un email valide");
               return false;
               }
          }
         return true;
         }


