﻿jQuery.fn.quickpaginate = function (a) { a = jQuery.extend({ perpage: 6, pager: null, showcounter: true, prev: "qp_next", next: "qp_prev", pagenumber: "qp_pagenumber", totalnumber: "qp_totalnumber", counter: "qp_counter", prevText: "«", nextText: "»" }, a); var b; var c; var d = false; var e = true; var f = jQuery(this); var g; var h; var i = function () { f.show(); c = f.size(); if (f.size() > a.perpage) { f.filter(":gt(" + (a.perpage - 1) + ")").hide(); b = a.perpage; l() } }; var j = function () { if (!d) { var i = b + a.perpage; f.hide(); f.slice(b, i).show(); b = i; if (b >= c) { d = true; g.addClass("qp_disabled") } if (a.showcounter) a.pager.find("." + a.pagenumber).text(b / a.perpage); h.removeClass("qp_disabled"); e = false } }; var k = function () { if (!e) { var c = b - a.perpage; f.hide(); f.slice(c - a.perpage, c).show(); b = c; if (b == a.perpage) { e = true; h.addClass("qp_disabled") } if (a.showcounter) a.pager.find("." + a.pagenumber).text(b / a.perpage); g.removeClass("qp_disabled"); d = false } }; var l = function () { if (a.pager === null) { a.pager = jQuery('<div class="qc_pager"></div>'); f.eq(f.size() - 1).after(a.pager) } var b = $('<a class="' + a.prev + '" href="#">' + a.prevText + '</a><a class="' + a.next + '" href="#">' + a.nextText + "</a>"); jQuery(a.pager).append(b); if (a.showcounter) { var d = '<span class="' + a.counter + '"><strong><span class="' + a.pagenumber + '"></span></strong> de <span class="' + a.totalnumber + '"></span></span>'; a.pager.find("." + a.prev).after(d); a.pager.find("." + a.pagenumber).text(1); a.pager.find("." + a.totalnumber).text(Math.ceil(c / a.perpage)) } g = a.pager.find("." + a.next); h = a.pager.find("." + a.prev); h.addClass("qp_disabled"); g.click(function () { j(); return false }); h.click(function () { k(); return false }) }; i() }
