//Déclaration des variables globales
var genWallG = new Array(9);
for (var i=0;i<genWallG.length;i++) {
  var names = new Array("G50T", "G80T", "G300T", "G300R", "G500R", "G800R", "G3000R", "G5000R", "G8000R");
  var boitiers = new Array("Tour", "Tour", "Tour", "1U", "1U", "1U", "2U", "2U", "2U");
  var eths = new Array(2, 3, 3, 4, 6, 8, 10, 14, 14);
  var vpns = new Array(20, 30, 50, 100, 250, 500, 1000, 5000, 10000);
  var ssls = new Array(20, 30, 50, 100, 250, 500, 1000, 5000, 10000);
  var mails = new Array(250, 500, 750, 1000, 1000, 2000, 3000, 5000, 10000);
  genWallG[i] = new Array();
  genWallG[i]["name"]=names[i];
  genWallG[i]["boitier"]=boitiers[i];
  genWallG[i]["eth"]=eths[i];
  genWallG[i]["vpn"]=vpns[i];
  genWallG[i]["ssl"]=ssls[i];
  genWallG[i]["mail"]=mails[i];
  genWallG[i]["valide"]=false;
  //alert(genWallG[i]["name"]+" - "+genWallG[i]["valide"]+" - "+genWallG[i]["boitier"]);
};

var genWallSsl = new Array(2);
for (var i=0;i<genWallSsl.length;i++) {
  var names = new Array("SSL80", "SSL300");
  var boitiers = new Array("Tour", "1U");
  var ssls = new Array(100, 1000);
  genWallSsl[i] = new Array();
  genWallSsl[i]["name"]=names[i];
  genWallSsl[i]["boitier"]=boitiers[i];
  genWallSsl[i]["ssl"]=ssls[i];
  genWallSsl[i]["valide"]=false;
};

var genWallMf = new Array(4);
for (var i=0;i<genWallMf.length;i++) {
  var names = new Array("MF300", "MF500", "MF5000", "MF8000");
  var boitiers = new Array("Tour", "1U", "2U", "2U");
  var mails = new Array(1000, 3000, 15000, 30000);
  genWallMf[i] = new Array();
  genWallMf[i]["name"]=names[i];
  genWallMf[i]["boitier"]=boitiers[i];
  genWallMf[i]["mail"]=mails[i];
  genWallMf[i]["valide"]=false;
};

var genServeGw = new Array(4);
for (var i=0;i<genServeGw.length;i++) {
  var names = new Array("GW300", "GW500", "GW5000", "GW8000");
  var boitiers = new Array("Tour", "1U", "2U", "2U");
  var spaces = new Array(280, 460, 960, 2960);
  var raids = new Array(false, true, true, true);
  var hotplugs = new Array(false, false, true, true);
  genServeGw[i] = new Array();
  genServeGw[i]["name"]=names[i];
  genServeGw[i]["boitier"]=boitiers[i];
  genServeGw[i]["space"]=spaces[i];
  genServeGw[i]["raid"]=raids[i];
  genServeGw[i]["hotplug"]=hotplugs[i];
  genServeGw[i]["valide"]=false;
};

//Récupération des objets du panel Votre besoin
var prioritySelect = [];
var rackableSelect = [];
var firewallChkBx = [];
var ipsecChkBx = [];
var sslChkBx = [];
var filtrageUrlChkBx = [];
var groupwareChkBx = [];
var serviceChkBx = [];
var mfChkBx = [];
var ethNbSelect = [];
var vpnNbSelect = [];
var sslNbSelect = [];
var mailNbSelect = [];
var spaceNbSelect = [];
var raidChkBx = [];
var hotplugChkBx = [];

