var pages = {
	//总页数
	totalpage : 0,
	//当前选中页码
	currentpage : 1,
	//请求地址
	href : "",
	//页数展现Div
	containerDiv : "",
	//内容Div
	freshDiv : "",
	//当前起始页码
	beginpage : 1,
	specialQuery : true,
	syncdiv : "",
	//点击页数
	clickPage : function(num){
        if($(pages.syncdiv)){
			$(pages.syncdiv).innerHTML = "";
		}
		if(num == 1 || num == pages.totalpage){
			pages.changePage(num);
		}else if(num == pages.totalpage-1){
			if(pages.totalpage > 9){
				pages.cyclePages(pages.totalpage-8,pages.totalpage-1,-1,"end");
			}else{
				pages.cyclePages(1,pages.totalpage+1,-1,"lack");
			}
			pages.changePage(pages.totalpage-1);
		}else if(num == pages.beginpage){
			pages.freshPages(num,"turn_b");
		}else if(num == pages.beginpage+6){
			pages.freshPages(num,"turn_f");
		}else{
			pages.changePage(num);
		}
		pages.sendAjax(num);
		pages.checkLeftRight(num);
		pages.copyText();
	},
	//发送请求
	sendAjax : function(num){
		if(!pages.specialQuery){
			return;
		}
		var index = pages.href.indexOf(".jsp?");
		var temp = [];
		if(index != -1){
			temp = pages.href.split(".jsp?");
		}else{
			temp = [pages.href.substr(0,pages.href.length-4),""];
		}
        new Ajax.Request(temp[0]+".jsp",{method:'post',parameters:temp[1]+'&page='+num,onComplete:function(res){
        	if(pages.freshDiv != ""){
        		$(pages.freshDiv).innerHTML = res.responseText;
        	}
        	otherOp(res);
        },asynchronous:true});
	},
	//更换当前页数显示样式
	changePage : function(num){
		if($("a"+pages.currentpage)){
			var oldLink = document.getElementById("a"+pages.currentpage);
        	var oldSpan = document.getElementById("s"+pages.currentpage);
        	oldLink.style.display = "inline";
        	oldSpan.style.display = "none";
		}
        pages.currentpage = num;
        var newLink = document.getElementById("a"+pages.currentpage);
        var newSpan = document.getElementById("s"+pages.currentpage);
        newLink.style.display = "none";
        newSpan.style.display = "inline";
	},
	//更新页码
	freshPages : function(num,type){
		//向后翻页
		if(type == "turn_b"){
			if(num < 7){
				pages.cyclePages(1,8,num,"end");
			}else{
				pages.cyclePages(num-5,num+2,num,"end");
			}
		}
		//向前翻页
		else if(type == "turn_f"){
			if(num > pages.totalpage-7){
				pages.cyclePages(pages.totalpage-8,pages.totalpage-1,num,"end");
			}else{
				pages.cyclePages(num-1,num+6,num,"end");
			}
		}
		//跳转
		else if(type == "refresh"){
			if(num == 1){
				pages.move('fir');
			}else if(num == pages.totalpage){
				pages.changePage(num);
				pages.sendAjax(num);
			}else if(num == pages.totalpage-1){
				pages.clickPage(pages.totalpage-1);
			}else{
				if(num < 7){
					pages.cyclePages(1,8,num,"end");
				}else if(num > pages.totalpage-7){
					pages.cyclePages(pages.totalpage-8,pages.totalpage-1,num,"end");
				}else{
					pages.cyclePages(num-1,num+6,num,"end");
				}
				pages.sendAjax(num);
			}
		}
	},
	//左右箭头
	move : function(state){
		if(state == "fir"){
			if($(pages.syncdiv)){
				$(pages.syncdiv).innerHTML = "";
			}
			if(pages.totalpage > 9){
    			pages.cyclePages(1,8,1,"end");
    		}else{
    			pages.cyclePages(1,pages.totalpage+1,1,"lack");
    		}
    		pages.sendAjax(1);
    		pages.copyText();		
		}else if(state == "l"){
			pages.clickPage(pages.currentpage-1);
		}else if(state == "r"){
			pages.clickPage(pages.currentpage+1);
		}else if(state == "las"){
			pages.clickPage(pages.totalpage);
		}
	},
	//跳转
	toPage : function(comp){
		var index = '';
		if(!isNaN(comp)){
			index = comp;
			if($(pages.syncdiv)){
    			$(pages.syncdiv).innerHTML = "";
    		}
		}else{
    		if(comp.id == pages.syncdiv+"GoPage"){
    			index = $("pageIndex").value.trim();
    		}
    		if($(pages.syncdiv)){
    			$(pages.syncdiv).innerHTML = "";
    		}
    		if(comp.id == pages.containerDiv+"GoPage"){
    			index = $("pageIndex").value.trim();
    		}
		}
    	if(index != '' && !isNaN(index) && index > 0){
    		var pagemark = parseInt(index);
    		if(pagemark > pages.totalpage){
    			pagemark = pages.totalpage;
    		}
    		pages.freshPages(pagemark,"refresh");
    		pages.checkLeftRight(pagemark);
    		pages.copyText();
    	}else{
    		pages.move('fir');
    	}
	},
	copyText : function(){
		if(pages.syncdiv != "" && $(pages.syncdiv)){
			$(pages.syncdiv).innerHTML = $(pages.containerDiv).innerHTML;
			if($(pages.containerDiv+"GoPage")){
    			$(pages.containerDiv+"GoPage").id = pages.syncdiv+"GoPage";
    		}
		}
	},
	//生成页码
	cyclePages : function(start,end,current,type){
		pages.currentpage = current;
		pages.beginpage = start;
		var strArr = [];
		strArr[0] = "<span id='fir' class='disabled'>|<</span><a href=javascript:pages.move('fir') id='fir_a' style='display:none'>|<</a>";
    	strArr[1] = "<span id='ls' class='disabled'><<</span><a href=javascript:pages.move('l') id='left' style='display:none'><<</a>";
		for(var num=start;num<end;num++){
       		if(num==current){
           		strArr[strArr.length] = "<span id='s"+num+"' class='current'>"+num+"</span><a href='javascript:pages.clickPage("
           			+num+")' id='a"+num+"' style='display:none'>"+num+"</a>";
       	 	}else {
           		strArr[strArr.length] = "<span id='s"+num+"' style='display:none' class='current'>"+num
           			+"</span><a href='javascript:pages.clickPage("+num+")' id='a"+num+"' >"+num+"</a>";	
            }
     	}
		if(type == "end" && pages.totalpage != 1){
			if(pages.totalpage > 9){
				strArr[strArr.length] = "<label id='point'>..</label>";
			}
        	strArr[strArr.length] = "<span id='s"+(pages.totalpage-1)+"' style='display:none' class='current'>"+(pages.totalpage-1)
        		+"</span><a href='javascript:pages.clickPage("+(pages.totalpage-1)+")' id='a"+(pages.totalpage-1)+"' >"+(pages.totalpage-1)+"</a>";
       		strArr[strArr.length] = "<span id='s"+(pages.totalpage)+"' style='display:none' class='current'>"+(pages.totalpage)
        		+"</span><a href='javascript:pages.clickPage("+(pages.totalpage)+")' id='a"+(pages.totalpage)+"' >"+(pages.totalpage)+"</a>";
			strArr[strArr.length] = "<span id='rs' class='disabled' style='display:none'>>></span><a href=javascript:pages.move('r') id='right' >>></a>";
        	strArr[strArr.length] = "<span id='las' class='disabled' style='display:none'>>|</span><a href=javascript:pages.move('las') id='las_a' >>|</a>";
        	if(pages.totalpage > 9){
        		strArr[strArr.length] = "&nbsp;翻到<input onblur='this.style.backgroundColor = \"white\";this.style.borderColor = \"#DDDDDD\";' onfocus='this.style.backgroundColor = \"#e2e2e2\";this.style.borderColor = \"#b5b5b5\";' "
        			+"style='margin : 5px 5px 0px 5px;font-size:14px;border:1px solid #DDDDDD;color:#000;' maxlength='4' type='text' name='pageIndex' size='3' id='pageIndex' />页 "
        			+"<input style='background:none;border:1px solid #DDDDDD;font-size:12px;color:#999999;cursor:pointer;' type='button' onmouseout='this.style.backgroundColor = \"white\";this.style.borderColor = \"#DDDDDD\";' "
        			+"onmouseover='this.style.backgroundColor = \"#e2e2e2\";this.style.borderColor = \"#b5b5b5\";' value='GO' id='"+pages.containerDiv+"GoPage' onclick='pages.toPage(this)'/>";
        	}
		}else if(pages.totalpage == 1){
			strArr[strArr.length] = "<span id='rs' class='disabled' >>></span><a href=javascript:pages.move('r') id='right' style='display:none'>>></a>";
        	strArr[strArr.length] = "<span id='las' class='disabled' >>|</span><a href=javascript:pages.move('las') id='las_a' style='display:none'>>|</a>";
		}else if(type == "lack"){
			strArr[strArr.length] = "<span id='rs' class='disabled' style='display:none'>>></span><a href=javascript:pages.move('r') id='right' >>></a>";
        	strArr[strArr.length] = "<span id='las' class='disabled' style='display:none'>>|</span><a href=javascript:pages.move('las') id='las_a' >>|</a>";
		}
		$(pages.containerDiv).innerHTML = strArr.join("");
	},
	//判断上一页，下一页，第一页，最后一页状态
	checkLeftRight : function(num){
		var left = document.getElementById("left");
        var right = document.getElementById("right");
        var ls = document.getElementById("ls")
        var rs = document.getElementById("rs");
        var fir = document.getElementById("fir");
        var las = document.getElementById("las");
        var fir_a = document.getElementById("fir_a");
        var las_a = document.getElementById("las_a");
        if(pages.totalpage == 1){
            ls.style.display = "inline";
            left.style.display = "none";
            rs.style.display = "inline";
            right.style.display = "none";  
            fir.style.display = "inline";
            fir_a.style.display = "none";
            las.style.display = "inline";
            las_a.style.display = "none";       
        }else{
          if(num == 1){
            ls.style.display = "inline";
            left.style.display = "none";
            rs.style.display = "none";
            right.style.display = "inline";  
            fir.style.display = "inline";
            fir_a.style.display = "none";
            las.style.display = "none";
            las_a.style.display = "inline";
          }else if(num == pages.totalpage){
            ls.style.display = "none";
            left.style.display = "inline";
            rs.style.display = "inline";
            right.style.display = "none";
            fir.style.display = "none";
            fir_a.style.display = "inline";
            las.style.display = "inline";
            las_a.style.display = "none";
          }else{
            ls.style.display = "none";
            left.style.display = "inline";
            rs.style.display = "none";
            right.style.display = "inline";
            fir.style.display = "none";
            fir_a.style.display = "inline";
            las.style.display = "none";
            las_a.style.display = "inline";
          }
        }
	}
}
//页面初始化,total为总页数，container为页码控件所在的DIV的id,href为页码点击后请求的URL(不包含页数)，show为查询结果放置的DIV的id
function init(total,container,href,show){	
	pages.totalpage = (total < 0 ? 1 : parseInt(total));
	pages.beginpage = 1;
	pages.currentpage = 1;
	pages.href = href;
	pages.containerDiv = container;
	pages.freshDiv = show;
    if(pages.totalpage > 9){
    	pages.cyclePages(1,8,1,"end");
    }else{
    	pages.cyclePages(1,pages.totalpage+1,1,"lack");
    }
}
function otherOp(res){
	return true;
}
function initClone(id){
    pages.syncdiv = id;
    $(pages.syncdiv).innerHTML = $(pages.containerDiv).innerHTML;
    if($(pages.containerDiv+"GoPage")){
    	$(pages.containerDiv+"GoPage").id = pages.syncdiv+"GoPage";
    }
}
function turnOnly(num){
   pages.specialQuery = false;
   pages.toPage(parseInt(num));
   pages.specialQuery = true;
}