
/* PAGER */

var currentPageNumber = {};

function initPager(element, nbItemsPerPage, separator, selectedIndex) {
  var nbItems = $('.' + element + ' .page_item').length;
  var nbPages = Math.ceil(nbItems/nbItemsPerPage);

  // Init navigation
  if ( nbPages > 1 ) {
    for (i = 0 ; i < nbPages; i++) {
      var sep = ( i < nbPages - 1 ? separator : '' );
      $('.' + element + '_nav').append("<a style='cursor:pointer;' page='" + (i + 1) + "'>" + (i + 1) + "</a>" + sep);
      var link = $('.' + element + '_nav a').eq(i);
      link.click(function() {
	showPage(element, nbItemsPerPage, this.innerHTML);
	return false;
      });
    }
  
    // Hide all items
    for (i = 0 ; i < nbItems; i++) {
      $('.' + element + ' .page_item').eq(i).hide();
    }
    
    // Calc current page number
    var currentPage = 1;
    if( selectedIndex ) 
      Math.ceil(selectedIndex/nbItemsPerPage);
    
    // Show first page
    showPage(element, nbItemsPerPage, currentPage);
  }
}

function showPage(element, nbItemsPerPage, pageNumber) {
  // Hide page
  if ( currentPageNumber && currentPageNumber[element] ) {
    $('.' + element + '_nav a').eq(currentPageNumber[element] - 1).removeClass('selected');
    var start = (nbItemsPerPage * (currentPageNumber[element] - 1)) + 1;
    for (i = start; i < start + nbItemsPerPage; i++) {	
      $('.' + element + ' .page_item').eq(i - 1).hide();
    }  
  }

  // Show page
  currentPageNumber[element] = pageNumber;
  $('.' + element + '_nav a').eq(pageNumber - 1).addClass('selected');
  var start = (nbItemsPerPage * (pageNumber - 1)) + 1;
  for (i = start; i < start + nbItemsPerPage; i++) {	
    $('.' + element + ' .page_item').eq(i - 1).fadeIn("slow");
  }  

}

/* MODAL */

$(document).ready(function(){ 						   						   
  initModal('a.modal');   
});

function initModal(domMef){
  $(domMef).click(function() {	
    // on recupere l'url
    var a = this.href;    
    var w = $(window).width();
    var h = $(window).height();    
    showModalPopup(a, w, h);    
    return false;
  });
}

function showModalPopup(url, modal_w, modal_h ) {
	
  // plugin dimension
  var h = $(document).height(); 	/* hauteur du document */
  var w = $(document).width() - 10;     /* lageur du document */
  var r = $(document).scrollTop();	/* position du document */
  
  // on place les elements dans le body	
  $("body").append("<iframe id='cache_select'></iframe><div id='fond_modal'></div><div id='positionFrame'><div id='frame'></div></div>");
  
  // on applique les styles
  
  // cache les objets select de ie
  $('#cache_select').css({width:w, height:h, background:'transparent', position:'absolute', top:'0', left:'0', 'z-index':'99', border:'none',   filter:'alpha(opacity=0)', '-moz-opacity':'0', opacity:'0'});
  
  // applique un fond
  $('#fond_modal').css({width:w, height:h+20, position:'absolute', top:'0', left:'0', 'z-index':'100' });
  
  // pour position de la frame
  $('#positionFrame').css({width:w, height:h, position:'absolute', top:'0', left:'0', 'z-index':'110' });
  
  // decalage de la frame sur le haut de 20px
  $('#frame').css({'margin-top':r+20});
  
  // chargement de l'url dans l'iframe
  $('#frame').append('<iframe id="iframe" src="'+ url +'" scrolling="no" width="'+ modal_w +'" height="'+ modal_h +'" frameborder="no" allowTransparency="true"></iframe>');	
  
}

function closeModalPopup() {
  $('#cache_select').remove();
  $('#fond_modal').remove();
  $('#positionFrame').remove();
}

/* SHOW DETAIL */

var __current_detail__ = null;

function showDetail(name, id) {
  if ( __current_detail__ ) {
    var item1 = document.getElementById(name + "_short_" + __current_detail__);
    var item2 = document.getElementById(name + "_" + __current_detail__);
    item1.setAttribute("class", "show noprint");
    item1.setAttribute("className", "show noprint");
    item2.setAttribute("class", "hide print");
    item2.setAttribute("className", "hide print");
  }
  var item1 = document.getElementById(name + "_short_" + id);
  var item2 = document.getElementById(name + "_" + id);
  if ( item1 && item2 ) {
    item1.setAttribute("class", "hide noprint");
    item1.setAttribute("className", "hide noprint");
    item2.setAttribute("class", "show print");
    item2.setAttribute("className", "show print");
    __current_detail__ = id;
  }
}

