<!--
function popup(file,name,w,h,l,t,scroll,resize) {
    if ( scroll != 'no' ) { scroll = 'yes' ; }
    if ( resize != 'no' ) { resize = 'yes' ; }
    name = window.open(file,name,"width="+w+",height="+h+",left="+l+",top="+t+",scrollbars="+scroll+",resizable="+resize+",status=no,location=no") ;
    name.focus() ;
}
function nul() {
    return;
}
function confirmation(mes) {
    if ( !confirm(mes) ) {
       return false ;
    }
    else {  return true ;  }
}
/*************************************************
*    Cache ou montre un element
*************************************************/
function showHide(elem, disp) {
   disp=='' ? disp='inline' : nul();
   var x = document.getElementById(elem);
   if ( x.style.display == 'none') {
      x.style.display = disp;   
   } else {
      x.style.display = 'none';   
   }
}
/*************************************************
*    Cache un element
*************************************************/
function hide(elem) {
   var x = document.getElementById(elem);
   x.style.display = 'none';   
}
/*************************************************
*    Montre un element
*************************************************/
function show(elem, disp) {
   disp=='' ? disp='inline' : nul();
   var x = document.getElementById(elem);
   x.style.display = disp;   
}

/*************************************************
*    Retourne la chaine saisie en majuscule
*************************************************/
function majus(elem) {
   var str = document.getElementById(elem).value.toUpperCase();
   document.getElementById(elem).value = str;   
}

/*************************************************
*   Limite la longeur d'une saisie à la valeur 
*  passée en parametre
*************************************************/
function limite(elem,lg) {
   var str = document.getElementById(elem).value;
   if (str.length > lg) {
      document.getElementById(elem).value = str.substr(0,lg);   
   }
}
/******************************************
*   Compte le nombre d'éléments dans un tableau
*   de variables de formulaire
*    - id = id[] recherché
******************************************/
function compteElement(id)  {
     var i=0;
     while ( document.getElementById(id+'['+i+']')) {
        i++;
     }
     return i;
}
/******************************************
*   Recherche et remplace une chaine
******************************************/
function rechercheRemplace(cherche,remplace) {
  var exp=new RegExp("[, ;]+","g");
  chaine=chaine.replace(/[0]/g,remplace);
  return chaine
}

/******************************************
*   Verification date de début et date de fin
*   dans les listes (du au )
******************************************/
function verifDebutFin(frm){
    var du  = frm.elements['du'].value ;
    var au  = frm.elements['au'].value ;
    mes = "" ;
    if ( !verifDate(du) ) {
      mes+= "Date de début de sélection invalide\n" ;
    }
    if ( !verifDate(au) ) {
      mes+= "Date de fin de sélection invalide\n" ;
    }
    if ( mes != "" ) {
      alert (mes) ;
      return false ;
    }
    else {
     return true ;
   }
}

/******************************************
*   Verification si date correcte
*   en fonction de jour,mois et année
* valable pour les annees > 2000
******************************************/
function isOkDate(j,m,a) {
    var ok = true ;
    if ( (m==1 || m==3 || m==5 || m==7 || m==8 || m==10 || m==12) && j > 31 ) {
      ok = false ;
    }
    if ( (m==2 && (a==5 || a==6 || a==7 || a==9 || a==10 || a==11)) && j > 28 ) {
      ok = false ;
    }
    if ( (m==2 && (a==4 || a==8 || a==12) ) && j > 29 ) {
      ok = false ;
    }
    if ( (m==4 || m==6 || m==9 || m==11 ) && j > 30 ) {
      ok = false ;
    }
    if ( a > 20 ) {    // attention si dates < 2000 (date naissance ....)
      ok = false ;
    }
    if ( m < 1 || m > 12 ) {
      ok = false ;
    }
    return ok ;
}
/******************************************
*   Verification d'1 date sous forme jj mm aa
*   et renvoi date formatté jj/mm/aa si correcte
******************************************/
function verifDate(d) {
  var j = d.substring(0,2) ;
  var m = d.substring(3,5) ;
  var a = d.substring(6,8) ;
  if ( isNaN(j) || isNaN(m) || isNaN(a) ) {
     return false ;
  }
  if ( d !="" && (d.length !=8 || !isOkDate(j,m,a)) ) {
    // alert ("Date invalide");
    return false ;
  }
  return true ;
}
/******************************************
*   Formattage d'1 date sous la forme jjmmaa
*   en jj/mm/aa
******************************************/
function formatDate(str) {
   string = str.substring(0,2)+"/"+str.substring(3,5)+"/"+str.substring(6,10);
   return string ;
}

