function AnimeOver() {
  typeBouton = this.className;
  Bouton = this;
  if (!typeBouton) {
    typeBouton = this.parentNode.id;
  }
  if (!typeBouton) {
    typeBouton = this.parentNode.parentNode.id;
    Bouton = this.parentNode;
  }
  Bouton.style.backgroundPosition='0px -'+Boutons[typeBouton]['espace']+'px';
}

function AnimeOut() {
  Bouton.style.backgroundPosition='0px 0px';
}

function AnimeDown() {
  this.style.backgroundPosition='0px -'+(2*Boutons[typeBouton]['espace'])+'px';
}

function AnimeUp() {
  this.style.backgroundPosition='0px -'+Boutons[typeBouton]['espace']+'px';
}

function InitAnime() {
// Initialise le tableau pour chaque bouton :
// * espace indique le nombre de pixels séparant verticalement deux états
// * Si série est N, la balise portant l'id est l'objet à animer.
//   Si série est O, l'animation portera sur chaque enfant de cette même balise
//   Si série est S, l'animation portera sur chaque sous-enfant de type A de cette même balise
// L'id correspond à la clef du tableau. Il définit aussi le nom du fichier gif du
// répertoire images à utiliser.
  Boutons = new Array();
  Boutons['presentation'] = new Array();
  Boutons['presentation']['espace'] = 34;
  Boutons['presentation']['série'] = 'O';
  Boutons['contact'] = new Array();
  Boutons['contact']['espace'] = 34;
  Boutons['contact']['série'] = 'O';
  Boutons['sabonner'] = new Array();
  Boutons['sabonner']['espace'] = 34;
  Boutons['sabonner']['série'] = 'O';
  Boutons['menuH'] = new Array();
  Boutons['menuH']['espace'] = 34;
  Boutons['menuH']['série'] = 'O';
  Boutons['menuV'] = new Array();
  Boutons['menuV']['espace'] = 34;
  Boutons['menuV']['série'] = 'S';

  Boutons['dernier'] = new Array();
  Boutons['dernier']['espace'] = 34;
  Boutons['dernier']['série'] = 'N';

  var boutons;
  for (var type in Boutons) {

    // Pour les séries, les boutons sont les enfants du conteneur id
    if (Boutons[type]['série'] == 'O') {
      boutons = document.getElementById(type).childNodes;

    // Pour les sous-séries, les boutons sont les petits-enfants du conteneur id
    // (les premiers enfants de chaque enfant DIV) de type A
    } else if (Boutons[type]['série'] == 'S') {
      boutons = new Array();
      var j = 0;
      var enfants = document.getElementById(type).childNodes;
      for (i=0; i < enfants.length; i++) {
        if (enfants[i].nodeName == 'DIV') {
          if (enfants[i].firstChild.nodeName == 'A') {
            boutons[j] = enfants[i].firstChild;
            j++;
          }
        }
      }

    // Sinon, les boutons sont les éléments div de classe type
    } else if (Boutons[type]['série'] == 'N') {
      boutons = new Array();
      var j = 0;
      var divs = document.getElementsByTagName('DIV');
      for (i=0; i < divs.length; i++) {
        if (divs[i].className == type) {
          boutons[j] = divs[i];
          j++;
        }
      }
    }

    // Initialise les boutons à animer : image, comportement. Seuls les noeuds A
    // sont pris en compte
    for (i in boutons) {
      if(boutons[i].nodeName == 'A') {
        boutons[i].style.backgroundRepeat = 'no-repeat';
        boutons[i].onmouseover = AnimeOver;
        boutons[i].onmousedown = AnimeDown;
        boutons[i].onmouseup = AnimeUp;
        boutons[i].onmouseout = AnimeOut;
      }
    }
  }
}


