/*
* jQuery pager plugin
* Version 1.0 (12/22/2008)
* @requires jQuery v1.2.6 or later
*
* Example at: http://jonpauldavies.github.com/JQuery/Pager/PagerDemo.html
*
* Copyright (c) 2008-2009 Jon Paul Davies
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
* 
* Read the related blog post and contact the author at http://www.j-dee.com/2008/12/22/jquery-pager-plugin/
*
* This version is far from perfect and doesn't manage it's own state, therefore contributions are more than welcome!
*/﻿
(function($){$.fn.pager=function(options){var opts=$.extend({},$.fn.pager.defaults,options);return this.each(function(){$(this).empty().append(renderpager(parseInt(options.pagenumber),parseInt(options.pagecount),options.buttonClickCallback));$('.pages li').mouseover(function(){document.body.style.cursor="pointer";}).mouseout(function(){document.body.style.cursor="auto";});});};function renderpager(pagenumber,pagecount,buttonClickCallback){var $pager=$('<ul class="pages"></ul>');$pager.append(renderButton('<<',pagenumber,pagecount,buttonClickCallback)).append(renderButton('<',pagenumber,pagecount,buttonClickCallback));var startPoint=1;var endPoint=9;if(pagenumber>4){startPoint=pagenumber-4;endPoint=pagenumber+4;}
if(endPoint>pagecount){startPoint=pagecount-8;endPoint=pagecount;}
if(startPoint<1){startPoint=1;}
for(var page=startPoint;page<=endPoint;page++){var currentButton=$('<li class="page-number">'+(page)+'</li>');page==pagenumber?currentButton.addClass('pgCurrent'):currentButton.click(function(){buttonClickCallback(this.firstChild.data);});currentButton.appendTo($pager);}
$pager.append(renderButton('>',pagenumber,pagecount,buttonClickCallback)).append(renderButton('>>',pagenumber,pagecount,buttonClickCallback));return $pager;}
function renderButton(buttonLabel,pagenumber,pagecount,buttonClickCallback){var $Button=$('<li class="pgNext">'+buttonLabel+'</li>');var destPage=1;switch(buttonLabel){case"<<":destPage=1;break;case"<":destPage=pagenumber-1;break;case">":destPage=pagenumber+1;break;case">>":destPage=pagecount;break;}
if(buttonLabel=="<<"||buttonLabel=="<"){pagenumber<=1?$Button.addClass('pgEmpty'):$Button.click(function(){buttonClickCallback(destPage);});}
else{pagenumber>=pagecount?$Button.addClass('pgEmpty'):$Button.click(function(){buttonClickCallback(destPage);});}
return $Button;}
$.fn.pager.defaults={pagenumber:1,pagecount:1};})(jQuery);
