var paginationActive, numPages, pageIndex;

$(document).ready(function() {
	itemsPerPage = 12;
	pageIndex = 0;
	setupPagination(pageIndex,itemsPerPage);
});

function updatePagination()
{
	// alert(firstIndex + ", " + lastIndex + ", " + numPages);
	if (paginationActive)
	{
		$("#prevButton, #pageNumbers, #nextButton").show();
		
		if (pageIndex > 0) // not first page
		{
			$("#prevButton a").show();
			$("#prevButton span").hide();
		}
		else // first page
		{
			$("#prevButton a").hide();
			$("#prevButton span").show();
		}
		
		if ( pageIndex < (numPages - 1) ) // not last page
		{
			$("#nextButton a").show();
			$("#nextButton span").hide();
		}
		else // last page
		{
			$("#nextButton a").hide();
			$("#nextButton span").show();
		}
	}
	else
	{
		$("#prevButton, #pageNumbers, #nextButton").hide();
	}
	
}

function setupPagination(pageIndex,itemsPerPage)
{	
	var numItems = $(".pagedImageLinks li").length;
	
	numPages = Math.ceil(numItems / itemsPerPage);
	
	// alert(numItems + ", " + itemsPerPage + ", " + numPages);
	if (numPages > 1)
	{
		$(".pagination").append('<div id="prevButton"><a href="">Previous</a><span>Previous</span></div>');
		$(".pagination").append('<div id="pageNumbers"></div>');

		for (var i=0; i<numPages; i++)
		{
			var start = i * itemsPerPage;
			var end;
			if (i == numPages - 1)
			{
				end = numItems;
			}
			else 
			{
				end = start + itemsPerPage;
			}
			$(".pagedImageLinks li").slice(start, end).wrapAll('<div class="imageLinksPage"></div>');
			
			if (i > 0)
			{
				$("#pageNumbers").append('|');
			}
			$("#pageNumbers").append(' <a href="">' + (i + 1).toString() + '</a> ');
		}
	
		$(".pagination").append('<div id="nextButton"><a href="">Next</a><span>Next</span></div>');
		$("#prevButton, #pageNumbers, #nextButton").hide();
		
		$("#pageNumbers a").each(function(i){
			$(this).click(function()
			{
				showPage(i);
				return false;
			});
		});
		
		$("#nextButton a").click(function(){
			nextPage();
			return false;
		});
		$("#prevButton a").click(function(){
			prevPage();
			return false;
		});
		paginationActive = true;
	}
	else
	{
		paginationActive = false;
	}
		
	showPage(pageIndex);
	$(".pagedImageLinks").show();

}

function nextPage()
{
	showPage(pageIndex + 1);
}

function prevPage()
{
	showPage(pageIndex - 1);
}

function showPage(i)
{
	$("#pageNumbers a").removeClass("selected");
	$("#pageNumbers a:eq(" + i + ")").addClass("selected");
	$(".imageLinksPage").hide();
	$(".imageLinksPage").eq(i).show();
	pageIndex = i;
	updatePagination();	
}
