/**
 * La fonctionnalité clonePosition de Prototype pose problème sous IE et
 * Opera, elle a donc été réécrite ici.
 */
function fixedClonePosition(dest, src) {
 var l;
 if(Prototype.Browser.IE) l = (src.positionedOffset())[0];
 else if(Prototype.Browser.Opera) {
  l = (src.viewportOffset())[0]-(el.cumulativeScrollOffset())[0];
 } else l = (src.viewportOffset())[0];
 dest.setStyle({ left: l + 'px' });
}

function initNav(ids) {
 $A(ids).each(function(id) {
  var nav = $('nav-'+id); // Onglet.
  var list = $('nav-'+id+'-list'); // Sous-menu.
  // Fixe la largeur du sous-menu en fonction de la largeur courante
  // en y ajoutant une marge pour la mise en gras du texte au survol :
   list.setStyle({width: (list.getWidth() + 50)+'px'});
  // Placement du sous-menu relativement à l'onglet :
   fixedClonePosition(list, nav);
  // Observation des événements de souris :
   nav.observe('mouseover', function(e) {
    if(!list.visible()) list.show();
   });
   var ev = function(e) {
    var target = $(e.relatedTarget || e.toElement);
    if(target != list && target != nav &&
       !target.childOf(nav) && !target.childOf(list) &&
       list.visible()) list.hide();
   };
   list.observe('mouseout', ev);
   nav.observe('mouseout', ev);
 });
}

