/*
* JQuery require when user this lib
*/
(function($){
/*
* Pager widget
*/
$.fn.pager = function(settings) {
var nextStr = String.fromCharCode(84,105,7871,112);
var prevStr = String.fromCharCode(84,114,432,7899,99);
var config = {
count : 0,
maxDoc : 30,
curPage : "Page",
submitButton : ""
};
$.extend(config, settings);
this.each(function() {
// init
var fpageCount = config.count / config.maxDoc;
var pageCount = Math.round(fpageCount);
if (fpageCount > pageCount)
pageCount++;
if (pageCount < 2)
return;
var curPageID = "#" + config.curPage;
var curPage = $(curPageID).val();
if (isInteger(curPage))
curPageNum = parseInt(curPage);
// write out
$(this).addClass("pager");
var shtml = "";
for ( var i = 1; i <= 2; i++) {
shtml += "" + i + " ";
}
var firstPageInArr = curPageNum - 2;
if (curPageNum - firstPageInArr < 5)
firstPageInArr = curPage - 5;
if (firstPageInArr < 3)
firstPageInArr = 3;
var lastPageInArr = Math.min(firstPageInArr + 10, pageCount);
if (firstPageInArr <= lastPageInArr && firstPageInArr != 3)
shtml += "...";
for ( var i = firstPageInArr; i <= lastPageInArr; i++) {
shtml += "" + i + " ";
}
if (pageCount - lastPageInArr > 2) {
shtml += "...";
shtml += "" + (pageCount - 1) + " ";
shtml += "" + (pageCount) + " ";
} else if (pageCount - lastPageInArr == 2) {
shtml += "" + (pageCount - 1) + " ";
shtml += "" + (pageCount) + " ";
} else if (pageCount - lastPageInArr == 1) {
shtml += "" + (pageCount) + " ";
}
if (curPageNum > 1)
shtml = ""+prevStr+""
+ shtml;
if (curPageNum < pageCount)
shtml += ""+nextStr+"";
$(this).append(shtml);
var colAnc = $(this).find("a");
colAnc.each(function() {
var anc = $(this);
if (anc.text() == curPageNum)
anc.addClass("selected");
});
colAnc.click(function() {
var anc = $(this);
var ancVal = anc.text();
if (ancVal == prevStr) {
$(curPageID).val((curPageNum - 1));
var submitobj = document.getElementById(config.submitButton);
if (submitobj && anc.text() != curPageNum) {
submitobj.click();
}
} else if (ancVal == nextStr) {
$(curPageID).val((curPageNum + 1));
var submitobj = document.getElementById(config.submitButton);
var button = document.getElementById("chapnhan");
if (submitobj && anc.text() != curPageNum){
submitobj.click();
}
} else {
$(curPageID).val(anc.text());
var submitobj = document.getElementById(config.submitButton);
if (submitobj && anc.text() != curPageNum)
submitobj.click();
}
});
});
return this;
};
})(jQuery);