$(document).ready(function() {
				
	//preload the loading image:
	var cacheLoader = document.createElement('img');
	cacheLoader.src = 'images/loading-bar.gif';
	
	//show these controls (hidden from non-JS enabled browsers):
	$('#paging-select').show();
	$('#paging-bottom').show();
	
	$('#page-size').change(function(){
		//paginate again but reset page to first:
		vistula.paginate('first');
	});	
	
	$('#paging-select').change(function(){
		//paginate again but reset page to first:
		vistula.paginate('first');
	});
	
	var $links = $(".paging-link");
	$links.click(function(e){
		
		e.preventDefault();
		
		//check this link hasn't been disabled:
		if($(this).hasClass('disablelink')) return false;
				
		vistula.paginate($(this).attr("id"));
		
		return false;
	});

});

vistula.paginate = function(id){
	
	$('#paging-select').hide();
	$('#paging-bottom').hide();
	$('#paging-control').append('<span id="page-loading"><img src="images/loading-bar.gif"/></span>');
	
	//work out how may pages there are:
	var pageSize = $("#page-size option:selected").val();
	vistula.noPages = Math.ceil(vistula.totalCount/pageSize);
		
	switch(id){
		case 'prev':
			if(vistula.pageNo>1) vistula.pageNo--;
			break;
		
		case 'next':
			vistula.pageNo++;
			break;
		
		case 'first':
			vistula.pageNo=1;
			break;
			
		case 'last':
			vistula.pageNo=vistula.noPages;
			break;
	}
	
	if(vistula.pageNo==1) {
		$('#prev, #first').addClass('disablelink');
	} else {
		$('#prev, #first').removeClass('disablelink');
	}
	
	if(vistula.pageNo==vistula.noPages) {
		$('#next, #last').addClass('disablelink');
	} else {
		$('#next, #last').removeClass('disablelink');
	}		

	var url =  vistula.pagingUrl + "&p="+vistula.pageNo+"&s="+pageSize+"&o="+$("#paging-select option:selected").val()+"&v=ajax #product-loop";	
	$('#product-loop').fadeOut(0, vistula.load(url));
	$('#page-number').html(vistula.pageNo);
	$('#page-count').html(vistula.noPages);
}

vistula.load = function(url){
	$('#product-loop').load( url, vistula.loaded );
}

vistula.loaded = function(){
	$('#product-loop').fadeIn('slow', function(){
		$('#page-loading').remove();
		$('#paging-select').show();
		$('#paging-bottom').show();
	});
	
}

