/*
 * @author jingduoduo
 * @version 1.0
 * @create-date 2008-11-18
 */
//Include("Fe");
/*
 * @name Fe.Page
 * @namespace
**/
Fe.Page=function(json){
	var me=this;
	me.params={};
	Fe.extend(me.params,json);
	me.adJust=function(pg){
		var pageIndex=pg;
		if(pageIndex<1)pageIndex=1;
		if(pageIndex>me.params.init.totalPage)pageIndex=me.params.init.totalPage;
		me.displayPage(pageIndex);
	};
	me.setType=function(tp,pageIndex){
		var _pi=pageIndex;
		switch(tp){
			case "head":pageIndex=1;break;
			case "tail":pageIndex=me.params.init.totalPage;break;
			case "pre":pageIndex=_pi-1;break;
			case "next":pageIndex=_pi+1;break;
			default:pageIndex=_pi;
		}
			me.displayPage(pageIndex);
	};
	me.displayPage=function(pg){
		with(me.params){
			var pgHtml="";
			var pgStart=pg-init.pageInterval>1?pg-init.pageInterval:1;
			var pgEnd=pg+init.pageInterval<init.totalPage?pg+init.pageInterval:init.totalPage;
			for(var i=pgStart;i<=pgEnd;i++){
                if(i==pg){
					pgHtml+=i;
				}
				else{
					var _para="_"+i;
					pgHtml+="<a href='#' id="+_para+">"+type.l+i+type.r+"</a>";
				}
			}
			Fe.G(id.allPage).innerHTML=pgHtml;
			/*
			if(pg<=1){

				Fe.G(id.firstPage).innerHTML=type.l+"首页"+type.r;
				Fe.G(id.prePage).innerHTML=type.l+"上一页"+type.r;

			}
			*/
			if(pg>1){
				Fe.G(id.firstPage).innerHTML="<a href='#' id='head'>"+type.l+"首页"+type.r+"</a>";
				Fe.G(id.prePage).innerHTML="<a href='#' id='pre'>"+type.l+"上一页"+type.r+"</a>";
			}
			else{
				Fe.G(id.firstPage).innerHTML="";
				Fe.G(id.prePage).innerHTML="";
			}
			/*
			if(pg>=init.totalPage){

				Fe.G(id.lastPage).innerHTML=type.l+"尾页"+type.r;
				Fe.G(id.nextPage).innerHTML=type.l+"下一页"+type.r;

			}
			*/
			if(pg<init.totalPage){
				Fe.G(id.lastPage).innerHTML="<a href='#' id='tail'>"+type.l+"尾页"+type.r+"</a>";
				Fe.G(id.nextPage).innerHTML="<a href='#' id='next'>"+type.l+"下一页"+type.r+"</a>";
			}
			else
			{
				Fe.G(id.lastPage).innerHTML="";
				Fe.G(id.nextPage).innerHTML="";
			}
			var pageBegin=(init.perPageRecord*(pg-1)+1);
			var pageEnd=init.perPageRecord*pg;
            for (var i=0;i<init.totalRecord;i++){
               if(i>=pageBegin-1&&i<=pageEnd-1){
				   Fe.Q("item", Fe.G(id.tableId), "div")[i].style.display="";
                }
                else{
                    Fe.Q("item", Fe.G(id.tableId), "div")[i].style.display="none";
                }
			}
		}
		var _arr=["head","next","tail","pre"];
		Fe.each(_arr, function(value, index){
        	if(Fe.G(value)){
                Fe.G(value).onclick=function(){
                    me.setType(value,pg);
                    //return false;
                }
            }
		});
		for(var i=1;i<=me.params.init.totalPage;i++){
			if(i!=pg){
				/*
				Fe.on(Fe.G("_"+i),'click',function(){
					me.setType("allPage",parseInt(this.id.replace("_","")))
				});
				*/
                if(Fe.G("_"+i)){
                    Fe.G("_"+i).onclick=function(){
                        me.setType("allPage",parseInt(this.id.replace("_","")));
                        //return false;
                    }
                }
                /*
				Fe.on(Fe.G("_"+i),'click',(function(){
					var tp=i;
					return function(){me.setType("allPage",tp)};
				})());
                */
			}
		}
	}
	me.adJust(me.params.init.pageIndex);

}
Fe.Page.install=function(json){
	new Fe.Page(json);
}
