	function ListPageManager() {
		this.getCurPage = null;
		this.getMaxPage = null;		
		this.onSelectedPage = null;
		this.styleInfo = null;		
		this.grpSize = null;
		this.listdiv = null;
		this.listheader = null;
		this.listfooter = null;
		
		this.setSelectedPage = function(page) {
			if(this.onSelectedPage!=null) {
				this.onSelectedPage(page);
			}
		}
		
		this.setPageList = function(name,page){
			var res = "";
			if(parseInt(page) > parseInt(this.getMaxPage())) {
				page = this.getMaxPage();
			}

			if(this.styleInfo != null && this.getMaxPage() > 1){
				if(this.grpSize == null)
					this.grpSize = this.styleInfo[0];
				for(var i = 1;i<this.styleInfo.length;i++){
					if(this.styleInfo[i] != ""){
						if(this.styleInfo[i][0] == "N")
							res += this.getPageListHtmlStr(name,page,this.styleInfo[i]);
						else
							res += this.getHtmlStr(name,page,this.styleInfo[i]);
					}
				}	
			}		
			this.listdiv.innerHTML = this.listheader+res+this.listfooter;	

		}
		
		this.getPageListHtmlStr = function(name,page,style){
			var res = "";
			var maxPage = this.getMaxPage();
    		var sidx = parseInt(((page - 1)/this.grpSize),10) * this.grpSize + 1;  
    		if 	(page >= sidx){
				for(var pp = sidx;pp<(sidx+this.grpSize);pp++){
					var prefix="",suffix = "";
					if(pp == page){
						if(style[3] != ""){
							prefix = style[3].substring(0,style[3].length/2);
							suffix = style[3].substring(style[3].length/2,style[3].length);
						}
						res += "<font class='"+style[1]+"'>"+prefix+pp+suffix+"</font>";
					}else{
						res += "<a href='javascript:"+name+".setSelectedPage("+pp+");' class='"+style[2]+"'>"+pp+"</a>";
					}
					if(pp == maxPage) break;
					if(pp != (sidx+this.grpSize -1)){
						if(style[4][0] =="TEXT")
							res += style[4][1];
						else if(style[4][0] =="IMG")
							res += "&nbsp;<img src='"+style[4][1]+"' />&nbsp;";
					}
				}	
			}

			return res;
			
		}
		
		this.getHtmlStr = function(name,page,style){
			if(style[0] == "PP"){
				if(page > this.grpSize){
					var cpage = parseInt(((page-1)/this.grpSize),10) * this.grpSize;
					return this.enableHtmlStr(name,cpage,style);
				}else 
					return this.disableHtmlStr(style);
			}else if(style[0] == "P"){
				if(page > 1){
					var cpage = page - 1;
					return this.enableHtmlStr(name,cpage,style);
				}else 
					return this.disableHtmlStr(style);
			}else if(style[0] == "F"){
				if(page < this.getMaxPage()){
					var cpage = page + 1;
					return this.enableHtmlStr(name,cpage,style);
				}else 
					return this.disableHtmlStr(style);
			}else if(style[0] == "FF"){
				var listmaxlen = parseInt( ((page -1)/this.grpSize +1) ,10) * this.grpSize;
				if (listmaxlen < this.getMaxPage()) {
					var cpage = (parseInt(((page-1)/this.grpSize),10)+1) * this.grpSize +1;
					return this.enableHtmlStr(name,cpage,style);
				}else 
					return this.disableHtmlStr(style);
			}
		}
		
		this.enableHtmlStr = function(name,cpage,style){
			if(style[1] == "TEXT"){
				return this.textEnableHtmlStr(name,cpage,style);
			}else if(style[1] == "IMG")
				return this.imgEnableHtmlStr(name,cpage,style);
		}
		this.disableHtmlStr = function(style){
			if(style[1] == "TEXT")
				return this.textDisableHtmlStr(style);
			else if(style[1] == "IMG")
				return this.imgDisableHtmlStr(style);
		}
		
		this.textEnableHtmlStr = function(name,cpage,style){
			return "<a href='javascript:"+name+".setSelectedPage("+cpage+");' class='"+style[4]+"'>"+style[2]+"</a>";
		}
		this.textDisableHtmlStr = function(style){
			if(style[3] != "")
				return "<font class='"+style[4]+"'>"+ style[3]+"</font>";
			else 
				return "";
		}
		this.imgEnableHtmlStr = function(name,cpage,style){
			return "<a href='javascript:"+name+".setSelectedPage("+cpage+");'>&nbsp;<img src='"+style[2]+"' border='0'>&nbsp;</a>";
		}
		this.imgDisableHtmlStr = function(style){
			if(style[3] != "")
				return "&nbsp;<img src='"+style[3]+"'>&nbsp;";
			else 
				return "";
		}
	}