prioritySelect["object"] = document.getElementById("priority");
rackableSelect["object"] = document.getElementById("rackable");
firewallChkBx["object"] = document.getElementById("firewall");
ipsecChkBx["object"] = document.getElementById("ipsec");
sslChkBx["object"] = document.getElementById("ssl");
filtrageUrlChkBx["object"] = document.getElementById("filtrage_url");
groupwareChkBx["object"] = document.getElementById("groupware");
serviceChkBx["object"] = document.getElementById("service");
mfChkBx["object"] = document.getElementById("mailFilter");
ethNbSelect["object"] = document.getElementById("ethNb");
vpnNbSelect["object"] = document.getElementById("vpnNb");
sslNbSelect["object"] = document.getElementById("sslNb");
mailNbSelect["object"] = document.getElementById("mailNb");
spaceNbSelect["object"] = document.getElementById("spaceNb");
raidChkBx["object"] = document.getElementById("raid");
hotplugChkBx["object"] = document.getElementById("hotplug");
var besoinsObjects = [prioritySelect, rackableSelect, firewallChkBx, ipsecChkBx, sslChkBx, filtrageUrlChkBx, groupwareChkBx, serviceChkBx, mfChkBx, ethNbSelect, vpnNbSelect, sslNbSelect, mailNbSelect, spaceNbSelect, raidChkBx, hotplugChkBx];

var selectComment =  document.getElementById("selectComment");

//Définition de variables globales permettant de savoir en permanence si au moins un boitier de chaque gamme est validé par les contraintes
var genWallGValide = false;
var genWallSslValide = false;
var genWallMfValide = false;
var genServeGwValide = false;

function devisInit () {
  //Initialisation de la priorité à Cost, on masque le combo permettant de changer la valeur
  //BEGIN TODO: prévoir le cas ou la priorité est la sécurité et supprimer ce code masquant le combobox
  var priorityDiv = document.getElementById("priorityDiv");
  if (priorityDiv!=null) {
    priorityDiv.style.display = "none";
  };
  //END TODO
  //BEGIN TODO: prévoir le paramétrage usine
  var factoryParamDiv = document.getElementById("factoryParamDiv");
  if (factoryParamDiv!=null) {
    factoryParamDiv.style.display = "none";
  };
  //END TODO
  for (count=0;count<besoinsObjects.length;count++) {
    //window.alert(besoinsObjects[count]["object"].type);
    if (besoinsObjects[count]["object"].type=="select-one") {
      besoinsObjects[count]["object"].onchange=evalBesoins;
      besoinsObjects[count]["value"] = besoinsObjects[count]["object"].value;
    } else if (besoinsObjects[count]["object"].type=="checkbox") {
      besoinsObjects[count]["object"].onclick=evalBesoins;
      besoinsObjects[count]["value"] = besoinsObjects[count]["object"].checked;
    };
    //window.alert("Objet : "+besoinsObjects[count]["object"]+" - Valeur : "+besoinsObjects[count]["value"]);
  }
  //init affichage
  initBlocksFirewall();
  initBlocksIpsec();
  initBlocksSsl();
  initBlocksMf();
  initBlocksUrl();
  initBlocksGw();
  evalBesoins();
}

function evalBesoins() {
  if (prioritySelect["object"].value=="Cost") {
    //alert("evalBesoinsWithCostPriority");
    evalBesoinsWithCostPriority();
  } else if (prioritySelect["object"].value=="Security") {
    //alert("evalBesoinsWithSecurityPriority");
    evalBesoinsWithSecurityPriority();
  };
}

