/*
	title   :	page list bar
	creator :	tklmilk
	date	:	2004-9-29
	modi	:	WeiQ
	modidate:	2006-8-2

	example:
		var plb = new PageListBar('plb', 343, 6, '?', 10);
		document.write(plb);
*/

function PageListBar(name, pagecount, curpage, url, listlength)
{

	this.name = name;
	this.pagecount = pagecount;			//total page num
	this.curpage = curpage;				//current page
	this.url = url;					//link
	this.listlength = listlength?listlength:10;	//number of page showed

	if(this.pagecount <=0)
	{
		this.pagecount = 1;
	}
	if(this.curpage > this.pagecount)
	{
		this.curpage = this.pagecount;
	}
}

PageListBar.prototype.go = function(pagenum)
{
	window.location.href = '?curpage=' + pagenum + this.url;
}

PageListBar.prototype.goto = function()
{
	var curpage = prompt("请输入跳转到的页号",this.curpage);
	if(curpage)
	{
		if(curpage <= this.pagecount && curpage>=1)
		{
			this.go(curpage);
		}
	}
}

PageListBar.prototype.toString = function()
{
	var str = '', pStart = pEnd = 1;

	if(this.pagecount <= 1)
	{
		pStart = pEnd = 1;
	}else{
		if(this.pagecount <= this.listlength)
		{
			pStart = 1;
			pEnd = this.pagecount;
		}else{
			var movestep = Math.round(this.listlength/2);
			if(this.curpage > movestep)
			{
				pStart = this.curpage - movestep;
				pEnd = this.curpage + movestep;
				if(pEnd > this.pagecount)
				{
					pStart -= pEnd - this.pagecount;
					pEnd = this.pagecount;
				}

				if(pEnd > this.pagecount)
				{
					pEnd = this.pagecount;
					pStart -= (pEnd - this.pagecount);
				}
			}else{
				pStart = 1;
				pEnd = this.listlength;
			}
		}
	}

	for(var i=pStart; i<=pEnd; i++)
	{
		str += '<a class=pagelistlink href="javascript:' + this.name + '.go(' + i + ');void(0);">' + (i==this.curpage?('<b>' + i + '</b>'):i) + '</a>&nbsp;';
	}

	str ='<font class=pagelistlink>共' + this.pagecount + '页</font>&nbsp;&nbsp;<a class=pagelistlink href="javascript:' + this.name + '.go(1);void(0);">首页</a>&nbsp;<a class=pagelistlink href="javascript:' + this.name + '.go(' + ((this.curpage-1)<=1?1:(this.curpage-1)) + ');void(0);"' + (this.curpage==1?'disabled':'') + '><font face="webdings">3</font></a>&nbsp;' + str + '<a class=pagelistlink href="javascript:' + this.name + '.go(' + ((this.curpage+1)>=this.pagecount?this.pagecount:(this.curpage+1)) + ');void(0);"' + (this.curpage==this.pagecount?'disabled':'') + '><font face="webdings">4</font></a>&nbsp;<a class=pagelistlink href="javascript:' + this.name + '.go(' + this.pagecount + ');void(0);">尾页</a>&nbsp;<a class=pagelistlink href="javascript:' + this.name + '.goto();void(0);">跳转</a>';

	return str;
}
