(function($, window, document, undefined) {
	//定义分页类
	function Paging(element, options) {
		this.element = element;
		//传入形参
		this.options = {
			pageNo: options.pageNo||1,
			totalPage: options.totalPage,
			totalSize:options.totalSize,
			callback:options.callback
		};
		//根据形参初始化分页html和css代码
		this.init();
	}
	//对Paging的实例对象添加公共的属性和方法
	Paging.prototype = {
		constructor: Paging,
		init: function() {
			this.creatHtml();
			this.bindEvent();
		},
		creatHtml: function() {
			var me = this;
			var content = "";
			var current = me.options.pageNo;
			var total = me.options.totalPage;
			var totalNum = me.options.totalSize;
			//总页数大于4时候
			if(total > 4) {
				 content += "首页";
			     content +="上一页";
				 if(current==1){
					 content += "" + 1 + "";
					 content += "" + 2 + "";
					 content += "" + 3 + "";
					 content += ". . .";
					 content += "" + me.options.totalPage + "";
				 }else{
				      if(current" + (current-1) + "";
								 content += "" + current + "";
								 content += "" + (current+1) + "";
								 content += ". . .";
								 content += "" + me.options.totalPage + "";
							 }
							 else{
								  content += "" + 1 + "";
								 content += ". . .";
							 	 content += "" + (current-1) + "";
								 content += "" + current + "";
								 content += "" + (current+1) + "";
							 }
					  }else{
						 content += "" + 1 + "";
						 content += ". . .";
						 content += "" + (me.options.totalPage-2) + "";
						 content += "" + (me.options.totalPage-1) + "";
						 content += "" + me.options.totalPage + "";					  
					  }
				 }
			   	content += "下一页";
			   	content += "尾页";
			} else {
				for(var i = 1; i < total + 1; i++) {
					if(current == i) {
						content += "" + i + "";
					} else {
						content += "" + i + "";
					}
				}
			}
			//content += " 共"+total+"页 ";
			//content += " 共"+totalNum+"条记录 ";
			me.element.html(content);
		},
		//添加页面操作事件
		bindEvent: function() {
			var me = this;
			me.element.off('click', 'a');
			me.element.on('click', 'a', function() {
				var num = $(this).html();
				var id=$(this).attr("id");
				if(id == "prePage") {
					if(me.options.pageNo == 1) {
						me.options.pageNo = 1;
					} else {
						me.options.pageNo = +me.options.pageNo - 1;
					}
				} else if(id == "nextPage") {
					if(me.options.pageNo == me.options.totalPage) {
						me.options.pageNo = me.options.totalPage
					} else {
						me.options.pageNo = +me.options.pageNo + 1;
					}
				} else if(id =="firstPage") {
					me.options.pageNo = 1;
				} else if(id =="lastPage") {
					me.options.pageNo = me.options.totalPage;
				}else{
					me.options.pageNo = +num;
				}
				me.creatHtml();
				if(me.options.callback) {
					me.options.callback(me.options.pageNo);
				}
			});
		}
	};
	//通过jQuery对象初始化分页对象
	$.fn.paging = function(options) {
		return new Paging($(this), options);
	}
})(jQuery, window, document);