function evalBesoinsWithCostPriority() {
  if (firewallChkBx["value"]!=firewallChkBx["object"].checked) {
    //Changement d'état du besoin en firewalling
    firewallChkBx["value"]=firewallChkBx["object"].checked;
    initBlocksFirewall();
  }
  if (ipsecChkBx["value"]!=ipsecChkBx["object"].checked) {
    //Changement d'état du besoin en firewalling
    ipsecChkBx["value"]=ipsecChkBx["object"].checked;
    initBlocksIpsec();
  }
  if (sslChkBx["value"]!=sslChkBx["object"].checked) {
    //Changement d'état du besoin en firewalling
    sslChkBx["value"]=sslChkBx["object"].checked;
    initBlocksSsl();
  }
  if (mfChkBx["value"]!=mfChkBx["object"].checked) {
    //Changement d'état du besoin en firewalling
    mfChkBx["value"]=mfChkBx["object"].checked;
    initBlocksMf();
  }
  if (filtrageUrlChkBx["value"]!=filtrageUrlChkBx["object"].checked) {
    //Changement d'état du besoin en firewalling
    filtrageUrlChkBx["value"]=filtrageUrlChkBx["object"].checked;
    initBlocksUrl();
  };
  if (groupwareChkBx["value"]!=groupwareChkBx["object"].checked) {
    //Changement d'état du besoin en firewalling
    groupwareChkBx["value"]=groupwareChkBx["object"].checked;
    initBlocksGw();
  };
  if ((sslChkBx["value"]) && (!((firewallChkBx["value"]) || (ipsecChkBx["value"]) || (filtrageUrlChkBx["value"]) || (mfChkBx["value"]) || (groupwareChkBx["value"])))) {
    evalGenWallSsl();
    if (genWallSslValide) {
      selectComment.innerHTML = "Sélectionnez un produit parmi la liste des genWall SSL compatibles avec votre besoin :<br/><br/>";
    } else selectComment.innerHTML = "Il n'y a pas de genWall SSL compatible avec votre besoin.";
  } else desactiveGenWallSsl();
  if (genWallSslValide==false) {
    if ((mfChkBx["value"]) && (!((firewallChkBx["value"]) || (ipsecChkBx["value"]) || (filtrageUrlChkBx["value"])  || (sslChkBx["value"]) || (groupwareChkBx["value"])))) {
      evalGenWallMf();
    if (genWallMfValide) {
      selectComment.innerHTML = "Sélectionnez un produit parmi la liste des genWall MailFilter compatibles avec votre besoin :<br/><br/>";
    } else selectComment.innerHTML = "Il n'y a pas de genWall MailFiler compatible avec votre besoin.";
    } else desactiveGenWallMf();
  } else desactiveGenWallMf();
  if ((genWallSslValide==false) &&(genWallMfValide==false)) {
    if ((groupwareChkBx["value"]) && (!((firewallChkBx["value"]) || (ipsecChkBx["value"]) || (filtrageUrlChkBx["value"])  || (sslChkBx["value"]) || (mfChkBx["value"])))) {
      evalGenServeGw();
    if (genServeGwValide) {
      selectComment.innerHTML = "Sélectionnez un produit parmi la liste des genServe GroupWare compatibles avec votre besoin :<br/><br/>";
    } else selectComment.innerHTML = "Il n'y a pas de genServe GroupWare compatible avec votre besoin.";
    } else desactiveGenServeGw();
  } else desactiveGenServeGw();
  if ((genWallSslValide==false) && (genWallMfValide==false) && (genServeGwValide==false)) {
    // On ne déclenche cette fonction que si aucun des autres gammes ne correspondent
    if (((firewallChkBx["value"]) || (ipsecChkBx["value"]) || (filtrageUrlChkBx["value"]) || (sslChkBx["value"]) || (mfChkBx["value"])) && (!(groupwareChkBx["value"]))) {
      //genWall G Series répond à tous les besoins, ça peut donc correspondre aux besoins
      //alert("before evalGenWallG");
      evalGenWallG();
      if (genWallGValide) {
        selectComment.innerHTML = "Sélectionnez un produit parmi la liste des genWall G Series compatibles avec votre besoin :<br/><br/>";
      } else selectComment.innerHTML = "Il n'y a pas de genWall G Series compatible avec votre besoin.";
    } else desactiveGenWallG();
  } else desactiveGenWallG();
  afficheGenWallG();
  afficheGenWallSsl();
  afficheGenWallMf();
  afficheGenServeGw();
  if ((genWallSslValide==false) && (genWallMfValide==false) && (genServeGwValide==false) && (genWallGValide==false)) {
    selectComment.innerHTML = "Aucun produit n'est compatible avec votre sélection.<br/><br/>";
    var secureItDiv = document.getElementById("secureItDiv");
    if (secureItDiv!=null) {
      toggleDisabled(secureItDiv, true)
    };
  } else {
    var secureItDiv = document.getElementById("secureItDiv");
    if (secureItDiv!=null) {
      toggleDisabled(secureItDiv, false)
    };
  };
};

function evalBesoinsWithSecurityPriority() {
  //TODO: à implémenter
}

