function IsInteger(Valeur)
{
var i = 0;
if(Valeur == "")
   return false;
else
   {   
   while(Valeur.charAt(i) == "0")
      {
      i++;
      }
   var Vlr = Valeur.substr(i,Valeur.length-i)
   if(Vlr == "")
      {
      Vlr = "0"
      }
   if(isNaN(val = parseInt(Vlr))) 
      {
      return false;
      }
   else
      {
      ValF = Vlr * 1
      if(ValF == val)
         {
         return true;
         }
      else
         {
         return false;
         }
      }
   }
}

function IsPositif(Valeur)
{

if(IsInteger(Valeur))
   {
   var Val = Valeur * 1;
   if(Val>=0)
     { return true;}
   else
     { return false; }
   }
else
   {
   return false;
   }
}


function IsFloat(Valeur)
{
if(isNaN(val = parseFloat(Valeur)))
   return false;
else
   return true;
}

function IsPositiff(Valeur)
{

if(IsFloat(Valeur))
   {
   var Val = Valeur * 1;
   if(Val>=0)
     { return true;}
   else
     { return false; }
   }
else
   {
   return false;
   }
}
function IsHeure(Valeur)
{
ListeHr = Valeur.split(":");
if(ListeHr.length != 2)
   {
   return false;
   }
else
   {
   if(IsInteger(ListeHr[0]))
      {
      Hr = ListeHr[0]*1;
      if(Hr>=0 && Hr<=23)
         {
         if(IsInteger(ListeHr[1]))
            {
            Mn = ListeHr[1]*1;
            if(Mn>=0 && Hr<=59)
               {
               return true;
               }
            }
         else
            {
            return false;
            }
         }
      else
         {
         return false;
         }
      }
   else
      {
      return false;
      }
   }
} 

function IsPoint(Valeur)
{
 if(Valeur != "")
 {
   virg = Valeur.split(".");
    if(virg.length != 0)
      {
         return true;
      }
     else
      {
      return false;
      }
 }
  else
 {
    return false;
 }
}
function IsDate(Valeur)
{
var N = Valeur.length;

var Jour = "";
for(i=0;i<N && Valeur.charAt(i) != '/';i++)
   Jour = Jour + Valeur.charAt(i);

if(i == N-1)
   {
   //alert("problème de / jour");
   return false;
   }
i++;
   
var Mois = "";
for(;i<N && Valeur.charAt(i) != '/';i++)
   Mois = Mois + Valeur.charAt(i);
    
if(i == N-1)
   {
   // alert("problème de / Année")
   return false;
   }
i++;

var Annee = "";
for(;i<N && Valeur.charAt(i) != '/';i++)
   Annee = Annee + Valeur.charAt(i);


if(Annee.length != 4 )
   {
   // alert("L'annnée de votre date doit comporter obligatoirement 4 chiffres")
   return false;
   }


if(isNaN(Jr = parseInt(Jour)))
   {
   // alert("Jours non entier")
   return false;
   }

if(isNaN(Ms = parseInt(Mois)))
   {
   // alert("Mois non entier")
   return false;
   }
Ms = Mois * 1

if(isNaN(An = parseInt(Annee)))
   {
   // alert("Année non entier")
   return false;
   }

if(An<1900)
   {
   // alert("<1900")
   return false;
   }

if(Jr > 31) 
   {
   // alert("Jour<31")
   return false;  
   }

if(Ms > 12 || Ms<=0)
   {
   // alert("Mois Invalide " + Ms)   
   return false;
   }


if(Ms==4 || Ms==6 || Ms==9 || Ms==11)
   {
   if(Jr>30) 
      {
      // alert("Jour<30")
      return false
      }
   }
else
   {
   if(Ms == 2) 
      {
      if(An%4 ==0)
         {
         if(Jr>29) 
            {
            return false;
            }
         }
      else
         {
         if(Jr>28)
            {
            // alert("Jour<28")
            return false;
            }
         }
      }
   }
return true;
}

function  IsCodePostal(CodePostal)
{
var bon = true;
var n   = CodePostal.length;

if(n!=5)
   bon = false;
   
for(i=0;i<n && bon;i++)
   {
   if(isNaN(CodePostal.charAt(i)))
      bon = false
   }
return bon
}

