var ObjSelectParam = new Object();

function TestSaisie(Einput) { //  Fonction permettant de remplacer la virgule par un point si elle existe dans la saisie
    var a, ancien, nouveau;
    ancien=Einput;
    a=ancien.indexOf(",");
    if (a!=-1) { nouveau = ancien.substring(0,a) + "." + (ancien.substring(a+1,ancien.length)); }
    else {
        nouveau = Einput; 
        if (!isFinite(nouveau)) { 
           alert("Veuillez ne saisir que des chiffres !");
           while (!isFinite(nouveau)) { nouveau = nouveau.substring(0,nouveau.length-1); }
        }
    }
    return (nouveau);
}

function Arrondi (nb, dec) { // Fonction d'arrondi d'un nombre à n chiffres derrière la virgule
    var strZero;
    if (!isFinite(nb)) { nb=0; }
    nb = String((Math.round(eval(nb)*Math.pow(10,dec)))/Math.pow(10,dec));
    
    if (dec<1) { return nb; }
    strZero=""; for (i=0; i<dec; i++) { strZero+="0"; }
    if (nb.indexOf(".",0)==-1) { return nb+"."+strZero; }
    
    for (j=2; j<=dec; j++) {
        strZero=""; for (k=j; k<=dec; k++) { strZero+="0"; }
        if (nb.indexOf(".",0)==(nb.length)-j) { return nb+strZero; }
    }
    return nb;
}

function LightON(oRow) { // Met en surbrillance la ligne sous le curseur souris
    with (oRow.style) {
        if (backgroundColor!='#f2f0f4') {
            backgroundColor='#f2f0f4';
            color='#99413b'; }
    }
}

function LightOFF(oRow) { // Annule la surbrillance
    with (oRow.style) {
        if (backgroundColor=='#f2f0f4') {
            backgroundColor='';
            color=''; }

        if (backgroundColor=='rgb(242, 240, 244)') {
            backgroundColor='';
            color=''; }
    }
}

function Recherche(Liste) {
    largeur=800;
    hauteur=530;
    features = 'fullscreen';
    //features ='status=no, resizable=no, scrollbars=yes, width='+largeur+', height='+hauteur;
    if(window.screen) {
        var left = (screen.width-largeur)/2;
        var top = (screen.height-hauteur)/2;
        //features+=',left='+left+',top='+top;
        }
    ListeRecherche = window.open('../ressources/'+Liste+'_list.asp','',features);
}

function OpenParam(tableparam,Obj) {
    ObjSelectParam = Obj;
    largeur=600;
    hauteur=400;
    features ='status=no, resizable=no, scrollbars=yes, width='+largeur+', height='+hauteur;
    if(window.screen){
        var left = (screen.width-largeur)/2;
        var top = (screen.height-hauteur)/2;
        features+=',left='+left+',top='+top; }
    Param = window.open('../boiteoutils/param_list.asp?table='+tableparam,'Listes',features);
}

function OpenParamMulti(tableparam,Obj,IdNiveau) {
    ObjSelectParam = Obj;
    largeur=600;
    hauteur=400;
    features ='status=no, resizable=no, scrollbars=yes, width='+largeur+', height='+hauteur;
    if(window.screen){
        var left = (screen.width-largeur)/2;
        var top = (screen.height-hauteur)/2;
        features+=',left='+left+',top='+top; }
    Param = window.open('../boiteoutils/param_MultiLangue_list.asp?table='+tableparam+'&IdNiveau='+IdNiveau,'Listes',features);
}

function OpenWindow(pmodule,plargeur,phauteur) {

    largeur=plargeur;
    hauteur=phauteur;
    features ='status=no, resizable=no, scrollbars=yes, width='+largeur+', height='+hauteur;
    if(window.screen){
        var left = (screen.width-largeur)/2;
        var top = (screen.height-hauteur)/2;
        features+=',left='+left+',top='+top; }
    Param = window.open(pmodule,'Listes',features);
}

