
/**
*=================================================================
*名称:			叶子js分页样式
*Name:			ShowPage With JavaScript
*RCSfile:		showo_page.js
*Revision:		0.04Beta
*Author:		yezi(叶子)
*Date:			2005-01-21 17:50:10
*Description:	js分页样式，显示上一页下一页的翻页结果
*                2005年５月郭宇强修改
*               1　　是否显示跳转输入框问题
*               2　　如果分页在form中，请将form的名称设置为formData
*               3    完整<table>，原来程序中Tabstart未显示出来，导致asp页面中html标签不封闭
*=================================================================
*/

var url,CurrPage,re,CurrentPage,iurl,FirstPageUrl,PrevPageUrl,NextPageUrl,LastPageUrl,PageCount,prevpage,nextpage,PageStart,PageEnd,i,ipage;
url=""+document.location;
function get_url_info(url,thePage)
{
	
	if (url.indexOf("Page=")==-1) {
		CurrPage=1;
		CurrentPage=thePage;
	}
	else {
		re=/(\S.*)(Page=\d*)(\S.*|\S*)/g;
		CurrentPage=url.replace(re,"$2");
 		CurrentPage=CurrentPage.replace("Page=","");
		//re=/(?:\S{1,}Page=|\D.*)/g;
		//CurrentPage=url.replace(re,"");
		url=url.replace("&Page="+CurrentPage,""); 
		url=url.replace("Page="+CurrentPage+"&","");
		url=url.replace("Page="+CurrentPage,"");
	}
	
	url+=(url.indexOf("?")==-1)?"?":"&";
	url=url.replace("?&","?");
	url=url.replace("&&","&");
	return url;
}
	
	
	
function FromatPage(str,StartNum,EndNum) {
	str+="";
	if (str.length>=1) {
		mynum=parseInt(str,10);
		if (isNaN(mynum)) {
			mynum=StartNum;
		}
		else {
			if (EndNum>-1) {
				mynum=(mynum<StartNum)?StartNum:mynum;
				mynum=(mynum>EndNum)?EndNum:mynum;
			}
			else {
				mynum=(mynum<StartNum)?StartNum:mynum;
			}
		}
	}
	else {
		mynum=StartNum;
	}
	return (mynum);
}

function CheckPage(iPageCount) {
	url+='&Page=';
	url=url.replace("?&","?");
	url=url.replace("&&","&");
 	try
	{
		ipage=theShowPage.value;
	}
	catch(e)
	{
		ipage=formData.theShowPage.value;
	}
	location.href(url+FromatPage(ipage,1,iPageCount));
}




function ShowPage(ThePage,Tabstart,Tabend,CurrPageFont1,CurrPageFont2,PageCountFont1,PageCountFont2,PrePageFont1,PrePageFont2,RecCountFont1,RecCountFont2,FirstFont,PrevFont,NextFont,LastFont,Jump,PageNumFont1,PageNumFont2,PageNumFont3,PageNumFont4,LinkFont1,LinkFont2,LinkFont3,LinkFont4,iRecCount,iRecPerPage,iPageNum,flag) {
	url=get_url_info(url,ThePage);
 	RecCount=FromatPage(iRecCount,0,-1);
	RecPerPage=FromatPage(iRecPerPage,1,-1);
	PageNum=FromatPage(iPageNum,0,-1);
	PageCount=(RecCount%RecPerPage==0)?(RecCount/RecPerPage):(FromatPage((RecCount/RecPerPage),0,RecCount)+1);
	CurrPage=(PageCount>0)?(FromatPage(CurrentPage,1,PageCount)):(FromatPage(CurrentPage,0,PageCount));
	prevpage=FromatPage((CurrPage-1),1,PageCount);  
	nextpage=FromatPage((CurrPage+1),1,PageCount);    
	if (CurrPage<=1&&PageCount<=1) {
		FirstPageUrl="&nbsp;"+LinkFont3+FirstFont+LinkFont4+"&nbsp;";
		PrevPageUrl="&nbsp;"+LinkFont3+PrevFont+LinkFont4+"&nbsp;";
		NextPageUrl="&nbsp;"+LinkFont3+NextFont+LinkFont4+"&nbsp;";
		LastPageUrl="&nbsp;"+LinkFont3+LastFont+LinkFont4+"&nbsp;";
	}
	else if (CurrPage==1&&PageCount>1) {
		FirstPageUrl="&nbsp;"+LinkFont3+FirstFont+LinkFont4+"&nbsp;";
		PrevPageUrl="&nbsp;"+LinkFont3+PrevFont+LinkFont4+"&nbsp;";
		NextPageUrl="&nbsp;<A href=\""+url+"Page="+nextpage+"\">"+LinkFont1+NextFont+LinkFont2+"</A>&nbsp;";
		LastPageUrl="&nbsp;<A href=\""+url+"Page="+PageCount+"\">"+LinkFont1+LastFont+LinkFont2+"</A>&nbsp;";
	}
	else if (CurrPage==PageCount) {
		FirstPageUrl="&nbsp;<A href=\""+url+"Page=1\">"+LinkFont1+FirstFont+LinkFont2+"</A>&nbsp;";
		PrevPageUrl="&nbsp;<A href=\""+url+"Page="+prevpage+"\">"+LinkFont1+PrevFont+LinkFont2+"</A>&nbsp;";
		NextPageUrl="&nbsp;"+LinkFont3+NextFont+LinkFont4+"&nbsp;";
		LastPageUrl="&nbsp;"+LinkFont3+LastFont+LinkFont4+"&nbsp;";
	}
	else {
	FirstPageUrl="&nbsp;<A href=\""+url+"Page=1\">"+LinkFont1+FirstFont+LinkFont2+"</A>&nbsp;";
		PrevPageUrl="&nbsp;<A href=\""+url+"Page="+prevpage+"\">"+LinkFont1+PrevFont+LinkFont2+"</A>&nbsp;";
		NextPageUrl="&nbsp;<A href=\""+url+"Page="+nextpage+"\">"+LinkFont1+NextFont+LinkFont2+"</A>&nbsp;";
		LastPageUrl="&nbsp;<A href=\""+url+"Page="+PageCount+"\">"+LinkFont1+LastFont+LinkFont2+"</A>&nbsp;";
	}
	PageStart=FromatPage((CurrPage-PageNum),1,PageCount);  
	PageEnd=FromatPage((CurrPage+PageNum),1,PageCount);  
	
	document.write (Tabstart+CurrPageFont1+CurrPage+CurrPageFont2+PageCountFont1+PageCount+PageCountFont2+PrePageFont1);
	document.write (RecPerPage+PrePageFont2+RecCountFont1+RecCount+RecCountFont2+FirstPageUrl+PrevPageUrl);  //首页和上一页图形
	if (CurrPage>=1) {
		for (i=PageStart;i<=PageEnd;i++) {
			if (i!=CurrPage) {
				document.write ("&nbsp;<A href=\""+url+"Page="+i+"\">"+PageNumFont1+i+PageNumFont2+"</A>&nbsp;");
			}
			else {
				document.write ("&nbsp;"+PageNumFont3+i+PageNumFont4+"&nbsp;");
			}
		}
	}
	document.write (NextPageUrl+LastPageUrl);
	if (flag!="noJump")
	{
		document.write (Jump);
		document.write ("<INPUT type=\"text\" id=\"theShowPage\" size=\"5\" maxlength=\"10\" onkeydown=\"if (event.keyCode==13) CheckPage("+PageCount+")\"><INPUT type=\"button\" value=\"Go\" onClick=\"CheckPage("+PageCount+")\">");
	}
	document.write (Tabend);
}