function  IsDep(dep)
{
var bon = true;
var n   = dep.length;

if(n!=2 && n!=3)
   bon = false;
   
for(i=0;i<n && bon;i++)
   {
   if(isNaN(dep.charAt(i)))
      bon = false
   }
return bon
}

function ToDate(Valeur)
{

var N = Valeur.length;

var Jour = "";
for(i=0;i<N && Valeur.charAt(i) != '/';i++)
   Jour = Jour + Valeur.charAt(i);

if(i == N-1)
   {
   alert("problème de / jour");
   return false;
   }
i++;
   
var Mois = "";
for(;i<N && Valeur.charAt(i) != '/';i++)
   Mois = Mois + Valeur.charAt(i);
    
if(i == N-1)
   {
   alert("problème de / Année")
   return false;
   }
i++;

var Annee = "";
for(;i<N && Valeur.charAt(i) != '/';i++)
   Annee = Annee + Valeur.charAt(i);

var Sortie = new Date(Annee*1,(Mois*1)-1,Jour*1)
return Sortie
}

//------------------------------

function JoursDansMois(Jr,Ms,An)
{
Jr=Jr*1;
Ms=Ms*1;
An=An*1;


if(Ms==4 || Ms==6 || Ms==9 || Ms==11)
    {
       Jr=30 ;
    }
   
   else
   {
   if(Ms == 2) 
      {
           if(An%4 ==0)
               {
                 Jr = 29;
               }
           else
               {
                 Jr = 28;
               }
       }
     else
       {
         Jr = 31; 
       }
      }
return Jr;
//alert('Le nombre de jour du mois '+Ms+ ' est   '+Jr+' Pour lannée '+An);
}

//------------------------------
// la fonction DateDiff est adaptée pour faire un test de nombre de jours ne deppassant
// pas 30 js

function DateDiff(DateA,DateB)
{
var jour = 0;
var j    = 0;

var DA = ToDate(DateA);
var DB = ToDate(DateB);

var AnneeA = DA.getYear();
var AnneeB = DB.getYear();

var MoisA = DA.getMonth();
var MoisB = DB.getMonth();

var JourA = DA.getDate();
var JourB = DB.getDate();

  if(AnneeA==AnneeB && MoisA==MoisB)
   {
   jour = JourB - JourA;
   }
   else
     {   
     if(((AnneeA == AnneeB) && (MoisA + 1 == MoisB)) ||  ((AnneeA +1== AnneeB) && (MoisB+12 == MoisA+1) ))
         {
           J=JoursDansMois(0,MoisA+1,AnneeA);
           //alert("MoisA= "+MoisA)
           JourB =JourB + J;
           jour  =JourB - JourA;
           //alert("J ="+J);
         }
      else
         {           
          if(((AnneeA == AnneeB) && (MoisA + 1 < MoisB)) || ((AnneeA+1 <= AnneeB) && (MoisB < MoisA)))
            { jour  =31; }
          
         }
     }      
return jour;

//document.write("jours ="+jour);

}

//------------------------------
function ToFloat(Valeur)
{
var N  = Valeur.length;
var ch = "";

for(i=0;i<N;i++)
   {
   if(Valeur.charAt(i) == ",")
      {
      ch = ch + ".";
      }
   else
      {
      ch = ch + Valeur.charAt(i);
      }
   }

return ch;
}


function VerifieSaisieChaine(Chaine,MsgErr,Erreur)
{
var Sortie = Erreur
if(Chaine == "")
   {
   alert(MsgErr);
   Sortie++;
   }
return Sortie
}

function VerifieEmail(Chaine,MsgErr,Erreur)
{
var N = Chaine.length;
var b=0;
var Sortie = Erreur;
for(i=0;i<N;i++)
  if (Chaine.charAt(i) == '@')
     {
      b=1; 
     }

if(b !=1 )
   {
   alert(MsgErr);
   Sortie++;
     }
return Sortie
}