function OpenParamNTable(tableparam,Obj,IdNiveau,IdNivSup,IdNiveauInf) {
    ObjSelectParam = Obj;
    largeur=600;
    hauteur=400;
    features ='status=no, resizable=no, scrollbars=yes, width='+largeur+', height='+hauteur;
    if(window.screen){
        var left = (screen.width-largeur)/2;
        var top = (screen.height-hauteur)/2;
        features+=',left='+left+',top='+top; }
    Param = window.open('../boiteoutils/paramNTable_list.asp?Table='+tableparam+'&IdNiveau='+IdNiveau+'&IdNivSup='+IdNivSup+'&IdNiveauInf='+IdNiveauInf,'Listes',features);
}

function AddParam(sValeur,sTexte) {
    newOpt = new Option(sTexte, sValeur, "", true);
    ObjSelectParam.options[ObjSelectParam.options.length] = newOpt;
}

function UpdParam(sValeur,sTexte) {
    for (var ind=0; ind<ObjSelectParam.options.length; ind++) {
        if (ObjSelectParam.options[ind].value==sValeur) {
            ObjSelectParam.options[ind].text = sTexte; }
    }
}

function SupParam(sTexte) {
    for (var ind=0; ind<ObjSelectParam.options.length; ind++) {
        if (ObjSelectParam.options[ind].text==sTexte) {
            ObjSelectParam.options[ind] = null; }
    }
}

function CheckDateSite(d) {
  if (d.value=="") { return 0; }
  if (d.value.length==8){
        if ((d.value.indexOf("/",0))==-1){
           var j=(d.value.substring(0,2));
           var m=(d.value.substring(2,4));
           var a=(d.value.substring(4));
           d.value=j+"/"+m+"/"+a;}
  }
  // Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
  // Le séparateur est défini dans la variable separateur
  var amin=1000; // année mini
  var amax=3000; // année maxi
  var separateur="/"; // separateur entre jour/mois/annee
  var j=(d.value.substring(0,2));
  var m=(d.value.substring(3,5));
  var a=(d.value.substring(6));
  var ok=1;
  if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
     alert("Le jour n'est pas correct."); d.value="";ok=0;
  }
  if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
     alert("Le mois n'est pas correct."); d.value="";ok=0;
  }
  if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
     alert("L'année n'est pas correcte."); d.value="";ok=0;
  }
  if ( ((d.value.substring(2,3)!=separateur)||(d.value.substring(5,6)!=separateur)) && (ok==1) ) {
     alert("Les séparateurs doivent être des "+separateur); d.value=""; ok=0;
  }
  if (ok==1) {
     var d2=new Date(a,m-1,j);
     j2=d2.getDate();
     m2=d2.getMonth()+1;
     a2=d2.getYear();
     if (a2<=100) {a2=2000+a2}
     if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
        a2=d2.getYear();
        if (a2<=100) {a2=1900+a2}
        if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
        alert("La date "+d.value+" n'existe pas !");
        d.value="";ok=0;}
     }
  }
  return ok;
}

function CheckDate(d) {
  if (d.value=="") { return 0; }
  if (d.value.length==6){
     var j=(d.value.substring(0,2));
     var m=(d.value.substring(2,4));
     var a=(d.value.substring(4));
     d.value=j+"/"+m+"/"+"20"+a;
  }
  if (d.value.length==8){
     var t=(d.value.substring(2,3));
     if (t=="/"){
        var j=(d.value.substring(0,2));
        var m=(d.value.substring(3,5));
        var a=(d.value.substring(6));
        d.value=j+"/"+m+"/"+"20"+a;
     }
     else{
       var j=(d.value.substring(0,2));
       var m=(d.value.substring(2,4));
       var a=(d.value.substring(4));
       d.value=j+"/"+m+"/"+a;
     }
  }
  d = d.value;
  // Cette fonction vérifie le format JJ/MM/AAAA saisi et la validité de la date.
  // Le séparateur est défini dans la variable separateur
  var amin=1000; // année mini
  var amax=3000; // année maxi
  var separateur="/"; // separateur entre jour/mois/annee
  var j=(d.substring(0,2));
  var m=(d.substring(3,5));
  var a=(d.substring(6));
  var ok=1;
  if ( ((isNaN(j))||(j<1)||(j>31)) && (ok==1) ) {
     alert("Le jour n'est pas correct."); ok=0;
  }
  if ( ((isNaN(m))||(m<1)||(m>12)) && (ok==1) ) {
     alert("Le mois n'est pas correct."); ok=0;
  }
  if ( ((isNaN(a))||(a<amin)||(a>amax)) && (ok==1) ) {
     alert("L'année n'est pas correcte."); ok=0;
  }
  if ( ((d.substring(2,3)!=separateur)||(d.substring(5,6)!=separateur)) && (ok==1) ) {
     alert("Les séparateurs doivent être des "+separateur); ok=0;
  }
  if (ok==1) {
     var d2=new Date(a,m-1,j);
     j2=d2.getDate();
     m2=d2.getMonth()+1;
     a2=d2.getYear();
     if (a2<=100) {a2=2000+a2}
     if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
        a2=d2.getYear();
        if (a2<=100) {a2=1900+a2}
        if ( (j!=j2)||(m!=m2)||(a!=a2) ) {
        alert("La date "+d+" n'existe pas !");
        ok=0;}
     }
  }
  return ok;
}

