(function(a){a.fn.addActiveClass=function(e,d){if(e==d){return this.addClass("active")}else{return this}};a.tools=a.tools||{version:{}};a.tools.version.limePaginate="0.1";var b=null;function c(n,l){var p=this;if(!b){b=p}function m(q,r){a(p).bind(q,function(t,s){if(r&&r.call(this,s.index)===false&&s){s.proceed=false}});return p}a.each(l,function(q,r){if(a.isFunction(r)){m(q,r)}});var i=0;var f=a(n).attr("id");var d=null;var o=null;function k(r,q){return r.indexOf("#")!=-1?a(r).eq(0):q.siblings(r).eq(0)}var g=a(l.pager,n);var j=a(l.items,n);var h=a(l.nextPage,n);var e=a(l.prevPage,n);a.extend(p,{getIndex:function(){return i},getPageIndex:function(){return Math.ceil(i/l.itemsPerPage)},getSize:function(){if(l.ajax){return d.length}else{return p.getItems().size()}},getSizeStart:function(){var q=((this.getIndex()+1)*l.itemsPerPage)-l.itemsPerPage;return q+1},getSizeEnd:function(){var q=(this.getIndex()+1)*l.itemsPerPage;if(q>this.getSize()){var q=this.getSize()}return q},getPagerSize:function(){return Math.ceil(this.getSize()/l.itemsPerPage)},getItems:function(){return j},getPager:function(){return g},getItemsPerPage:function(q){return j.slice(this.getIndex()*l.itemsPerPage,(this.getIndex()+1)*l.itemsPerPage)},nextPage:function(q){return this.setPage(this.getIndex()+1,q)},prevPage:function(q){return this.setPage(this.getIndex()-1,q)},setPage:function(r,q){i=r;if(l.ajax){this.repaginateAjax(r,q)}else{this.repaginateNormal(r,q)}this.buildPager();if(a.isFunction(l.afterPaginate)){l.afterPaginate(p)}},getCleanUrl:function(){return document.location.toString().split("#")[0]},buildPager:function(s){var w=0;g.find(l.pagerLinks).empty();var v=(this.getIndex()-l.pagerNumDisplay);var r=(this.getIndex()+l.pagerNumDisplay);if(v<0){r=r+(-1*v)}if(r>this.getPagerSize()-1){v=v-(-1*((this.getPagerSize()-1)-r))}for(var u=0;u<this.getPagerSize();u++){if(u==0||u==this.getPagerSize()-1||((u>=v)&&(u<=r))){if((u-w)>1){a(l.pagerDotText).appendTo(a(l.pagerLinks,g))}var t=(a.isFunction(l.pagerAnchorBuilder))?l.pagerAnchorBuilder(u,f):'<span class="page"><a href="'+p.getCleanUrl()+"#page-"+(u+1)+'">'+(u+1)+"</a></span>";if(!t){return}var q=a(t);q.bind("click",{newPage:u},function(x){var y=a("a",this).attr("href").replace(/^.*#/,"");a.historyLoad(y);return false}).addActiveClass(u,this.getIndex()).appendTo(a(l.pagerLinks,g));w=u}}if(this.getIndex()===0){e.addClass(l.disabledClass)}else{e.removeClass(l.disabledClass).find("a").attr("href",p.getCleanUrl()+"#page-"+(this.getIndex()))}if(this.getIndex()>=this.getPagerSize()-1){h.addClass(l.disabledClass)}else{h.removeClass(l.disabledClass).find("a").attr("href",p.getCleanUrl()+"#page-"+(this.getIndex()+2))}if(l.pagerCurrentPage){a(l.pagerCurrentPage,n).html(this.getIndex()+1)}if(l.pagerCurrentEntryStart){a(l.pagerCurrentEntryStart,n).html(this.getSizeStart())}if(l.pagerCurrentEntryEnd){a(l.pagerCurrentEntryEnd,n).html(this.getSizeEnd())}if(l.pagerTotalEntries){a(l.pagerTotalEntries,n).html(this.getSize())}if(l.pagerTotalPages){a(l.pagerTotalPages,n).html(this.getPagerSize())}},repaginateNormal:function(q,r){this.getItems().hide().slice(this.getIndex()*l.itemsPerPage,(this.getIndex()+1)*l.itemsPerPage).show();return p},repaginateAjax:function(q,r){a(l.itemBox,n).empty();var s=a(d).slice(this.getIndex()*l.itemsPerPage,(this.getIndex()+1)*l.itemsPerPage);s.each(function(t,u){a(l.itemBox,n).append(p.replaceTemplateVariables(o,u,""))});return p},initialiseAjax:function(q){o=a(l.ajax.template,n).html();a.getJSON(l.ajax.url,l.ajax.params,function(r){d=r;q()})},_history:function(t,r){var s=0;if(l.pagerAnchorJump){window.scroll(0,0)}if(t){var q=t.split("-");switch(q[0]){case"page":p.setPage(t.split("-")[1]-1);break;default:p.setPage(l.startPage);break}}else{p.setPage(l.startPage)}},replaceTemplateVariables:function(r,q,u){for(var t in q){var s=new RegExp("%"+u+t+"%","g");r=r.replace(s,q[t]);if(typeof q[t]=="object"){r=p.replaceTemplateVariables(r,q[t],u+t+".")}}return r}});if(l.ajax){p.initialiseAjax(function(){a.historyInit(p._history)})}else{a.historyInit(p._history,p.getCleanUrl())}if(p.getSize()>l.itemsPerPage){g.removeClass("hidden")}h.add(e).click(function(){var q=a("a",this).attr("href").replace(/^.*#/,"");a.historyLoad(q);return false})}a.fn.limePaginate=function(d){var e=this.eq(typeof d=="number"?d:0).data("limePaginate");if(e){return e}var f={startPage:0,pagerNumDisplay:2,pagerDotText:"<span>...</span>",itemsPerPage:10,lastPage:0,pager:".paginationBox",items:".listItem",itemBox:".itemsBox",api:false,disabledClass:"disabled",nextPage:".next",prevPage:".prev",pagerLinks:".pages",pagerCurrentPage:".currentPage",pagerTotalPages:".totalPages",pagerCurrentEntryStart:".currentEntryStart",pagerCurrentEntryEnd:".currentEntryEnd",pagerTotalEntries:".totalEntries",pagerAnchorBuilder:null,pagerAnchorJump:true,afterPaginate:function(g){a(".pages",g.getPager()).each(function(){$pagerChilds=a(this).children();$pagerChilds.eq(0).addClass("firstChild");$pagerChilds.eq($pagerChilds.length-1).addClass("lastChild");$pagerChilds.removeClass("beforeDots").removeClass("afterDots")});$dots=a(".dots",g.getPager());if($dots[0]){$dots.prev().addClass("beforeDots");$dots.next().addClass("afterDots")}}};a.extend(f,d);this.each(function(){e=new c(a(this),f);a(this).data("limePaginate",e)});return f.api?e:this}})(jQuery);