function VerifieChaine(Chaine,MsgErr,Erreur)
{
var Sortie = Erreur
if(Chaine == "" || !isNaN(Chaine))
   {
   alert(MsgErr);
   Sortie++;
  
   }
return Sortie
}

function VerifieChaineSiSaisie(Chaine,MsgErr,Erreur)
{
var Sortie = Erreur
if(Chaine != "")
 {  
   if( !isNaN(Chaine))
   {
       alert(MsgErr);
       Sortie++;
   }
 }
return Sortie
}

function VerifieSaisieDate(Chaine,MsgErr,Erreur)
{
  var Sortie = Erreur
   if(IsDate(Chaine) == false)
    {
     alert(MsgErr);
     Sortie++;
    }
  return Sortie
}


function VerifieSaisieHeure(Chaine,MsgErr,Erreur)
{
var Sortie = Erreur
if(IsHeure(Chaine) == false)
   {
   alert(MsgErr);
   Sortie++;
  
   }
return Sortie
}

function VerifieSaisieCodePostal(Chaine,MsgErr,Erreur)
{
var Sortie = Erreur
if(IsCodePostal(Chaine) == false)
   {
   alert(MsgErr);
   Sortie++;
  
   }
return Sortie
}

function VerifieSaisieDep(Chaine,MsgErr,Erreur)
{
var Sortie = Erreur
if(IsDep(Chaine) == false)
   {
   alert(MsgErr);
   Sortie++;
  
   }
return Sortie
}


function VerifieSaisieInteger(Chaine,MsgErr,Erreur)
{
var Sortie = Erreur;
if(IsInteger(Chaine) == false)
   {
   alert(MsgErr);
   Sortie++;
  
   }
return Sortie
}

function VerifieSaisiePoint(Chaine,MsgErr,Erreur)
{
var Sortie = Erreur;
if(IsPoint(Chaine) == true)
   {
   alert(MsgErr);
   Sortie++;  
   }
return Sortie
}


function VerifieSaisiePositif(Chaine,MsgErr,Erreur)
{
var Sortie = Erreur;
if(IsPositif(Chaine) == false)
   {
   alert(MsgErr);
   Sortie++;
  
   }
return Sortie
}

function VerifieSaisiePositiff(Chaine,MsgErr,Erreur)
{
var Sortie = Erreur;
if(IsPositiff(Chaine) == false)
   {
   alert(MsgErr);
   Sortie++;
  
   }
return Sortie
}

function VerifieIntegerSiSaisie(Chaine,MsgErr,Erreur)
{
var Sortie = Erreur;
if(Chaine != "")
   {
   if(IsInteger(Chaine) == false)
      {
      alert(MsgErr);
      Sortie++;
      }
   }
return Sortie;
}



function VerifieFloatSiSaisie(Chaine,MsgErr,Erreur)
{
var Sortie = Erreur;
if(Chaine != "")
  {
  if(IsFloat(Chaine) == false)
     {
     alert(MsgErr);
     Sortie++;
     }
   }
return Sortie;
}

function VerifieFloatPositifSiSaisie(Chaine,MsgErr,Erreur)
{
var Sortie = Erreur;
if(Chaine != "")
  {
  if(IsFloat(Chaine) == false )
     {
     alert(MsgErr);
     Sortie++;
     }
   else
    { 
       if(Chaine < 0)
          { alert(MsgErr);
            Sortie++;
          }
    }
  }
return Sortie;
}

function VerifieDateSiSaisie(Chaine,MsgErr,Erreur)
{
var Sortie = Erreur;
if(Chaine != "")
  {
  if(IsDate(Chaine) == false)
     {
     alert(MsgErr);
     Sortie++;
     }
   }
return Sortie;
}


function VerifieSaisieFloat(Chaine,MsgErr,Erreur)
{
var Sortie = Erreur
if(IsFloat(Chaine) == false)
   {
   alert(MsgErr);
   Sortie++;
  
   }
return Sortie
}


// Fonction qui retourne 1 si A>B, -1 si B>A et 0 si A = B

