$(function() {
  loadPaging();
});

function loadPaging() {
  if($('.paging').hasClass('images')) var resultsPerPage = 6;
  else var resultsPerPage = 4;

  $('.paging a.prev').addClass('disabled');
  $('.paging a.number:first').addClass('current');
  if($('.paging a.number').size() == 1) $('.paging a.next').addClass('disabled');
  $('.paging > div:lt('+resultsPerPage+')').show();

  $('.paging a.number').click(function() {
    var pageNumber = $(this).parent().children('a.number').index(this) + 1;
    switchPage(pageNumber);
  });

  $('.paging a.prev').click(function() {
    if($(this).hasClass('disabled') == false) {
      var pageNumber = $(this).parent().children('a.number').index($('.paging a.current'));
      switchPage(pageNumber);
    }
  });
  
  $('.paging a.next').click(function() {
    if($(this).hasClass('disabled') == false) {
      var pageNumber = $(this).parent().children('a.number').index($('.paging a.current')) + 2;
      if(pageNumber == 1) pageNumber = 2;
      switchPage(pageNumber);
    }
  });

  function switchPage(pageNumber) {
    var imgSetLast = pageNumber * resultsPerPage;
    $('.paging > div').hide();
    if(pageNumber==1) $('.paging > div:lt('+resultsPerPage+')').show();
    else $('.paging > div:lt('+imgSetLast+'):gt('+(imgSetLast-resultsPerPage-1)+')').show();

    $('.paging a.current').removeClass('current');
    $('.paging a.number:eq('+(pageNumber-1)+')').addClass('current');
    
    var lastPageNumber = $('.paging:has(a)').children('a.number').length;
    if(pageNumber == lastPageNumber) $('.paging a.next').addClass('disabled');
    else $('.paging a.next').removeClass('disabled');
    
    if(pageNumber == 1) $('.paging a.prev').addClass('disabled');
    else $('.paging a.prev').removeClass('disabled');
  }

}