function evalGenWallSsl() {
  genWallSslValide = false;
  //Evaluation en fonction du type de boitier
  for (var i=0;i<genWallSsl.length;i++) {
    if (rackableSelect["object"].value=="none") {
      genWallSsl[i]["valide"]=true;
      //alert("Boitier sans importance");
    } else if (rackableSelect["object"].value=="true") {
      genWallSsl[i]["valide"]=((genWallSsl[i]["boitier"]=="1U") || (genWallSsl[i]["boitier"]=="2U"));
      //alert("Boitier rackable");
    } else if (rackableSelect["object"].value=="false") {
      genWallSsl[i]["valide"]=(genWallSsl[i]["boitier"]=="Tour");
      //alert("Boitier tour");
    };
    sslNbSelect["value"] = sslNbSelect["object"].value;
    //Evaluation en fonction du nombre de tunnels ssl à monter
    if (genWallSsl[i]["valide"]) {
      if (sslNbSelect["value"]>genWallSsl[i]["ssl"]) {
        genWallSsl[i]["valide"]=false;
        //alert("invalid : sslNbSelect : "+sslNbSelect["value"]+" - genWallG[i]['ssl'] : "+genWallG[i]["ssl"]);
      };
    };
    if (genWallSsl[i]["valide"]) {
      if (genWallSslValide==false) {genWallSslValide=true};
    };
  };
};

function desactiveGenWallSsl() {
  for (var i=0;i<genWallSsl.length;i++) {
    genWallSsl[i]["valide"]=false;
  };
  afficheGenWallSsl();
  genWallSslValide=false;
};

function  afficheGenWallSsl() {
  var genWallSslSelect = document.getElementById("genWallSslSelect");
  if (genWallSslSelect) {
    removeAllOptions(genWallSslSelect);
  };
  for (var i=0;i<genWallSsl.length;i++) {
    if (genWallSslSelect) {
      if (genWallSsl[i]["valide"]) {
        appendOptionLast(genWallSslSelect, "genWall "+genWallSsl[i]["name"], genWallSsl[i]["name"]);
      };
    };
  };
  if (genWallSslValide) {
    genWallSslSelect.style.display = "block";
  } else {
    genWallSslSelect.style.display = "none";
  };
};

function evalGenWallMf() {
  genWallMfValide = false;
  //alert("evalGenWallMf");
  //Evaluation en fonction du type de boitier
  for (var i=0;i<genWallMf.length;i++) {
    if (rackableSelect["object"].value=="none") {
      genWallMf[i]["valide"]=true;
      //alert("Boitier sans importance");
    } else if (rackableSelect["object"].value=="true") {
      genWallMf[i]["valide"]=((genWallMf[i]["boitier"]=="1U") || (genWallMf[i]["boitier"]=="2U"));
      //alert("Boitier rackable");
    } else if (rackableSelect["object"].value=="false") {
      genWallMf[i]["valide"]=(genWallMf[i]["boitier"]=="Tour");
      //alert("Boitier tour");
    };
    mailNbSelect["value"] = mailNbSelect["object"].value;
    //Evaluation en fonction du nombre de mails à filtrer
    if (mfChkBx["value"]) {
      if (genWallMf[i]["valide"]) {
        if (mailNbSelect["value"]>genWallMf[i]["mail"]) {
          genWallMf[i]["valide"]=false;
        };
      };
    };
    if (genWallMf[i]["valide"]) {
      if (genWallMfValide==false) {genWallMfValide=true};
    };
  };
  //alert(genWallMfValide);
};

function desactiveGenWallMf() {
  for (var i=0;i<genWallMf.length;i++) {
    genWallMf[i]["valide"]=false;
  };
  afficheGenWallMf();
  genWallMfValide = false;
};

function  afficheGenWallMf() {
  var genWallMfSelect = document.getElementById("genWallMfSelect");
  if (genWallMfSelect) {
    removeAllOptions(genWallMfSelect);
  };
  for (var i=0;i<genWallMf.length;i++) {
    if (genWallMfSelect) {
      if (genWallMf[i]["valide"]) {
        appendOptionLast(genWallMfSelect, "genWall "+genWallMf[i]["name"], genWallMf[i]["name"]);
      };
    };
  };
  if (genWallMfValide) {
    genWallMfSelect.style.display = "block";
  } else {
    genWallMfSelect.style.display = "none";
  };
};