function CompareDate(DateA,DateB)
{

if((!IsDate(DateA)) ||(!IsDate(DateB)) )
   {
   return -2;
   }

var DA = ToDate(DateA);
var DB = ToDate(DateB);

var AnneeA = DA.getYear();
var AnneeB = DB.getYear();

var MoisA = DA.getMonth();
var MoisB = DB.getMonth();

var JourA = DA.getDate();
var JourB = DB.getDate();

if(AnneeA>AnneeB)
   {
   return 1;
   }
else
   {
   if(AnneeA<AnneeB)
      {
      return (-1);
      }
   else
      {
      if(MoisA>MoisB)
         { 
         return 1;
         }
      else
         {
         if(MoisA<MoisB)          
            {
            return (-1);
            }
         else
            {
            if(JourA>JourB)                        
               {
               return 1;
               }
            else 
               {
               if(JourA<JourB)
                  {
                  return (-1);
                  }
               else
                  {
                  return 0; 
                  }
               }
            }
         }
      }       
   }
}

function ConverDate(date)
{ 
dt=date.split('/')
Ndate = new Date(dt[2],dt[1]-1,dt[0])
if (Ndate.getYear() > 30)
   {
   date=Ndate.getDate()+"/"+(Ndate.getMonth()+1)+"/"+(Ndate.getYear()+1900)
   } 
else
   {   
   date=Ndate.getDate()+"/"+(Ndate.getMonth()+1)+"/"+(Ndate.getYear()+2000)
   }  
alert("Votre date est transformée en :"+date)
return date
}

function GetIndiceRadio(Controle)
{
var N = Controle.length;
var NB = 0;
if(isNaN(N))
   {
   NB = 1;
   }
else
   {
   NB = N;
   }
   
var Idx = -1;
var I = 0;

if(NB == 1)
   {
   if(Controle.checked)
      {
      Idx = 0;
      }
   }
else
   {
   while ( (I<NB) && (Idx == -1))
      {
      if(Controle[I].checked)
         {
         Idx = I;
         }
      else
         {
         I++;
         }
      }
   }
return Idx;
}

function NewWindow(url)
{
var hWnd = window.open(url,"HelpWindow","width=750,height=400,toolbar=yes,resizable=yes,scrollbars=yes");
}

function AffDateAN2000(DateJ)
{
var StrDate = ""
StrDate = DateJ.getDate() + "/" + DateJ.getMonth() + "/" + DateJ.getYear();
return StrDate;
}

function TrouveControle(formulaire,NomChamp)
{
var n = formulaire.elements.length;
var trouve = false;
for(i=0;i<n && !trouve;i++)
   trouve = (formulaire.elements[i].name == NomChamp);
return trouve;   
}
//---------------------------
function VerifieRech()
{
var Erreur = 0;
Erreur = VerifieSaisieChaine(window.document.forms[0].Titre.value,"Saisissez un titre, la 1ère lettre ou un mot du titre",Erreur);
Erreur = VerifieSaisieFloat(window.document.forms[0].CodeD.value,"Saisissez un code de département - Ex : 44", Erreur);
var chaine = window.document.forms[0].CodeD.value;
var n   = chaine.length;
   if(n==1)
     {
     Erreur = Erreur + 1;
     alert("Un code de département doit contenir deux chiffres .");
     }

 if(Erreur == 0) 
   {
   return true;
   }
else
   {
   return false;
   }
}
//--------------------------
// renvoie Vrai si on est en Netscape 3 ou supérieur
// Faux sinon
function compatible()

{
	nom = navigator.appName; // On attend : Netscape
	ver = navigator.appVersion; // On attend : 3.01 [fr] (Macintosh;I;68K), par exemple
	ok = (nom="Netscape") ;
	ch = ver.substring(0,1) ;
	ok = ok && (ch >= "3") ;
	return ok ;
}

//----------------------------------------------
function VerifieIndex()
{
var Erreur = 0;
Erreur = VerifieSaisieChaine(window.document.forms[0].Login.value,"Pour accéder à votre menu principal il faut entrer votre identifiant",Erreur);
Erreur = VerifieSaisieChaine(window.document.forms[0].Password.value,"Pour accéder à votre menu principal il faut entrer votre mot de passe",Erreur);

if(Erreur == 0) 
   {
   return true;
   }
else
   {
   return false;
   }
}

