(function ($) {
  // VERTICALLY ALIGN FUNCTION
  $.fn.vAlign = function() {
    return this.each(function(i){
    var ah = $(this).height();
    var ph = $(this).parent().height();
    var mh = (ph - ah) / 2;
    $(this).css('margin-top', mh);
    });
  };
  
  $.fn.maxToWindow = function() {
    var valeur = $(window).height() - this.outerHeight();      
    if(valeur > 0) this.height(this.height() + valeur);
    return this;
  };
  
  $.fn.maxToElement = function(el) {
    var valeur = el.outerHeight() - this.outerHeight();     
    if(valeur > 0) this.height(this.height() + valeur);
    return this;
  };                   
  
  $.fn.popMenu = function(options) {
    return this.each(function(i) {
      //Settings de base
      var settings = {
        class_pop: 'pop',
        class_menu: 'pop_menu',  
        class_toggle: 'pop_toggle',  
        class_menu_actif: 'pop_menu_actif',   
        class_toggle_actif: 'pop_toggle_actif'     
      }
          
      var ishover = false;
      
      var element = $(this);
      if(options) $.extend(settings, options);     
      
      //INIT                  
      element.addClass(settings.class_pop);
      var html = $(this).html();
      element.html('');
      element.css({ zIndex: (100 - i) });    
      element.prepend('<div class="' + settings.class_menu + '"></div>');
      element.append('<div class="' + settings.class_toggle + '">' + html + '</div>');      
      
      element.children('.' + settings.class_menu).mouseover(function() {
        ishover = true; 
      }); 
       
      element.children('.' + settings.class_menu).mouseout(function() {
        ishover = false; 
      });                                                
      
      $(this).children('.' + settings.class_menu).click(function() {
        element.children('.' + settings.class_menu).toggleClass(settings.class_menu_actif);  
        element.children('.' + settings.class_toggle).toggleClass(settings.class_toggle_actif);  
      });   
      
      $(document).click(function(){ 
        if(!ishover) {
          element.children('.' + settings.class_menu).removeClass(settings.class_menu_actif);
          element.children('.' + settings.class_toggle).removeClass(settings.class_toggle_actif);
        } 
      });
    });  
  }
})(jQuery);

$(window).load(function(){
  $('#menu div a').vAlign();
  
  $('#menu div').biggerlink();
  $('#liens li').biggerlink();    
                      
  $('#tabs li').click(function () { $(this).find('a:first').trigger('click'); }); //Une sorte de biggerlink pour les onglets             
  $("#tabs").tabs({ fx: { opacity: 'toggle', duration: 'slow' } }).tabs("rotate", 6000, false); //Onglets + rotation automatique          
  
  $('.aa, .ag, .ap').popMenu();                                       
                                            
  
  //Si la page est plus petite que la fenetre on etire le fond.
  $('#fond').maxToWindow();
  $(window).resize(function(){
    $('#fond').maxToWindow();
  });
                                
  $('#article').maxToElement($('#liens'));
});      