
//méthodes pour supprimer les enregistrements des listes, et pour rendre invisible les blocs
//une méthode par niveua, sauf pour le premier (qui est en liste déroulante toujours visible et remplie)
function viderFAQNiveauX(numeroNiveauX) {
  var elmBloc = document.getElementById("blocListeFaqNiveau" + numeroNiveauX);
  var elmListe = document.getElementById("listeFaqNiveau" + numeroNiveauX);
  elmBloc.style.display = "none";
  for (i=elmListe.childNodes.length-1; i>=0; i--) {
    elmListe.removeChild(elmListe.childNodes[i]);
  }
}
function viderFAQReponse() {
  var elmBloc = document.getElementById("blocListeFaqReponse");
  var elmListe = document.getElementById("listeFaqReponse");
  elmBloc.style.display = "none";
  elmListe.innerHTML = "";
}

//méthode permettant d'afficher le contenu du premier bloc (après la liste déroulante)
function chargerFAQNiveauX(idNiveauAvant, styleCSSDefaut, styleCSSLienActif, numeroNiveauX) {
  //appel AJAX pour récupérer le contenu des questions de niveau d'avant
  new Ajax.Request("faqQuestions.php?idParent="+idNiveauAvant, { 
      method:"get",
      onSuccess: function(transport) {
          //les éléments reçus sont 1 ligne par question, formaté id;question
          //traitement des résultats
          var lignes = transport.responseText;
          if (lignes == "") {
              viderFAQNiveauX(numeroNiveauX);
              chargerFAQReponse(idNiveauAvant);
          } else {
            lignes = lignes.split('\n');
            if (lignes.length == 0) {
              viderFAQNiveauX(numeroNiveauX);
              chargerFAQReponse(idNiveauAvant);
            } else {
              var elmBloc = document.getElementById("blocListeFaqNiveau" + numeroNiveauX);
              if (elmBloc.style.display == "none")
                elmBloc.style.display = "block";

              var elmListe = document.getElementById("listeFaqNiveau" + numeroNiveauX);
              for (i=0; i<lignes.length; i++) {
                if (lignes[i] != "") {
                  var ligne = lignes[i].split(';');
                  var optionLi = document.createElement("li");
                  var actionLien = "chargerFAQNiveau" + (numeroNiveauX+1) + "(" + ligne[0] + ", '" + styleCSSDefaut + "', '" + styleCSSLienActif + "');surlignerQuestionFAQ(this, 'listeFaqNiveau" + numeroNiveauX + "', '" + styleCSSDefaut + "', '" + styleCSSLienActif + "');";
                  optionLi.innerHTML = "<a href=\"javascript:void(0);\" onclick=\"" + actionLien + "\" class=\"" + styleCSSDefaut + "\">" + ligne[1] + "</a>";
                  elmListe.appendChild(optionLi);
                }
              }
            }
          }
        }
    }
    );
}

//méthode permettant d'afficher le contenu du premier bloc (après la liste déroulante)
function chargerFAQNiveau2(idNiveau1, styleCSSDefaut, styleCSSLienActif) {
  //vidate puis remplissage de l'élément HTML id=listeFaqNiveau2
  viderFAQReponse();
  viderFAQNiveauX(2);
  viderFAQNiveauX(3);
  viderFAQNiveauX(4);
  chargerFAQNiveauX(idNiveau1, styleCSSDefaut, styleCSSLienActif, 2);
}

//méthode permettant d'afficher le contenu du second bloc (après la liste déroulante)
function chargerFAQNiveau3(idNiveau2, styleCSSDefaut, styleCSSLienActif) {
  //vidate puis remplissage de l'élément HTML id=listeFaqNiveau3
  viderFAQReponse();
  viderFAQNiveauX(3);
  viderFAQNiveauX(4);
  chargerFAQNiveauX(idNiveau2, styleCSSDefaut, styleCSSLienActif, 3);
}

//méthode permettant d'afficher le contenu du troisième bloc (après la liste déroulante)
function chargerFAQNiveau4(idNiveau3, styleCSSDefaut, styleCSSLienActif) {
  //vidate puis remplissage de l'élément HTML id=listeFaqNiveau4
  viderFAQReponse();
  viderFAQNiveauX(4);
  chargerFAQNiveauX(idNiveau3, styleCSSDefaut, styleCSSLienActif, 4);
}

//méthode permettant d'afficher le contenu du troisième bloc (après la liste déroulante)
function chargerFAQNiveau5(idNiveau4, styleCSSDefaut, styleCSSLienActif) {
  //vidate puis remplissage de l'élément HTML id=listeFaqNiveau4
  viderFAQReponse();
  chargerFAQReponse(idNiveau4);
}


//méthode permettant d'afficher le contenu du troisième bloc (après la liste déroulante)
function chargerFAQReponse(idQuestion) {
  //appel AJAX pour récupérer la réponse
  new Ajax.Request("faqQuestions.php?idQuestion="+idQuestion, { 
      method:"get",
      onSuccess: function(transport) {
          //les éléments reçus sont 1 ligne par question, formaté id;question
          //traitement des résultats
          var lignes = transport.responseText;
          if (lignes != "") {
              var elmBloc = document.getElementById("blocListeFaqReponse");
              if (elmBloc.style.display == "none")
                elmBloc.style.display = "block";
              var elmListe = document.getElementById("listeFaqReponse");
              elmListe.innerHTML = lignes;
            
          }
        }
    }
    );
}


//méthode pour remettre le style par défaut à tous les liens de la liste, et mettre le styleLien à l'objet transmis
function surlignerQuestionFAQ(lien, listeId, styleCssDefaut, styleCssLienActif) {
  var elmListe = document.getElementById(listeId);
  for (i=0; i<elmListe.childNodes.length; i++) {
    var liensDansOption = elmListe.childNodes[i].getElementsByTagName("a");
    if (liensDansOption.length > 0) {
        liensDansOption[0].className = styleCssDefaut;
    }
  }
  lien.className = styleCssLienActif;
}