function evalGenServeGw() {
  genServeGwValide = false;
  //alert("evalGenServeGw");
  //Evaluation en fonction du type de boitier
  for (var i=0;i<genServeGw.length;i++) {
    if (rackableSelect["object"].value=="none") {
      genServeGw[i]["valide"]=true;
      //alert("Boitier sans importance");
    } else if (rackableSelect["object"].value=="true") {
      genServeGw[i]["valide"]=((genServeGw[i]["boitier"]=="1U") || (genServeGw[i]["boitier"]=="2U"));
      //alert("Boitier rackable");
    } else if (rackableSelect["object"].value=="false") {
      genServeGw[i]["valide"]=(genServeGw[i]["boitier"]=="Tour");
      //alert("Boitier tour");
    };
    spaceNbSelect["value"] = spaceNbSelect["object"].value;
    raidChkBx["value"] = raidChkBx["object"].checked;
    hotplugChkBx["value"] = hotplugChkBx["object"].checked;
    //Evaluation en fonction du nombre de Go à stocker
    if (groupwareChkBx["value"]) {
      if (genServeGw[i]["valide"]) {
        //alert(spaceNbSelect["value"]+">"+genServeGw[i]["space"]);
        if (spaceNbSelect["value"]>genServeGw[i]["space"]) {
          genServeGw[i]["valide"]=false;
        };
      };
    };
    //Evaluation en fonction du raid
    if (groupwareChkBx["value"]) {
      if (genServeGw[i]["valide"]) {
        if (raidChkBx["value"]) {
          //alert(raidChkBx["value"]+" && "+(!(genServeGw[i]["raid"])));
          if ((raidChkBx["value"]) && (!(genServeGw[i]["raid"]))) {
            genServeGw[i]["valide"]=false;
          };
        };
      };
    };
    //Evaluation en fonction du hotplug
    if (groupwareChkBx["value"]) {
      if (genServeGw[i]["valide"]) {
        if (hotplugChkBx["value"]) {
          //alert(hotplugChkBx["value"]+" && "+(!(genServeGw[i]["hotplug"])));
          if ((hotplugChkBx["value"]) && (!(genServeGw[i]["hotplug"]))) {
            genServeGw[i]["valide"]=false;
          };
        };
      };
    };
    if (genServeGw[i]["valide"]) {
      if (genServeGwValide==false) {genServeGwValide=true};
      //alert(genServeGw[i]["name"]);
    };
  };
};

function desactiveGenServeGw() {
  for (var i=0;i<genServeGw.length;i++) {
    genServeGw[i]["valide"]=false;
  };
  afficheGenServeGw();
  genServeGwValide = false;
};

function  afficheGenServeGw() {
  var genServeGwSelect = document.getElementById("genServeGwSelect");
  if (genServeGwSelect) {
    removeAllOptions(genServeGwSelect);
  };
  for (var i=0;i<genServeGw.length;i++) {
    if (genServeGwSelect) {
      if (genServeGw[i]["valide"]) {
        appendOptionLast(genServeGwSelect, "genServe "+genServeGw[i]["name"], genServeGw[i]["name"]);
      };
    };
  };
  if (genServeGwValide) {
    genServeGwSelect.style.display = "block";
  } else {
    genServeGwSelect.style.display = "none";
  };
};

function evalGenWallG() {
  genWallGValide = false;
  //Evaluation en fonction du type de boitier
  for (var i=0;i<genWallG.length;i++) {
    //Evaluation par rapport au type de boitier (rackable, boitier ou les deux)
    if (rackableSelect["object"].value=="none") {
      genWallG[i]["valide"]=true;
      //alert("Boitier sans importance");
    } else if (rackableSelect["object"].value=="true") {
      genWallG[i]["valide"]=((genWallG[i]["boitier"]=="1U") || (genWallG[i]["boitier"]=="2U"));
      //alert("Boitier rackable");
    } else if (rackableSelect["object"].value=="false") {
      genWallG[i]["valide"]=(genWallG[i]["boitier"]=="Tour");
      //alert("Boitier tour");
    };
    ethNbSelect["value"] = ethNbSelect["object"].value;
    vpnNbSelect["value"] = vpnNbSelect["object"].value;
    sslNbSelect["value"] = sslNbSelect["object"].value;
    mailNbSelect["value"] = mailNbSelect["object"].value;
    //Evaluation en fonction du nombre de cartes réseau
    if (firewallChkBx["value"]) {
      if (genWallG[i]["valide"]) {
        if (ethNbSelect["value"]>genWallG[i]["eth"]) {
          genWallG[i]["valide"]=false;
          //alert("invalid : ethNbSelect : "+ethNbSelect["value"]+" - genWallG[i]['eth'] : "+genWallG[i]["eth"]);
        };
      };
    };
    //Evaluation en fonction du nombre de tunnels ipsec à monter
    if (ipsecChkBx["value"]) {
      if (genWallG[i]["valide"]) {
        if (vpnNbSelect["value"]>genWallG[i]["vpn"]) {
          genWallG[i]["valide"]=false;
        };
      };
    };
    //Evaluation en fonction du nombre de tunnels ssl à monter
    if (sslChkBx["value"]) {
      if (genWallG[i]["valide"]) {
        if (sslNbSelect["value"]>genWallG[i]["ssl"]) {
          genWallG[i]["valide"]=false;
          //alert("invalid : sslNbSelect : "+sslNbSelect["value"]+" - genWallG[i]['ssl'] : "+genWallG[i]["ssl"]);
        };
      };
    };
    //Evaluation en fonction du nombre de mails à filtrer
    if (mfChkBx["value"]) {
      if (genWallG[i]["valide"]) {
        if (mailNbSelect["value"]>genWallG[i]["mail"]) {
          genWallG[i]["valide"]=false;
        };
      };
    };
    if (genWallG[i]["valide"]) {
      if (genWallGValide==false) {genWallGValide=true};
    };
  };
};

