/**
 * @author yemoo
 */
function Trim(){
	return this.replace(/\s+$|^\s+/g,"");
}
String.prototype.Trim=Trim;	//过滤两端空格

function getObject(elementId) { 	//获取指定id的object
	if (document.getElementById) { 
		return document.getElementById(elementId); 
	} else if (document.all) { 
		return document.all[elementId]; 
	} else if (document.layers) { 
		return document.layers[elementId]; 
	} 
}

function getObjValue(elementId){	//获取指定id的form组件的值
	if(getObject(elementId).value!=undefined)
		return getObject(elementId).value.Trim();
	else
		return "";
}

function XHR(){	//创建XMLHttpRequest对象
	var xhr;
	try{
		xhr=new XMLHttpRequest();
	}catch(e){
    		var a=['MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','MICROSOFT.XMLHTTP.1.0','MICROSOFT.XMLHTTP.1','MICROSOFT.XMLHTTP'];
    		for (var i=0;i<a.length;i++){
      			try{
        			xhr = new ActiveXObject(a[i]);
        			break;
      			}catch(e){}
    		}
  	}
	return xhr;
}

function checkForm(){	//表单的检测
	if(getObjValue("username")==""||getObjValue("content2")==""||getObjValue("email")==""||getObjValue("title")==""){
		alert("请把带*号的项填写完整！");
		return false;
	}
	if(getObjValue("username").length>20){
		alert("你的名字也太长了吧？不要大于20哦");
		return false;
	}
	if(getObjValue("title").length>30){
		alert("留言也太长了吧？不要大于30哦");
		return false;
	}
	if(getObjValue("qq")!="" && !/^[0-9]{5,10}$/.test(getObjValue("qq"))){
		alert("腾讯好像还没有这个qq号吧？");
		return false;
	}
	if(getObjValue("email")!="" && !/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(getObjValue("email"))){
		alert("换个邮箱吧，这个不合适哦！");
		return false;
	}
	return true;
}

function sendJS() {	//发送留言
  
	var xhr=XHR();
	
	if(xhr&&checkForm()){
		 
		getObject("submit").value="提交中...";
		getObject("submit").disabled=true;
		
		xhr.open("POST", "../addmessage.asp", true);
		
		xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		
		var aIdArray=new Array("flag="+Math.random());
		
		var argLen=arguments.length;
		
		
		
		for(i=0;i<argLen;i++){
			
			aIdArray[i+1]="&"+arguments[i]+"="+escape(getObjValue(arguments[i]));
			
			
		}
		
    	var data =aIdArray.join('');

		
		xhr.onreadystatechange=function(){
			
			if(xhr.readyState==4){
				
				if(xhr.status==200){
                   
				   alert(unescape(xhr.responseText));	//输出返回信息，成功返回“留言成功”

					getObject("submit").value="提交";	//禁用发送表单，防止重复提交
					getObject("submit").disabled=false;

					clearForm();				//清除表单的值
					
					addNew();				//更新留言
				}else{
					alert(xhr.status);
					alert("网络传输错误！请重试！");	
				}
			}	
		};
    		xhr.send(data);
  	}
}

function clearForm(){	//清空表单的函数
	getObject("username").value="";
	getObject("phone").value="";
	getObject("qq").value="";
	getObject("email").value="";
	getObject("title").value="";
	getObject("content2").value="";
}

function addNew(){	//更新留言，实质上是重新去服务器提取第一页的留言
	getList(1);	
}

function makBookStr(username,sex,qq,email,content,answer,title,pubdate){	//创建一条留言的文本串
	if((email=unescape(email))!="不告诉你"){
		email='<a href="mailto:'+email+'" title="'+email+'">给我写信</a>';
	}
	var tempStr='<div class="note">\
			<div class="userInfo"><strong>昵称：</strong>'+unescape(username)+'<strong>QQ：</strong>'+unescape(qq)+' <strong>E-mail：</strong>'+email+'  <strong>发表时间：</strong>'+pubdate+'</div>\
			<div class="content">\
				<strong>留言标题：'+unescape(title)+'</strong>\
				<strong>内容：</strong>\
				<p>'+unescape(content)+'</p>\
				<strong>回复：</strong>\
				<p>'+unescape(answer)+'</p>\
			</div>\
		</div>';
	return tempStr;
}

function writeBookArr(Str){	//输出服务器返回的留言内容
	if(Str!=0){
		var bookList=eval("new Array("+Str+")");
		var allStr="";
		for(var i=0;i<bookList.length;i++){
			allStr+=makBookStr(bookList[i].username,bookList[i].sex,bookList[i].qq,bookList[i].email,bookList[i].content,bookList[i].answer,bookList[i].title,bookList[i].pubdate);	
		}
	}else{
		allStr="<div style='color:#f00;text-align:center;border:1px solid #d3d3d3;line-height:50px;margin-top:10px;'>暂时还没有留言！</div>"
	}
	getObject("bookList").innerHTML=allStr;
}

function getList(page){	//获取指定页的留言
	getObject("bookList").innerHTML="<div id=\"wait\">留言加载中....请稍后!</div>";	//清除原来显示的内容
	var xhr=XHR();
	xhr.open("GET", "/getmessage.asp?page="+page+"&r="+Math.random(), true);
	xhr.onreadystatechange=function(){
		if(xhr.readyState==4){
			if(xhr.status==200){
				writeBookArr(xhr.responseText);
				getPage();	//更新分页信息
			}else{
				alert("获取留言失败！请刷新重试！");	
			}
		}
		
	}
	xhr.send(null);
}

function getPage(){	//更新分页信息
	getObject("pageList").innerHTML="<div id=\"wait\">分页信息加载中....请稍后!</div>";	//清除原来显示的内容
	var xhr=XHR();
	xhr.open("GET", "/getmessage.asp?act=getPageInfo&r="+Math.random(), true);
	xhr.onreadystatechange=function(){
		if(xhr.readyState==4){
			if(xhr.status==200){
				//Result=记录数|每页记录数|页数|当前页
				var Result=xhr.responseText.split("|");
				var tempPageStr=new Array("<div>共有<span class=\"tip\">"+Result[0]+"</span>条留言 每页<span class=\"tip\">"+Result[1]+"</span>条留言 当前第<span class=\"tip\">"+Result[3]+"/"+Result[2]+"</span>页 转向第<select name=\"page\" onchange=\"getList(this.value)\" style=\"width:50px;\">");
				for(var i=1;i<=Result[2];i++){
					if(i!=Result[3])
						tempPageStr[i]="<option value=\""+i+"\">"+i+"</option>";
					else
						tempPageStr[i]="<option selected=\"selected\" value=\""+i+"\">"+i+"</option>";
				}
				tempPageStr[i]="</select>页</div>";
				var ResultStr=tempPageStr.join('');
				getObject("pageList").innerHTML=ResultStr;
			}else{
				alert("获取分页信息失败！请刷新重试！");	
			}
		}
		
	}
	xhr.send(null);
}