/*
*	modello框架
**
*	author 贺博
*	version 2007-7-6
**
*	页号控制
*/
PageController = Class.create();
PageController.register("com.duxiu.js.PageController");

PageController.construct = function($self, $class){
	var curpage = 1;
	
	var totalpage = 1;
	
	//每页显示的信息条数
	var pageSize = 5;
	
	//翻页的所有页面长度
	var pageLength =10;
	
	//需要在运行时设置，一般表示检索了多少条
	var totalCount =0;//总个数	
	
	
	/**
	*	ps ,每页显示的信息条数
	*	pl ,翻页的所有页面长度
	*	tp ,总条数
	*	handle ,翻页回调函数
	*/
	this.initialize = function(ps , pl , tp ,handle){
		
		pageSize = parseInt(ps);
		//alert("PageController.js："+pageSize);
		pageLength = parseInt(pl);
		
		this.setTotalCount(tp);
		
		/*
		if(typeof  t == "number" )
			totalpage = t;
		else
			totalpage = 1;		*/	
			
		this.onPageChange = handle;		
	}
	
	this.getPageByIndex = function(index){
		var page = parseInt(index/pageSize);		
		
		if(index%pageSize!=0) page++; 
		
		return page;
	}	
	
	//设置总数
	this.setTotalCount = function(t){
		totalCount = parseInt(t);
		
		var _total = parseInt(totalCount/pageSize) ; 
	
		if(totalCount%pageSize!=0) _total++; 
	
		totalpage =  _total;
	}
	
	
	this.next = function(){
		if(curpage>0 && curpage<totalpage)
			this.onPageChange(curpage , ++curpage);
	}
	
	this.back = function(){
		if(curpage> 1)
			this.onPageChange(curpage , --curpage);
	}
	
	this.goLast = function(bForce){
		this.skipToPage(totalpage , bForce);
	}
	
	this.goFirst = function(bForce){
		this.skipToPage(1 , bForce);
	}	
	
	this.skipToPage = function(skipPage , bForce){

		if(typeof bForce =="undefined")
			bForce &= false;
		try{
			skipPage =  parseInt(skipPage);	
		}
		catch(e){
			skipPage = 1;	
		}
		
		if(skipPage>0 && (bForce|| skipPage<=totalpage)  && (bForce || skipPage!=curpage)){
			this.onPageChange(curpage , curpage = skipPage);			
		}
	}
	
	
	//HTML
	this.toNavigationHTML = function(noTagSkip ){	
		var html ="";		
		
		var navigation = this.getNavigation();
		var total = totalpage;
		
		if(totalCount>pageSize){		
			for(var i=0 ;i<navigation.length; i++){
				if(navigation[i]==0) break;
				else{
					html+=pageUrl2(navigation[i] ,navigation[i]);
					
				}			
				//if( i!= (navigation.length-1) ) html+='<li> | </li>';
			}
		}

		//if(totalCount>0) html+='<li class="natural">共'+totalCount+'条</li>' ;

		g('count').innerHTML = '共'+totalCount+'条' ;
		
//		if(_webfav.getSearchWord()==""){
//			
//			if(_webfav.getCatalog().c==0 && _catalogXHTML.getChildsCount()==0){
//				return html;
//			}
//			
//			/*if( !noTagSkip ) html +="<li class=natural><a href='javascript:_catalogTree.previousNode()'>上一章<a/></li>"
//				+"<li class=natural><a href='javascript:_catalogTree.nextNode()'>下一章<a/></li>";*/
//		}
		return html;
	}	

	var pageUrl = function(word , pNum){		
		if(pNum!=curpage)
			return '<li class="num"><a href="javascript:_webfav.pageController.skipToPage('+pNum+',false)"> '+word+' </a></li>';		
		else
			return '<li class="num" style="font-weight: bold;"><a href="javascript:void(null)"> '+pNum+' </a></li>';
	}	
	var pageUrl2=function (word,pNum){
		if(pNum!=curpage){
			return '<a href="javascript:_webfav.pageController.skipToPage('+pNum+',false)">[ '+word+' ]</a>&nbsp;&nbsp;';
			
		}else
			return '<b>[ '+word+' ]</b>&nbsp;&nbsp;';
	}
	/**
	 * @return	 获得翻页导航
	 */
	this.getNavigation = function(){
		var navigationPage = [];
		
		var total = totalpage;
		
		if(curpage<=pageLength/2){
			for(var i=0 ; i<total&& i<pageLength ; i++){				
				navigationPage[i] = i+1;
			}
		}
		else{
			var inc = curpage - pageLength/2 +1;
				
			for(var i=0 ; i+inc-1<total&& i<pageLength ; i++){
				navigationPage[i] = i+inc;
			}
		}
		return navigationPage;
	}
	
	//To fixed
	this.onPageChange =  function( curPage , skipToPage){
	
				
	}
	
	
	this.getCurPage = function(){
		return 	curpage;
	}
	
	this.setCurPage = function(_c){
		curpage = _c;	
	}
	
	//获得总页数
	this.getTotalPage = function(){
		return 	totalpage;		
	}
}
