﻿

var names=new Array();
var controlers=new Array();
var nextIndex=0;

initZZZZ();



function newControler(pageName,holder)
{
	var controler=new pageControl(pageName);	
	var place=document.getElementById(holder);
	if(place==null)
	{
		alert("不存在的分页位置，请检查！");
		return;
	}
	controler.holder=place;
	controler.init();
	if(controler.pageObject.length==0)
	{
		alert("不存在的分页标题，请检查！");

	}
	else
	{
		names[nextIndex]=pageName;
		controlers[nextIndex++]=controler;
	}
}

function getControler(destName)
{
	for(var i=0;i<names.length;i++)
	{
		if(destName==names[i]) return controlers[i];
	}

	return null;
}

function pageControl(destName)
{	
	this.pageObject=null;
	this.name=destName;
	this.init=initPageControl;
	this.goto=goto_page;
	this.outpage=out_page;
	this.currentPage=0;
	this.totalPage=10;
	this.perPage=per_page;
	this.nextPage=next_page;
	this.holder=null;
}

function per_page()
{

	if(this.currentPage==0)return;
	this.currentPage--;
	this.goto(this.currentPage);
}

function next_page()
{

	if(this.currentPage==this.totalPage)return;
	this.currentPage++;
	this.goto(this.currentPage);

}

function initPageControl()
{

	var oPages=document.getElementsByName(this.name);
	this.pageObject=oPages;
	if(oPages==null)
	{
		alert("oPages is null");
	}
	else
	{

		var pageNumber=oPages.length;
		this.totalPage=pageNumber-1;
		
		
		this.outpage();
		this.goto(0);
		
		
	}
}

function perPageHelper(destName)
{
	
	var dest=getControler(destName);
	if(dest==null)return;
	dest.perPage();
}

function nextPageHelper(destName)
{
	var dest=getControler(destName);
	if(dest==null)return;
	dest.nextPage();

}


function outPageHelper_a(text , link)
{
	var str="";

	str="<a href=";
	str+="\"\javascript:action();\" ";
	str+="onclick=\"";
	str+=link;
	str+="\"";
	str+=">";
	str+=text;
	str+="</a>";
	str+="&nbsp;";	
	return str;
}


function outPageHelper_t(text)
{
	var str="";

	str+=text;
	str+="&nbsp;";	

	return str;
}


function out_page()
{


	var str;
	 
	str="";

//page list		
	
		for(var i=0;i<=this.totalPage;i++)
		{
			//page list;
			if(i!=this.currentPage)
				str+=outPageHelper_a("["+(i+1)+"]","gotoPageHelper("+i+",'"+this.name+"'"+")");
			else
				str+=outPageHelper_t("<span class=\"pagecls\">["+(i+1)+"]</span>");
			
		}
		



//first page
			if(this.currentPage!=0)
				str+=outPageHelper_a("首页","gotoPageHelper("+0+",'"+this.name+"'"+")");
			else
				str+=outPageHelper_t("首页");


//last page
			if(this.currentPage!=this.totalPage)
				str+=outPageHelper_a("尾页","gotoPageHelper("+this.totalPage+",'"+this.name+"'"+")");
			else
				str+=outPageHelper_t("尾页");
//pre page
			if(this.currentPage!=0)
				str+=outPageHelper_a("前页","gotoPageHelper("+(this.currentPage-1)+",'"+this.name+"'"+")");
			else
				str+=outPageHelper_t("前页");

//next page
			if(this.currentPage!=this.totalPage)
				str+=outPageHelper_a("后页","gotoPageHelper("+(this.currentPage+1)+",'"+this.name+"'"+")");
			else
				str+=outPageHelper_t("后页");


		
		

		this.holder.innerHTML=str;


}

function gotoPageHelper(pageNume,destName)
{
	var dest=getControler(destName);
	if(dest==null)return;
	dest.goto(pageNume);
}

function goto_page(pageNum)
{
	
	
	if(this==null)
	{
		alert("oPages is null");
	}
	else
	{
		for(var i=0;i<=this.totalPage;i++)
		{
			if(pageNum==i)	
				this.pageObject(i).style.display="";
			else
				this.pageObject(i).style.display="none";	
			
		}
		this.currentPage=pageNum;
		
	}
	this.outpage();	
	
	
}

function action(){}

function initZZZZ()
{
	if(document.readyState=="complete")
	{

		initPages();
	}
	else
	{
		setTimeout("initZZZZ()",100);	
	}
}


