
var oPopUp = null;  // Objet pointant sur la Pop Up courante

/*******************************************************************************************
Fonction pour la gestion des champs IMAGE
********************************************************************************************/
function f_vdZoom(zoomfile, imagefile)
{
        var hauteur= screen.height-100;
        var largeur= screen.width-100;

        var top=(screen.height-hauteur)/2;
        var left=(screen.width-largeur)/2;

        window.open(zoomfile+'?pic='+imagefile,'ZOOM','scrollbars=yes,top='+top+',left='+left+',width='+largeur+',height='+hauteur+',resizable=yes,location=no');
}



function searchPersonne()
{
        var hauteur= 400;
        var largeur= 500;

        var top=(screen.height-hauteur)/2;
        var left=(screen.width-largeur)/2;

        if (oPopUp != null) {
            oPopUp.close();
            oPopUp = null;
        }

        oPopUp = window.open('personne_search.php', 'searchPersonne', 'scrollbars=yes,top='+top+',left='+left+',width='+largeur+',height='+hauteur+',resizable=no,toolsbar=no,location=no');
}


/*******************************************************************************************
Fonction de gestion des dates
********************************************************************************************/

function f_bnCheckDate(cDate, stField)
{
    stDate = cDate.value;

    if (stDate == '')
        return 1;

    var amin=1900;  // année mini
    var amax=2060;  // année maxi
    var separateur='-'; // separateur entre jour/mois/annee
    var j=(stDate.substring(0,2));
    var m=(stDate.substring(3,5));
    var a=(stDate.substring(6));
    var ok=1;
    var stMsg = 'La date que vous avez entrée pour le champs '+stField+' est invalide. Veuillez utiliser le format Jour-mois-année (EX : 28-01-2004)';
    if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) )
    {
        alert(stMsg); ok=0;
    }
    if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) )
    {
        alert(stMsg); ok=0;
    }
    if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) )
    {
        alert(stMsg); ok=0;
    }
    if ( ((stDate.substring(2,3)!=separateur)||(stDate.substring(5,6)!=separateur)) && (ok==1) )
    {
        alert(stMsg); ok=0;
    }

    return ok;
}

function f_bnInteger (sText, len, signed)
//vérifie si la chaine envoyée est de type entier 
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

   if (len)
   {
       if (sText.length < len)
           return false;
   }

   if (signed)
   {
      	ValidChars = "0123456789+-";
   }

   for (i = 0; i < sText.length && IsNumber == true; i++)
      {
      Char = sText.charAt(i);
      if (ValidChars.indexOf(Char) == -1)
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}

function f_bnUnsignedFloat (sText)
//vérifie si la chaine envoyée est de type démale positif
{
   var ValidChars = "0123456789,";
   var IsNumber=true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++)
      {
      Char = sText.charAt(i);
      if (ValidChars.indexOf(Char) == -1)
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}

function f_bnDecimal (sText, m, d, s)
// vérifie si le nombre saisit est un nombre positif avec maximum m de précision
// dont d pour la parie décimale
{
   var ValidChars = "0123456789,";
   var IsNumber=true;
   var Char;
   var mm = 0;
   var dd = 0;
   var VirgulePassee = false;

   for (i = 0; i < sText.length && IsNumber == true; i++)
   {
      Char = sText.charAt(i);
      if (Char ==',')
      {
       	 if (sText.length-i > d+1)
             return (false);
         VirgulePassee = true;
      }
      if (!VirgulePassee)
           mm = mm + 1;
      else
           dd = dd + 1;
      if (ValidChars.indexOf(Char) == -1)
      {
         return (false);
      }
   }
   
   if (mm + d <= m)
      return true;
   else
      return false;
}