function CheckHour(d) {
  if (d.value=="") { return 0; }
  if (d.value.length==4){
     d.value="0"+d.value
  }

  d = d.value;
  // Cette fonction vérifie le format HH:MM de l'heure
  // Le séparateur est défini dans la variable separateur
  var separateur=":"; // separateur entre h:min
  var h=(d.substring(0,2));
  var m=(d.substring(3));
  var ok=1;
  if ( ((isNaN(h))||(h<0)||(h>23)) && (ok==1) ) {
     alert("L'heure n'est pas correct."); ok=0;
  }
  if ( ((isNaN(m))||(m<0)||(m>59)) && (ok==1) ) {
     alert("Les minutes ne sont pas correctes."); ok=0;
  }
  if ((d.substring(2,3)!=separateur) && (ok==1) ) {
     alert("Les séparateurs doivent être des "+separateur); ok=0;
  }
  return ok;
}

function CheckTel(oCell) {
    var sTel = oCell.value;
    if (sTel.length==10) {
        oCell.value = sTel.substring(0,2)+" "+sTel.substring(2,4)+" "+sTel.substring(4,6)+" "+sTel.substring(6,8)+" "+sTel.substring(8,10);
    }
}

function verifiermail(mail) {
  if ((mail.indexOf("@")>=0)&&(mail.indexOf(".")>=0)) {
     return true 
  } else {
     alert("Mail invalide !");
     return false
  }
}

function inversMonth() {
    zoneMonthFix.style.display = "none";
    zoneMonthDyn.style.display = "block";
    zoneYearFix.style.display = "block";
    zoneYearDyn.style.display = "none";
}

function inversYear() {
    zoneYearFix.style.display = "none";
    zoneYearDyn.style.display = "block";
    zoneMonthFix.style.display = "block";
    zoneMonthDyn.style.display = "none";
}

function Replace(chaine,car,newcar) {
    var i, pos;
    var debut = 0;
    var increment = newcar.length - car.length;
    while (debut<=chaine.length) {
        pos = chaine.indexOf(car,debut);
        if (pos==-1) { return chaine; }
        chaine = chaine.substr(0,pos) + newcar + chaine.substr(pos+car.length,chaine.length-pos+car.length+1);
        debut = pos + increment;
    }
    return chaine
}

function Show(oCell) { oCell.style.display="block"; }

function Hide(oCell) { oCell.style.display="none"; }

function ShowHide(oCell) {
  if (oCell.style.display!="none")
    { oCell.style.display="none"; }
  else
    { oCell.style.display="block"; }
}

function EnConstruction()
{
    alert ('Fonctionnalité indisponible dans cette version. \n Veuillez-nous en excuser.');
}

function EditRichText(IdTextarea) {
    largeur=800;
    hauteur=600;
    features ='status=no, resizable=yes, scrollbars=yes, width='+largeur+', height='+hauteur;
    if(window.screen){
        var left = (screen.width-largeur)/2;
        var top = (screen.height-hauteur)/2;
        features+=',left='+left+',top='+top; }
    RichTextBox = window.open('../richtext/richtext.asp?IdTextArea='+IdTextarea,'',features);
}

function SubmitSurEntree(e) {
    if (e.keyCode==13) { Submit(); }
}