var JsPager={};
JsPager.Init =function(pageContainerID,pageCount,pageIndex)
{
	if(!pageContainerID || !pageCount || !pageIndex)
	{
		alert("Parameter pageContainerIDˇ˘pageCountˇ˘pageIndex Can not be empty .");
		return ;
	}
	
	this.pageContainer = document.getElementById(pageContainerID);
	if(!this.pageContainer)
	{
		alert("pageContainer Can not be find .");
		return ;
	}
	
	if(!String(pageCount).match(/^\d{1,8}$/) || !String(pageIndex).match(/^\d{1,8}$/))
	{
		alert("Parameter pageCountˇ˘pageIndex Need to be digital .");
		return ;
	}
	
	this.pageCount = pageCount;
	this.pageIndex = pageIndex;
}
JsPager.Init.prototype=
{
	pagePrefix:"pagePrefix_",
	expandName:"",
	prevPage:"Prev",
	nextPage:"Next",
	showPageCountPre:4,
	showPageCount:10,
	
	enableUpDwon:true,
	
	pager:function()
	{
		if(!this.pageContainer || !this.pageCount || !this.pageIndex)
			return ;
		
		if(this.pageCount<=1)
		{
			this.pageContainer.innerHTML ="";
			return ;
		}
		
		if(this.pageIndex<1)
			this.pageIndex = 1;
		
		if(this.pageIndex>this.pageCount)
			this.pageIndex = this.pageCount;
		
		var strPage ="<ul>";
		
		strPage +=this.renderUpPage();
		
		strPage +=this.renderPage();
		
		strPage +=this.renderDwonPage();
		
		strPage +="</ul>";
		this.pageContainer.innerHTML =strPage;
		
	},
	
	renderUpPage:function()
	{
		var strUpDwon ="";
		
		if(!this.enableUpDwon)
			return strUpDwon;
		
		var upPageIndex = this.pageIndex - 1;
		if(upPageIndex<1)
			upPageIndex=1;
		
		strUpDwon+="<li class=\"behand\"><a href=" + this.pagePrefix  + upPageIndex + this.expandName + ">" + this.prevPage + "</a></li>";
		
		return strUpDwon;
	},
	
	renderDwonPage:function()
	{
		var strUpDwon ="";
		
		if(!this.enableUpDwon)
			return strUpDwon;
		
		var downPageIndex = this.pageIndex + 1;
		if(downPageIndex> this.pageCount)
			downPageIndex=this.pageCount;
		
		strUpDwon+="<li  class=\"before\"><a href=" + this.pagePrefix  + downPageIndex + this.expandName +  ">" + this.nextPage + "</a></li>";
		
		return strUpDwon;
	},
	
	renderPage:function()
	{
		var strPage ="";
		var startIndex = this.pageIndex  - this.showPageCountPre;
		if(startIndex < 1)
			startIndex=1;
		
		var endIndex = startIndex + this.showPageCount;
		if(endIndex> this.pageCount)
			endIndex = this.pageCount;
		
		if(startIndex == endIndex)
			return strPage;
		
		for(var i= startIndex ; i <= endIndex; i++ )
		{
			if(i== this.pageIndex)
				strPage +="<li><a class=\"now\">" + i + "</a></li>"
			else
				strPage +="<li><a href=" + this.pagePrefix  + i  + this.expandName +  ">" + i + "</a></li>"
		}
		
		return strPage;
	}
	
}                                                                                                                                                                                                                                                                                                                                                                    
