var pagingUrl = '/getListings.php';
var currentPage = 1;
var lastPageNum = 1;

function showLoading() {
  jQuery('#loading').show();
}

function hideLoading() {
  jQuery('#loading').hide();
}

jQuery(document).ready(function($){
  function setContent() {
      jQuery('#listings').html('');

      jQuery('#pagination li').each(function(){
        jQuery(this).removeClass('current');
      });
      jQuery('#page-'+currentPage).addClass('current');

      showLoading();
      jQuery('#listings').load(pagingUrl + '?page=' + currentPage + '&catId=' + catId, function(){
        hideLoading();
        jQuery('#listings').slideDown('normal', function(){
          scrollToListings();
        });
      });

      jQuery('.prev,.next').removeClass('disabled');
      if ( currentPage == 1 ) {
        jQuery('.prev').addClass('disabled');
      } else if ( currentPage == lastPageNum ) {
        jQuery('.next').addClass('disabled');
      }
  }

  function scrollToListings() {
    if ( catId != 0 ) {
      $.scrollTo( $('#pagination') , 1000 );
    }
  }

  lastPageNum = parseFloat(jQuery('#pagination li.pages:last').attr('id').replace('page-', ''));

  jQuery('#listings').load(pagingUrl + '?page=1&catId=' + catId, function(){
    hideLoading();
    if ( currentPage == lastPageNum ) {
      jQuery('.next').addClass('disabled');
    }
    jQuery('#listings').slideDown('normal', function(){
      scrollToListings();
    });
  });

  jQuery('#pagination li.prev').bind('click', function(){
    currentPage -= 1;
    if ( currentPage < 1 ) return false;
    setContent();
  });

  jQuery('#pagination li.next').bind('click', function(){
    currentPage += 1;
    if ( currentPage > lastPageNum ) return false;
    setContent();
  });

  jQuery('#pagination li.pages').bind('click', function(){
    currentPage = parseFloat(jQuery(this).attr('id').replace('page-', ''));
    setContent();
  });
});