function desactiveGenWallG() {
  for (var i=0;i<genWallG.length;i++) {
    genWallG[i]["valide"]=false;
  };
  afficheGenWallG();
  genWallGValide = false;
};

function  afficheGenWallG() {
  var genWallGSelect = document.getElementById("genWallGSelect");
  if (genWallGSelect) {
    removeAllOptions(genWallGSelect);
  };
  for (var i=0;i<genWallG.length;i++) {
    if (genWallGSelect) {
      if (genWallG[i]["valide"]) {
        appendOptionLast(genWallGSelect, "genWall "+genWallG[i]["name"], genWallG[i]["name"]);
      };
    };
  };
  if (genWallGValide) {
    genWallGSelect.style.display = "block";
  } else {
    genWallGSelect.style.display = "none";
  };
};

function initBlocksFirewall() {
  changeBlocksFirewall(firewallChkBx["value"]);
  //if (firewallChkBx["value"]) {
    //evalGenWallG();
  //};
}

function changeBlocksFirewall(state) {
  // Block de détermination du nombre d'interfaces
  var ethNbFieldset = document.getElementById("ethNbFieldset");
  if (ethNbFieldset!=null) {
    if (state) {
      ethNbFieldset.style.display = "block";
      groupwareChkBx["object"].checked=false;
    } else {
      ethNbFieldset.style.display = "none";
    };
  };
  var divGroupware = document.getElementById("divGroupware");
  if (divGroupware!=null) {
    toggleDisabled(divGroupware, state);
  };
};

function initBlocksIpsec() {
  changeBlocksIpsec(ipsecChkBx["value"]);
  //if (ipsecChkBx["value"]) {
    //evalGenWallG();
  //};
};

function changeBlocksIpsec(state) {
  // Block de détermination du nombre d'interfaces
  var ipsecFieldset = document.getElementById("ipsecFieldset");
  if (ipsecFieldset!=null) {
    if (state) {
      ipsecFieldset.style.display = "block";
      groupwareChkBx["object"].checked=false;
    } else {
      ipsecFieldset.style.display = "none";
    };
  };
  var divGroupware = document.getElementById("divGroupware");
  if (divGroupware!=null) {
    toggleDisabled(divGroupware, state);
  };
}

function initBlocksSsl() {
  changeBlocksSsl(sslChkBx["value"]);
  //if (sslChkBx["value"]) {
    //evalGenWallSsl();
  //};
};

function changeBlocksSsl(state) {
  // Block de détermination du nombre d'interfaces
  var sslFieldset = document.getElementById("sslFieldset");
  if (sslFieldset!=null) {
    if (state) {
      sslFieldset.style.display = "block";
      groupwareChkBx["object"].checked=false;
    } else {
      sslFieldset.style.display = "none";
    };
  };
  var divGroupware = document.getElementById("divGroupware");
  if (divGroupware!=null) {
    toggleDisabled(divGroupware, state);
  };
};

function initBlocksMf() {
  changeBlocksMf(mfChkBx["value"]);
  //if (mfChkBx["value"]) {
    //evalGenWallMf();
  //};
};

