/**
 * 系统分页模块
 */
utils.paginationSys = {
		
		/**
		 * dest : 装载分页容器 $对象
		 * pageCount : 页总记录数
		 * pageNo : 当前页数  第一页下标为 0 , 以此类推
		 * cb : 分页完成后回调函数
		 * preNum : 中心页前显示页数
		 * allNum ：总显示页数
		 * displayNoDataFlag : 是否显示无数据提示
		 */
		turnPage : function(dest , pageCount , pageNo , cb , preNum , allNum){
			if(!preNum)
				preNum = 4;
			if(!allNum)
				allNum = 8;
			
			if(pageCount <= pageNo){
				if(pageCount == 0 || pageNo < 0){
						dest.html('<div>暂无数据</div>');
				}else{
					cb(pageNo - 1);
				}
				return false;
			}
			var page = '';
			var pageNo = pageNo;
			dest.html('');
			
		    if(pageCount > 1){
		        if(pageNo > 0){
		            page += '<a href="javascript:void(0);" class="first">首页</a>' + 
		                    '<a href="javascript:void(0);" class="prev">上一页</a>';
		        }
		        var _sidx = (pageNo - preNum >= 0 ? (pageNo - preNum) : 0);
		        var _eidx = ((_sidx + allNum) < pageCount ? (_sidx + allNum) : (pageCount-1));
		        if((_eidx - _sidx) < allNum ){
		        	_sidx = _eidx - allNum;
		        	if(_sidx < 0){
		        		_sidx = 0;
		        	}
		        }
		        for(var i= _sidx; i <= _eidx; i++){
		            if(i == pageNo){ 
		                page += '<a href="javascript:void(0);" class="current">'+(i+1)+'</a>';
		            }else{
		                page += '<a href="javascript:void(0);" class="no_current">'+(i+1)+'</a>';
		            }
		        }
		        if(pageNo < (pageCount-1)){
		            page += '<a href="javascript:void(0);" class="next">下一页</a>' + 
		                    '<a href="javascript:void(0);" class="last">末页</a>';
		        }
		    }
		    dest.html(page);
		    if(page){
		    	utils.paginationSys.bindBtn(dest , pageNo , cb , pageCount);
		    }
		},
		
		bindBtn : function(dest , pageNo , cb , pageCount){
			
			dest.find('.first').click(function(){
				cb(0);
			});
			
			dest.find('.prev').click(function(){
				cb(pageNo - 1);
			});
			
			dest.find('.next').click(function(){
				cb(pageNo + 1);
			});
			
			dest.find('.last').click(function(){
				cb(pageCount - 1);
			});
			
			dest.find('.no_current').click(function(e){
				var _cell = $(e.target);
				var value = parseInt(_cell.html());
				cb(value - 1);
			});
		}
};
