﻿// JScript 文件
function showPages(name,count,size,page,pageChangeHandle) { //初始化属性
	this.name = name;      //对象名称
	this.page = page;         //当前页数
	this.pageCount = 1;    //总页数
	this.Count=count;//记录总数
	this.Size=size;//每页大小
	this.pageChangeHandle=pageChangeHandle;
}

showPages.prototype.checkPages = function()
{ //进行当前页数和总页数的验证
	this.pageCount = this.Count%this.Size==0?this.Count/this.Size:parseInt(this.Count/this.Size)+1;    //总页数

	if (isNaN(parseInt(this.page))) this.page = 1;
	if (isNaN(parseInt(this.pageCount))) this.pageCount = 1;
	if (this.page < 1) this.page = 1;
	if (this.pageCount < 1) this.pageCount = 1;
	if (this.page > this.pageCount) this.page = this.pageCount;
	this.page = parseInt(this.page);
	this.pageCount = parseInt(this.pageCount);
}
showPages.prototype.createHtml = function()
{ //生成html代码
	var strHtml = '', prevPage = this.page - 1, nextPage = this.page + 1;
	
	//10页缩略,首页,前页,后页,尾页)
	strHtml += ' <span class="pager_text">共'+this.Count+'条记录&nbsp;'+this.page+'/'+this.pageCount+'</span> ';
	
	var startPage;//定义开始页码
	if (this.page % 10 ==0) 
	{
		startPage = this.page - 9;
	} 
	else 
	{
		startPage = this.page - this.page % 10 + 1;
	}
	
	if (startPage > 10) //当前页序号>10
		strHtml +=  ' <a title="上十页" class="pager_common" href="javascript:' + this.pageChangeHandle + '(' + (startPage - 1) + ');">上十页</a>';
		
	for (var i = startPage; i < startPage + 10; i++) 
	{
		if (i > this.pageCount) break;
		
		if (i == this.page) //当前页
		{
			strHtml += ' <span class="pager_current">' + i + '</span>';
		} 
		else 
		{
			strHtml += ' <a class="pager_common" href="javascript:' + this.pageChangeHandle + '(' + i + ');">' + i + '</a>';
		}
	}
	//当前页序号下面至少还有10页
	if (this.pageCount >= startPage + 10) strHtml += ' <a title="下十页" class="pager_common" href="javascript:' + this.pageChangeHandle + '(' + (startPage + 10) + ');">下十页</a>';
	
	strHtml += '<br />';
	
	return strHtml;
}

showPages.prototype.printHtml = function()
{ //显示html代码
	this.checkPages();
	document.write(this.createHtml());
}
showPages.prototype.getHtml = function()
{ //显示html代码
	this.checkPages();
	return this.createHtml();
}
showPages.prototype.formatInputPage = function(e)
{ //限定输入页数格式
	var ie = navigator.appName=="Microsoft Internet Explorer"?true:false;
	if(!ie) var key = e.which;
	else var key = event.keyCode;
	if (key == 8 || key == 46 || (key >= 48 && key <= 57)) return true;
	return false;
}

//=======================================================

function getPager(count,size,chgHandle,index)
{
    var pg = new showPages('pg');
    pg.Count=count;
    pg.Size=size;
    pg.pageChangeHandle=chgHandle;
    pg.page=index;
    var temp=pg.getHtml();
    pg=null;
    
    return temp;
}