// JavaScript Document
var xmlHttp;
var viewModel;//需要显示的区块
var xmlDoc;//响应回来的XML文本
var WaitPic="<img src=\"../images/wait_snake.gif\" alt=\"loading...\" width=\"16\" height=\"16\" />";
var MessageId;
var bh;
//建立异步处理对象
function createXMLHttpRequest() {
		xmlHttp = false;
		//开始初始化XMLHttpRequest对象
		if(window.XMLHttpRequest) { //Mozilla 浏览器
			xmlHttp = new XMLHttpRequest();
			if (xmlHttp.overrideMimeType) {//设置MiME类别
				xmlHttp.overrideMimeType('text/xml');
			}
		}
		else if (window.ActiveXObject) { // IE浏览器
			try {
				xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
		if (!xmlHttp) { // 异常，创建对象实例失败
			window.alert("不能创建XMLHttpRequest对象实例.");
			return false;
		}
}
function requestPage(model,viewPage,ext,variable) {
      createXMLHttpRequest();
	  viewModel=model;
      document.getElementById(model).innerHTML=WaitPic+"waiting……";
	  url=viewPage+"."+ext+"?time="+new Date().getTime()+"&"+variable;
	  xmlHttp.open("GET", url, true);
      xmlHttp.onreadystatechange = responsePage;
      xmlHttp.send(null);
}

function responsePage()
{
	if(xmlHttp.readyState == 4) 
	{
		if (xmlHttp.status == 200)
		{
			setTimeout("viewContent()",600);
		}
		else
		{
			alert("Serror error");
			document.getElementById(viewModel).innerHTML="";
		}
    }
	else
	{
		if(xmlHttp.readyState == 1)
		{document.getElementById(viewModel).innerHTML=WaitPic+"Loading……";}
		if(xmlHttp.readyState == 2)
		{document.getElementById(viewModel).innerHTML=WaitPic+"Loaded";}
		if(xmlHttp.readyState == 3)
		{document.getElementById(viewModel).innerHTML=WaitPic+"Downloading……";}
	}
	
}
//显示模块
function viewContent()
{
	document.getElementById(viewModel).innerHTML=xmlHttp.responseText;
}
function requestPageCommonPage(model,viewPage,ext) {
      createXMLHttpRequest();
	  viewModel=model;
      document.getElementById(model).innerHTML=WaitPic+"waiting……";
	  url=viewPage+"."+ext;
	  xmlHttp.open("GET", url, true);
      xmlHttp.onreadystatechange = responsePageCommonPage;
      xmlHttp.send(null);
}
function responsePageCommonPage()
{
	if(xmlHttp.readyState == 4) 
	{
		if (xmlHttp.status == 200)
		{
			viewContent();
		}
		else
		{
			alert("Serror error");
			document.getElementById(viewModel).innerHTML="";
		}
    }
  }
//页面传值
function sendValue(url,value){
	location.href=url+"?"+value;
	
}
//咨询专家
function askExperts(bhtemp,url)
{
	var url=url+"?time="+new Date().getTime();
	var QueryString="&expertId="+bhtemp;
	url=url+QueryString;
	createXMLHttpRequest();
	document.getElementById("askInfo").innerHTML=WaitPic+"Runing……";
	xmlHttp.open("GET", url, true);
	document.getElementById("ask").setAttribute("disabled","disabled");
	 xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xmlHttp.onreadystatechange = parseAskcontentInfo;
    xmlHttp.send(null); 
	}


function parseAskcontentInfo()
{
	
	if(xmlHttp.readyState == 4) {
		if(xmlHttp.status == 200) {
            xmlDoc = xmlHttp.responseText;
            document.getElementById("askInfo").innerHTML=xmlDoc;
        }
		else
		{
			alert("Server error");
			document.getElementById("askInfo").innerHTML="Search error";

		}
    }
}
//直接翻页
function requestInfoListMain(model,url,pageId,typeId) {
      createXMLHttpRequest();
	  viewModel=model;
      document.getElementById(model).innerHTML=WaitPic+"Loading……";
	  url=url+".jsp?typeId="+typeId+"&page="+pageId+"&time="+new Date().getTime();
	  xmlHttp.open("GET", url, true);
      xmlHttp.onreadystatechange = viewMain;
      xmlHttp.send(null);
}

function viewMain()
{
	 if (xmlHttp.readyState == 4) {
		 
                if (xmlHttp.status == 200) {   
					setTimeout("viewContent()", 800);
                }
				else{
					  document.getElementById(viewModel).innerHTML="No information";
					}
    }
}
function isUserNameEmpty(_obj,flag){
    var obj = document.getElementById(_obj);
    var info = document.getElementById(_obj+"info");
    if(flag){
         if(obj.value.length == 0){
            showInfo(info,"Please input UserName","red");
            return false;}
        else{
            showInfo(info,"√","green");
            return true;}
    }
    else{
        showInfo(info,"UserName can not be null","blue")
        return false;
    }    
}
//
function recall_Password(model,viewPage,ext,variable,action){
    var refalg=false;
    var f1,f2,f3;
    f1 = isUserNameEmpty('UserName',1);
    f2 = isEnglishNameEmpty('EnglishName',1,1);
    f3 = isPasswordNameEmpty('passowrd',1,1);
	if(exit){
	document.getElementById("UserNameinfo").innerHTML="<font color='red'>Username already exist</font>";
	}
    refalg = f1 && f2 && f3 && f4 && f5 && f6 && f7 && f8 && !exit;
	if(refalg)
	{
		expertRegister(model,viewPage,ext,variable,action);
	}
}
function isQuestionEmpty(_obj,flag){
    var obj = document.getElementById(_obj);
    var info = document.getElementById(_obj+"info");
    if(flag){
         if(obj.value.length == 0){
            showInfo(info,"Question for getting password","red");
            return false;}
        else{
            showInfo(info,"√","green");
            return true;}
    }
    else{
        showInfo(info,"Needs a question","blue")
        return false;
    }    
}
function isAnswerNameEmpty(_obj,flag){
    var obj = document.getElementById(_obj);
    var info = document.getElementById(_obj+"info");
    if(flag){
         if(obj.value.length == 0){
            showInfo(info,"Answer can not be null","red");
            return false;}
        else{
            showInfo(info,"√","green");
            return true;}
    }
    else{
        showInfo(info,"Please input a answer","blue");
        return false;
    }    
}
//显示信息
function showInfo(_info,msg,color){
    var info=_info;
    info.innerHTML = msg;
    info.style.color=color;
}
//获得问题
function changeAnd(str){
	var s=""; 
   for(var i=0;i<=str.length;i++)
   	{
  		s+=str.charAt(i).replace("￥","&");
 	}
	return s;
}
function getQuestion(whoAction){
	var UserName=document.getElementById("recall_userName").value;
	var url="../GetPassword.do?time="+new Date().getTime();
	var QueryString="UserName="+UserName+"&action="+whoAction+"&time="+new Date().getTime();
	createXMLHttpRequest();
	document.getElementById("questionButton").disabled=true;
	//document.getElementById("question").innerHTML=WaitPic+"Runing……";
	xmlHttp.open("POST", url, true);
    xmlHttp.onreadystatechange = parseGetQuestion;
    xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");    
    xmlHttp.send(QueryString);
}
function parseGetQuestion()
{
	
	if(xmlHttp.readyState == 4) {
		if(xmlHttp.status == 200) {
               var responsexml = xmlHttp.responseXML;
               var status = responsexml.getElementsByTagName("status")[0].firstChild.nodeValue;
			   var error = responsexml.getElementsByTagName("error")[0].firstChild.nodeValue;
			   var text = responsexml.getElementsByTagName("text")[0].firstChild.nodeValue;
			   //alert(text);
			   //text=;
			   if(status==1&&error==0) {
				   	//document.getElementById("question").innerHTML="";		
					document.form1.elements[2].value=changeAnd(text);
                   }
				else if(status==2&&error==0){
					  alert(text);
					}
        }
		else
		{
			alert("Server error");
		}
		document.getElementById("questionButton").disabled=false;
    }
}
function changegetPasswordAnd(id){
	   var s=""; 
   var value =document.getElementById(id).value; 
   for(var i=0;i<=value.length;i++)
   	{
  		s+=value.charAt(i).replace("&","#38").replace("%","##25");
 	}
	return encodeURI(encodeURI(s));
	}

//找回密码
function getPassword(action){
	//var UserName=encodeURI(encodeURI(document.getElementById("recall_userName").value));
	//var Question=encodeURI(encodeURI(document.getElementById("Question").value));
    //var Answer=encodeURI(encodeURI(document.getElementById("Answer").value));
	var UserName=changegetPasswordAnd("recall_userName");
	var Answer=changegetPasswordAnd("Answer");
	//alert(Answer);
	QueryString="action="+action+"&UserName="+UserName+"&Answer="+Answer;
    var urlServlet="../GetPassword.do?time="+new Date().getTime();
	createXMLHttpRequest();
	document.getElementById("qButton").disabled=true;
	xmlHttp.open("POST", urlServlet, true);
    xmlHttp.onreadystatechange = parseGetPassword;
    xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");    
    xmlHttp.send(QueryString);
}
function parseGetPassword()
{
	if(xmlHttp.readyState == 4) {
		if(xmlHttp.status == 200) {
               var responsexml = xmlHttp.responseXML;
               var status = responsexml.getElementsByTagName("status")[0].firstChild.nodeValue;
			   var error = responsexml.getElementsByTagName("error")[0].firstChild.nodeValue;
               if(status==1&&error==0) {
				   document.getElementById("qButton").disabled=false;
				      requestPageCommonPage('getPassword_middle','getPasswordThird','jsp');
						
                   }
				  else if(status==11&&error==10) {
				   document.getElementById("qButton").disabled=false;
				      requestPageCommonPage('getPassword_middle','clientGetPasswordThird','jsp');
						
                   }
                 else if(status==2&&error==0) {
					 alert("answer is error");
					 document.getElementById("qButton").disabled=false;
                 }
                 else if(status==3&&error==0) {
					alert("User name is error");
					document.getElementById("qButton").disabled=false;
                 }               
            }
		else
		{
			alert("Server Error");
		}
    }
}
//图片切换
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//密码
function isPasswordNameEmpty(_obj,flag){
    var obj = document.getElementById(_obj);
    var info = document.getElementById(_obj+"info");
    if(flag){
         if(obj.value.length == 0){
            showInfo(info,"input password","red");
            return false;}
			else if(obj.value.length<6)
			{
				showInfo(info,"Length must be 6 or more",'red');
				return false;
			}
			else if(obj.value.length>20)
			 {
				 showInfo(info,"Length should not more than 20",'red');
				 return false;
				 }
        else{
            showInfo(info,"√","green");
            return true;}
    }
    else{
        showInfo(info,"Password can not be null","blue");
        return false;
    }    
}
function repassword(_obj,flag){
	 var obj = document.getElementById(_obj);
	 var info = document.getElementById(_obj+"info");
	 var repass = document.getElementById("passowrd").value;
   if(flag){
         if(obj.value.length == 0){
            showInfo(info,"confirm password","red");
            return false;}
			else if(obj.value!=repass){
				showInfo(info,"Pasword not same","red");
				return false;}
        else{
            showInfo(info,"√","green");
            return true;}
    }
    else{
        showInfo(info,"Retyping can not be null","blue");
        return false;
    }    
}
//重设密码
var whoActions;
function changePassword(whoActions){
    var refalg=false;
    var f1,f2,f3;
	f1 = isPasswordNameEmpty('passowrd',1);
    f2= repassword('rePassword',1);
    refalg = f1 && f2 ;
	if(refalg)
	{
		 getChangePassword(whoActions);
	}
}
//更改密码
function getChangePassword(whoAction)
{
	MessageId=whoAction;
	 var ExpertPWD=encodeURI(encodeURI(document.getElementById("passowrd").value));
	QueryString="action="+whoAction+"&Pass="+ExpertPWD;
    var urlServlet="../GetPassword.do?time="+new Date().getTime();
	createXMLHttpRequest();
	xmlHttp.open("POST", urlServlet, true);
    xmlHttp.onreadystatechange = parseGetChangePassword;
    xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");    
    xmlHttp.send(QueryString);
}
function parseGetChangePassword()
{
	if(xmlHttp.readyState == 4) {
		if(xmlHttp.status == 200) {
               var responsexml = xmlHttp.responseXML;
               var status = responsexml.getElementsByTagName("status")[0].firstChild.nodeValue;
			    var error = responsexml.getElementsByTagName("error")[0].firstChild.nodeValue;
                 if(status==1&&error==0) {
					 document.getElementById("cSubmit").disabled=true;
					 document.getElementById("cReset").disabled=true;
					 alert("Password was changed successfully");
					 if(MessageId=="ClientGetPassword")
					 	location.replace("../login/clientLogin.jsp");
					 else
					 	location.replace("../login/expertsLogin.jsp");
                 }
				 else{
					   alert("Sorry，server error，Change fail");
					 }
            }
		else
		{
			alert("Server error");
		}
    }
}
