jQuery.fn.pagination=function(a,b){b=jQuery.extend({items_per_page:10,num_display_entries:10,current_page:0,num_edge_entries:3,link_to:"javascript:;",prev_text:"上一页",next_text:"下一页",ellipse_text:"...",prev_show_always:true,next_show_always:true,reDraw:true,callback:function(){return false;},skip_page_opt:null},b||{});return this.each(function(){function f(){return Math.ceil(a/b.items_per_page);}function h(){var k=Math.ceil(b.num_display_entries/2);var l=f();g=parseInt(g,10);k=parseInt(k,10);var j=l-b.num_display_entries;var m=g>k?Math.max(Math.min(g-k,j),0):0;var i=g>k?Math.min(g+k,l):Math.min(parseInt(b.num_display_entries,10),l);return[m,i];}function e(j,i){g=j;if(b.reDraw){c();}b.callback(j,d);}function c(){d.empty();var k=h();var o=f();if(k[0]==k[1]||o<=1){return false;}var q=document.createDocumentFragment();var n=function(i,r){i=i<0?0:(i<o?i:o-1);r=jQuery.extend({text:i+1,classes:""},r||{});if(i==g){var s=$("<span class='current'>"+(r.text)+"</span>");}else{var s=$("<a hideFocus='true' onclick='return false;'>"+(r.text)+"</a>").bind("click",function(t){e(i,t);return false;}).attr("href",b.link_to.replace(/__id__/,i));}if(r.classes){s.addClass(r.classes);}q.appendChild(s.get(0));};var p=function(){var i=document.createElement("span");i.innerHTML=b.ellipse_text;i.className="more";q.appendChild(i);};if(b.prev_text&&(g>0||b.prev_show_always)){n(g-1,{text:b.prev_text,classes:"prev"});}if(k[0]>0&&b.num_edge_entries>0){var j=Math.min(b.num_edge_entries,k[0]);for(var l=0;l<j;l++){n(l);}if(b.num_edge_entries<k[0]&&b.ellipse_text){p();}}for(var l=k[0];l<k[1];l++){n(l);}if(k[1]<o&&b.num_edge_entries>0){if(o-b.num_edge_entries>k[1]&&b.ellipse_text){p();}var m=Math.max(o-b.num_edge_entries,k[1]);for(var l=m;l<o;l++){n(l);}}if(b.next_text&&(g<o-1||b.next_show_always)){n(g+1,{text:b.next_text,classes:"next"});}if(b.skip_page_opt){skipElem=document.createElement(b.skip_page_opt.tagName);if(skipElem.nodeType===1&&b.skip_page_opt.className){skipElem.className=b.skip_page_opt.className;}skipElem.innerHTML=b.skip_page_opt.cot||"";q.appendChild(skipElem);}d.get(0).appendChild(q);}var g=Math.min(b.current_page,Math.max(f()-1,0));var d=jQuery(this);a=(!a||a<0)?1:a;b.items_per_page=(!b.items_per_page||b.items_per_page<0)?1:b.items_per_page;this.selectPage=function(i){e(i);};this.prevPage=function(){if(g>0){e(g-1);return true;}else{return false;}};this.nextPage=function(){if(g<f()-1){e(g+1);return true;}else{return false;}};c();if(b.firstCall){b.callback(g);b.firstCall=false;}});};