

;var IONF = (function(){

  /**********
    Membre privé à l'objet site
  **********/
  var that = this;

  var preparePaginContent = function(conf) {
    /* Défini la page à afficher à partir du hash. S'il est vide, prend le défaut */
    var cur_hash = (conf.new_hash) ? conf.new_hash : ((self.document.location.hash.substring(1) != "") ? self.document.location.hash : conf.default_hash);
    /* Cache tous les pages sur le load */
    jQuery('div.' + conf.page_class).hide();
    /* Affiche la page courrante */
    jQuery('div' + cur_hash + '-content').show();
    var mnus = jQuery('#' + conf.menu_id + ' ul > li');
    for(var i=0; mnus[i]; i++) {
      var lnk = jQuery(mnus[i]).children('a');
      if(lnk[0].href.indexOf(cur_hash) > 0) {
        jQuery(mnus[i]).addClass('active');
        jQuery(lnk).addClass('active');
      } else {
        jQuery(mnus[i]).removeClass('active');
        jQuery(lnk).removeClass('active');
      }
      // si un new_hash est défini, c'est un update donc pas besions de gérer les clicks
      if(!conf.new_hash) {
        jQuery(lnk).unbind('click');
        jQuery(lnk).bind('click', conf, function(event) {
          var cfg = event.data;
          cfg.new_hash = this.href.substring(this.href.indexOf('#'));
          IONF.doPaginContent(cfg);
        });
      }
    }
  };
  
  	/*Permet de passer un paramètre pour le hash.  À utiliser lorsqu'une sous-section est appelée à partir du contenu d'une autre sous-section.*/
  	
    var preparePaginContentExc = function(conf, cur_hash) {
    /* Défini la page à afficher à partir du hash. S'il est vide, prend le défaut */
    //var cur_hash = (conf.new_hash) ? conf.new_hash : ((self.document.location.hash.substring(1) != "") ? self.document.location.hash : conf.default_hash);
    
    //alert(cur_hash);
    
    /* Cache tous les pages sur le load */
    jQuery('div.' + conf.page_class).hide();
    /* Affiche la page courrante */
    jQuery('div' + cur_hash + '-content').show();
    var mnus = jQuery('#' + conf.menu_id + ' ul > li');
    for(var i=0; mnus[i]; i++) {
      var lnk = jQuery(mnus[i]).children('a');
      if(lnk[0].href.indexOf(cur_hash) > 0) {
        jQuery(mnus[i]).addClass('active');
        jQuery(lnk).addClass('active');
      } else {
        jQuery(mnus[i]).removeClass('active');
        jQuery(lnk).removeClass('active');
      }
      // si un new_hash est défini, c'est un update donc pas besions de gérer les clicks
      if(!conf.new_hash) {
        jQuery(lnk).unbind('click');
        jQuery(lnk).bind('click', conf, function(event) {
          var cfg = event.data;
          cfg.new_hash = this.href.substring(this.href.indexOf('#'));
          IONF.doPaginContent(cfg);
        });
      }
    }
  };

  /**********
    Membre public à l'objet site
  **********/
  return {
    init: function() {
      // alert('init ok!');
    },
    doPaginContent: function(conf) {
      preparePaginContent(conf);
    },    
    doPaginContentExc: function(conf, cur_hash) {
      preparePaginContentExc(conf, cur_hash);
    }
    
  };

})();


