﻿jQuery.fn.jPaginate = function(options) {
	
	var defaults = {
    };
	var settings = $.extend({}, options, defaults);

	return this.each(function(){
			
		var $$ = $(this);
		
		var currentPage = settings.currentPage;   //当前页
		var countPerPage = settings.countPerPage; //每页显示行数
		var countRecord = settings.countRecord; //总行数
		var countPage =  Math.ceil(countRecord / countPerPage); //总页数
		
		var pagination ='<span>页' + currentPage + '/' + countPage + '</span>';
		
		//
		if (currentPage!=1)
		{
			pagination = pagination + '<a href="javascript:'+settings.func+'(1,'+countPerPage+');"> 第一页 </a>';
		}
		
		//
		var previousPage=currentPage-1;
		if (previousPage>0){
			pagination = pagination + '<a href="javascript:'+settings.func+'('+previousPage+','+countPerPage+');"> 上一页 </a>';
		}
		
		//
		var startPage;
		var endPage;
		if (currentPage<=5){
			startPage=1;
		}
		else
		{
			startPage=currentPage-5;
		}
		if (currentPage >= countPage-5){
			endPage=countPage;
		}
		else{
			endPage=currentPage+5;
		}
		for (i=startPage; i<=endPage; i++)
		{
			if (currentPage!=i){
				pagination+='<a href="javascript:'+settings.func+'('+i+','+countPerPage+');"> ['+i+'] </a>';
			}
			else{
				pagination+='<span><strong> ['+i+'] </strong></span>';
			}
		}

		//
		var nextPage = currentPage+1;
		if (nextPage<=countPage)
		{
			pagination+='<a href="javascript:'+settings.func+'('+nextPage+','+countPerPage+');"> 下一页 </a>';
		}
		if (currentPage!=countPage)
		{
			pagination+='<a href="javascript:'+settings.func+'('+countPage+','+countPerPage+');"> 最后一页 </a>';
		}
		
		//
		$$.html(pagination);
				
	});

		
}
