﻿(function(c){c.fn.extend({smartpaginator:function(v){var a=c.extend({totalrecords:0,recordsperpage:0,length:8,next:"Next",prev:"Prev",first:"First",last:"Last",go:"Go",theme:"themecolor",display:"double",initval:1,datacontainer:"",dataelement:"div",onchange:null,vertical_th:!1},v);return this.each(function(){function q(d){j.find("span").remove();var b=(d+1)*a.recordsperpage;if(b>a.totalrecords)b=a.totalrecords;j.append(c("<span/>").append(c("<b/>").text(d*a.recordsperpage+1))).append(c("<span/>").text("-")).append(c("<span/>").append(c("<b/>").text(b))).append(c("<span/>").text("of")).append(c("<span/>").append(c("<b/>").text(a.totalrecords)))} function r(d){h.find("li").remove();if(!(a.totalrecords<=a.recordsperpage)){for(var b=d;b<d+a.length&&!(b==g);b++)h.append(c("<li/>").append(c("<a>").attr("id",b+1).addClass(a.theme).addClass("normal").attr("href","javascript:void(0)").text(b+1)).click(function(){e=d+c(this).closest("li").prevAll().length;f(e)}));q(d);i.val(d+1);h.find("li a").addClass(a.theme).removeClass("active");h.find("li:eq(0) a").addClass(a.theme).addClass("active");s(d)}}function f(d){var b=a.length/2;0<a.length%2&&(b=(a.length+ 1)/2);var f=0;if(0<=d&&d<g){d>=b&&(g-d>b?f=d-(b-1):g>a.length&&(f=g-a.length));r(f);q(e);h.find("li a").removeClass("active");i.val(e+1);h.find('li a[id="'+(d+1)+'"]').addClass("active");b=e*a.recordsperpage;d=b+a.recordsperpage;d>a.totalrecords&&(d=a.totalrecords%d);if(t&&null!=a.onchange)a.onchange(e+1,b,d);if(null!=l&&0<l.length){k.css("display","none");0<c(k[0]).find("th").length&&!1==a.vertical_th&&(c(k[0]).css("display",""),b++,d++);for(;b<d;b++)c(k[b]).css("display","")}s()}}function s(){g> a.length?(0<e?m.css("display",""):m.css("display","none"),e>a.length/2-1?n.css("display",""):n.css("display","none"),e==g-1?o.css("display","none"):o.css("display",""),g>a.length&&e<g-a.length/2-1?p.css("display",""):p.css("display","none")):(n.css("display","none"),m.css("display","none"),o.css("display","none"),p.css("display","none"))}var e=0,g=parseInt(a.totalrecords/a.recordsperpage);0<a.totalrecords%a.recordsperpage&&g++;var t=!1,j=c(this).addClass("pager").addClass(a.theme);j.find("ul").remove(); j.find("div").remove();j.find("span").remove();var l,k;""!=a.datacontainer&&(l=c("#"+a.datacontainer),k=c(""+a.dataelement+"",l));var h=c("<ul/>"),m=c("<div/>").text(a.prev).click(function(){e=parseInt(h.find("li a.active").text())-1;f(--e)}).addClass("btn"),o=c("<div/>").text(a.next).click(function(){e=parseInt(h.find("li a.active").text());f(e)}).addClass("btn"),n=c("<div/>").text(a.first).click(function(){e=0;f(0)}).addClass("btn"),p=c("<div/>").text(a.last).click(function(){e=g-1;f(e)}).addClass("btn"), i=c("<input/>").attr("type","text").keydown(function(a){var b;b=i;var c=b.get(0).selectionStart,e=b.get(0).selectionEnd,f=document.selection;b=f&&0!=f.createRange().text.length?!0:!f&&0!=b.val().substring(c,e).length?!0:!1;b&&i.val("");48<=a.which&&58>a.which?(b=parseInt(i.val()+(a.which-48)),0<b&&b<=g||a.preventDefault()):8==a.which||46==a.which||a.preventDefault()}),u=c("<input/>").attr("type","button").attr("value",a.go).addClass("btn").click(function(){if(""==i.val())return!1;e=parseInt(i.val())- 1;f(e)});j.append(n).append(m).append(h).append(o).append(p).append(c("<div/>").addClass("short").append(i).append(u));"single"==a.display&&(u.css("display","none"),i.css("display","none"));r(0);if(0==a.initval)a.initval=1;e=a.initval-1;f(e);t=!0})}})})(jQuery);