/******************************************
*   Affichage du jour de la semaine saisi
*   a partir d'une date sous la forme jj/mm/aa
*   Coche férié si un dimanche
******************************************/
function afficheJour(d,ar) {
  var joursem = new Array('Samedi','Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi');
  if ( d == ""  && ar == "a" ) {
     document.all.farr_jour.value = "";
     document.all.farr_precis.value = "";
     document.all.farr_ferie.checked = false;
     return true ;
  }
  if ( d == ""  && ar == "d" ) {
     document.all.fdep_jour.value = "";
     document.all.fdep_precis.value = "";
     document.all.fdep_ferie.checked = false;
     return true ;
  }
  // verif validité date
  var j = eval('d.substring(0,2)') ;
  var m = eval('d.substring(3,5)') ;
  var a = eval('d.substring(6,8)') ;
  if ( d !="" && (d.length !=8 || !isOkDate(j,m,a)) ) {
     alert ("Date invalide");
     return false ;
  }

 // var str = new Date((a+2000), m, j);  //m-1
  var str = new Date();  //m-1
  str.setDate(j);
  str.setMonth(m-1);
  str.setYear(a);
 // Jour
  var numjour = str.getDay() ;
  if (ar == "a" ){
     document.all.farr_jour.value = joursem[numjour];
     if ( numjour== 0 || numjour== 1  ){
        document.all.farr_ferie.checked = true;
        numjour == 0 ? document.all.farr_precis.value = "Samedi" : document.all.farr_precis.value = "Dimanche";
     }
     else {
        document.all.farr_ferie.checked = false;
        document.all.farr_precis.value = "";
     }
  }
  if (ar == "d" ){
     document.all.fdep_jour.value = joursem[numjour];
     if ( numjour == 0 || numjour== 1 ){
        document.all.fdep_ferie.checked = true;
        numjour == 0 ? document.all.fdep_precis.value = "Samedi" : document.all.fdep_precis.value = "Dimanche";
     }
     else {
        document.all.fdep_ferie.checked = false;
        document.all.fdep_precis.value = "";
     }
  }

  return true ;
}
///////////////////////////////////////////////////////
//   A partir d'une chaine :
//   - affecte valeur zéro si chaine non numérique
//   - rajoute le nombre de décimales demandées
//   - renvoie la valeur numérique en virgule flottante
// Affichage avec un 0 avant le point decimal si nombre négatif
///////////////////////////////////////////////////////
function formatNombre(nombre, decimales) {
// alert("Nombre : "+nombre) ;
  var n;
  var p10;
  if (isNaN(nombre) || nombre==0) return "";
  if (decimales == 0) {
     n = Math.round(nombre);
     return n.toString();
  }
  else if (decimales > 0) {
     if (document.all) var undefined; // Netscape 4 ne connaît pas la constante "undefined"
     p10 = Math.pow(10, decimales);
     n = Math.round(nombre * p10);
     var signe;
     n < 0 ? signe='-' : signe='';
     n = Math.abs(n);
     n = n.toString();
     var point = n.length - decimales;
     if (point > 0)   n = n.substring(0, point) + "." + n.substring(point);
     if (point == 0)  n = "0." + n;
     if (point < 0)   n = "0." + formater(n, decimales);
     n = signe + n;
  }
  else {
     p10 = Math.pow(10, -decimales);
     n = Math.round(nombre / p10) * p10;
     n = n.toString();
  }
  return n;
}

function formater(nombre, taille) {
  if (isNaN(nombre)) return "";
  var chaine = nombre.toString();
  while (chaine.length < taille) chaine = "0" + chaine;
  return chaine;
}

///////////////////////////////////////////
//   Controle si champ numerique et
//   réaffichage avec décimales
//   - objet champ
//   - decim : nombre de décimales
/////////////////////////////////////////
function controleNombre(champ, decim) {
   var val = champ.value;
   val = ChangeVirgule(val);
   if ( val == 0 ) {
      champ.value = "" ;
      val=0;
   }
   else {
     champ.value =formatNombre(val,2);
   }
}
////////////////////////////////////////////////////////
//   Remplace la virgule par le point décimal
////////////////////////////////////////////////////////
function ChangeVirgule(n) {
    var virgule=n.indexOf(",")
    if (virgule !=-1) {
       n = n.substring(0,virgule)+"."+n.substring(virgule+1,n.length);
       return n;
    }
    return n;
}
////////////////////////////////////////////////////////
//   Controle d'une adresse mail
////////////////////////////////////////////////////////
function emailValide(m) {
    var pattern = /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/;
    return pattern.test(m);
}

//-->