function changeBlocksMf(state) {
  // Block de détermination du nombre d'interfaces
  var mfFieldset = document.getElementById("mfFieldset");
  if (mfFieldset!=null) {
    if (state) {
      mfFieldset.style.display = "block";
      groupwareChkBx["object"].checked=false;
    } else {
      mfFieldset.style.display = "none";
    };
  };
  var divGroupware = document.getElementById("divGroupware");
  if (divGroupware!=null) {
    toggleDisabled(divGroupware, state);
  };
};

function initBlocksUrl() {
  changeBlocksUrl(filtrageUrlChkBx["value"]);
  //if (filtrageUrlChkBx["value"]) {
    //evalGenWallG();
  //};
};

function changeBlocksUrl(state) {
  // Block de détermination du nombre d'interfaces
  var urlFieldset = document.getElementById("urlFieldset");
  if (urlFieldset!=null) {
    if (state) {
      urlFieldset.style.display = "block";
      groupwareChkBx["object"].checked=false;
    } else {
      urlFieldset.style.display = "none";
    };
  };
  var divGroupware = document.getElementById("divGroupware");
  if (divGroupware!=null) {
    toggleDisabled(divGroupware, state);
  };
};

function initBlocksGw() {
  changeBlocksGw(groupwareChkBx["value"]);
  //if (filtrageUrlChkBx["value"]) {
    //evalGenWallG();
  //};
};

function changeBlocksGw(state) {
  // Block de détermination du nombre d'interfaces
  var gwFieldset = document.getElementById("gwFieldset");
  if (gwFieldset!=null) {
    if (state) {
      gwFieldset.style.display = "block";
    } else {
      gwFieldset.style.display = "none";
    };
  };
};

function toggleDisabled(el, state) {
  try {
    el.disabled = state;
  }
  catch(E){
  }
  if (el.childNodes && el.childNodes.length > 0) {
    for (var x = 0; x < el.childNodes.length; x++) {
      toggleDisabled(el.childNodes[x], state);
    }
  }
};

function appendOptionLast(select_var, text_var, value_var)
{
  var elOptNew = document.createElement('option');
  elOptNew.text = text_var;
  elOptNew.value = value_var;

  try {
    select_var.add(elOptNew, null); // standards compliant; doesn't work in IE
  }
  catch(ex) {
    select_var.add(elOptNew); // IE only
  }
};

function removeAllOptions(select_var)
{
  while (select_var.length > 0) {
  select_var.remove(select_var.length-1);
  };
};

function interlocuteurChange(val) {
  var interlocuteurH=document.getElementById('interlocuteurH'); 
  if (interlocuteurH) {
    interlocuteurH.value=val;
  };
};

function entrepriseChange(val) {
  var entrepriseH=document.getElementById('entrepriseH'); 
  if (entrepriseH) {
    entrepriseH.value=val;
  };
};

function adresse1Change(val) {
  var adresse1H=document.getElementById('adresse1H'); 
  if (adresse1H) {
    adresse1H.value=val;
  };
};

function adresse2Change(val) {
  var adresse2H=document.getElementById('adresse2H'); 
  if (adresse2H) {
    adresse2H.value=val;
  };
};

function codepostalChange(val) {
  var codepostalH=document.getElementById('codepostalH'); 
  if (codepostalH) {
    codepostalH.value=val;
  };
};

function villeChange(val) {
  var villeH=document.getElementById('villeH'); 
  if (villeH) {
    villeH.value=val;
  };
};

function telephoneChange(val) {
  var telephoneH=document.getElementById('telephoneH'); 
  if (telephoneH) {
    telephoneH.value=val;
  };
};

function mailChange(val) {
  var mailH=document.getElementById('mailH'); 
  if (mailH) {
    mailH.value=val;
  };
};

function effectifChange(val) {
  var effectifH=document.getElementById('effectifH'); 
  if (effectifH) {
    effectifH.value=val;
  };
};

function caChange(val) {
  var caH=document.getElementById('caH'); 
  if (caH) {
    caH.value=val;
  };
};

function webSiteChange(val) {
  var webSiteH=document.getElementById('webSiteH'); 
  if (webSiteH) {
    webSiteH.value=val;
  };
};

function messageChange(val) {
  var messageH=document.getElementById('messageH'); 
  if (messageH) {
    messageH.value=val;
  };
};