// JavaScript Document

(function(){


Partenaires = {};

Partenaires.init = function(){
    $("li.description_logo").hide();
    Partenaires.addListeners();
};


/**
 * fonction d'initilisation des boutons :
 *  initilise les tableau contenant les li
 *  initilise les actions a effectuer sur les clicks
 * 
 */
Partenaires.addListeners = function(){
  tabLines = [];
  // etape 1 : on parcours chaque ul
    $("#partenaires .liste_partenaires").each(function(index1, elt1){ // index1 : position dans du ul, elt1 : ul courante
      tabLines[index1] = []; // on crée un tableau pour l'ul
      
      //etape 2 : on parcours chaque li de l'ul en cours
      $(this).children().each(function(index, elt) {
        tabLines[index1][index] = $(this);
        
        // on attribue un evenement click pour chaque li
        $(this).click(function(e){
          e.preventDefault(); // permet d'annuler le comportement par defaut du click, utile pour les <a href=""></a>'
          Partenaires.closeDescription(index1, index);
        });// fin click
      });
      
    });
};// fin de la fonction addListeners



/**
 *  ferme le bloc actuellement ouvert
 *  ouvre le bloc demandé (sauf si c'est le bloc déjà ouvert)
 */
Partenaires.closeDescription = function(indexLine, indexElt){
  // on test si rien n'a encore été cliqué alors on ouvre
  if(currentIndexLine === null && currentIndexElt === null){
    currentIndexLine = indexLine;
    currentIndexElt = indexElt;
    Partenaires.opendDescription();
  }
      // sinon si on est dans la même ligne
      else if(currentIndexLine == indexLine){
        // alors on test si on n'est pas sur le même élément
        if(currentIndexElt != indexElt){
          // on récupère l'id de l'élément cliqué, et on lui rajoute "_description" afin d'acceder à la box de description'
          var id = tabLines[currentIndexLine][currentIndexElt].attr("id")+"_description";
         $("#"+id).slideUp("500", function(){
            tabLines[currentIndexLine][currentIndexElt].removeClass("actif");
            currentIndexLine = indexLine;
            currentIndexElt = indexElt;
            Partenaires.opendDescription();
          });
        }  // sinon : on est sur l'élément actuellement ouvert alors on ne fait rien
      }
      // sinon on est pas dans la même ligne donc on ouvre forcément
      else{
          id = tabLines[currentIndexLine][currentIndexElt].attr("id")+"_description";
          $("#"+id).slideUp("500", function(){
            tabLines[currentIndexLine][currentIndexElt].removeClass("actif");
            currentIndexLine = indexLine;
            currentIndexElt = indexElt;
            Partenaires.opendDescription();
          });
      }
};


/**
 * ouvre la nouvelle box description
 */
Partenaires.opendDescription = function(){
  var id = tabLines[currentIndexLine][currentIndexElt].attr("id")+"_description";
   $("#"+id).slideDown("500", function(){
     tabLines[currentIndexLine][currentIndexElt].addClass("actif");
   });
};



var tabLines = []; // tableau qui contient chaque ligne (chaque ligne contenant ses elements)
var currentIndexLine = null; // index de la ligne en cours
var currentIndexElt = null; // index de l'element en cours
/*
$(document).ready(function() {
    // Masquage des descriptions
    $("li.description_logo").hide();
    addListeners();
});
*/


})();
