
var checkURL = "jsp/check.jsp";
var xmlHttp;
var callHttp;
var type="";
var username="";
var pwd="";
function createXMLHttpRequest(http) {
	if (window.ActiveXObject) {
		eval(http + " = new ActiveXObject(\"Microsoft.XMLHTTP\")");
	} else {
		if (window.XMLHttpRequest) {
			eval(http + " = new XMLHttpRequest()");
		}
	}
}

//check user
function xmlCheckUser(account,pin) {
	createXMLHttpRequest("xmlHttp");
	xmlHttp.onreadystatechange = handleStateCheckUser;
	xmlHttp.open("post", checkURL, true);
	xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
	xmlHttp.send("type=check&account="+account+"&pwd="+pin);
}
function handleStateCheckUser() {
	if (xmlHttp.readyState == 4) {
		if (xmlHttp.status == 200) {
		   var resultDoc=xmlHttp.responseXML;
		   var result=resultDoc.getElementsByTagName("result")[0].getAttribute("value");
		   if(result=="1"){
		      if(type=="call"){
		         xmlCall(username,caller,called,"",time);
		      }else if(type=="login"){
		         balanceCall(username,pwd);
		      }
		   }else if(result=="0"){
		      var code=resultDoc.getElementsByTagName("result")[0].childNodes[0].nodeValue;
		      if(type=="login"){
		          if(code=="407"){
		             alert("The wrong account or password");
		          }else if(code=="406"){
		             alert("The account is not exist");
		          }//TODO
		      }
		      //TODO ´íÎóºÅ
		   }
		} else {
		  
		}
	}
}
//call phone
function xmlCall(account,caller,called,extension,time) {
    //alert("-------------------");
	createXMLHttpRequest("callHttp");
	callHttp.onreadystatechange = handleStateCall;
	callHttp.open("post", checkURL, true);
	callHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
	callHttp.send("type=call&account="+account+"&caller="+caller+"&called="+called+"&extension="+extension+"&time="+time);
}
function handleStateCall(){
  if (callHttp.readyState == 4) {
		if (callHttp.status == 200) {
		   var resultDoc=callHttp.responseXML;
		   var result=resultDoc.getElementsByTagName("result")[0].childNodes[0].nodeValue;
		   if(result=="0"){
		      alert("Call success");
		   }else if(result=="1"){
		      var code=resultDoc.getElementsByTagName("reason")[0].childNodes[0].nodeValue;
		      alert(code);//TODO ´íÎóºÅ
		   }
		} else {
		  
		}
	}
}

// balance
function balanceCall(account,pwd) {
	createXMLHttpRequest("balanceHttp");
	balanceHttp.onreadystatechange = handleStateBalance;
	balanceHttp.open("post", checkURL, true);
	balanceHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
	balanceHttp.send("type=balance&account="+account+"&pwd="+pwd);
}
function handleStateBalance(){
  if (balanceHttp.readyState == 4) {
		if (balanceHttp.status == 200) {
		   var resultDoc=balanceHttp.responseXML;
		   var result=resultDoc.getElementsByTagName("result")[0].getAttribute("value");
		   if(result=="1"){
		       var balance=resultDoc.getElementsByTagName("result")[0].childNodes[0].nodeValue;
		       setLogin("1",balance);
		   }else if(result=="0"){
		      var code=resultDoc.getElementsByTagName("reason")[0].childNodes[0].nodeValue;
		      alert(code);//TODO ´íÎóºÅ 
		   }
		} else {
		  
		}
	}
}
//recharge
function rechargeXML(account,card,pwd,money,code) {
	createXMLHttpRequest("rechargeHttp");
	rechargeHttp.onreadystatechange = handleStateRecharge;
	rechargeHttp.open("post", checkURL, true);
	rechargeHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
	rechargeHttp.send("type=recharge&account="+account+"&card="+card+"&pwd="+pwd+"&money="+money+"&code="+code);
}
function handleStateRecharge(){
  if (rechargeHttp.readyState == 4) {
		if (rechargeHttp.status == 200) {
		   var resultDoc=rechargeHttp.responseXML;
		   var result=resultDoc.getElementsByTagName("result")[0].getAttribute("value");
		   if(result=="1"){
		       var balance=resultDoc.getElementsByTagName("result")[0].childNodes[0].nodeValue;
		       changeValue(balance);
		   }else if(result=="0"){
		      var code=resultDoc.getElementsByTagName("result")[0].childNodes[0].nodeValue;
		      if(code=="416"){
		         alert("The balace is not enough!");
		      }else if(code=="412"){
		         alert("The card is not exist!");
		      }else if(code=="413"){
		         alert("The wrong card wrong!");//TODO ´íÎóºÅ
		      }
		   }
		} else {
		  
		}
	}
}
function CDRXML(account,pwd,beginTime,endTime,count){
    createXMLHttpRequest("CDRHttp");
	CDRHttp.onreadystatechange = handleStateCDR;
	CDRHttp.open("post", checkURL, true);
	CDRHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
	CDRHttp.send("type=cdr&account="+account+"&pwd="+pwd+"&begintime="+beginTime+"&endtime="+endTime+"&count="+count);
}
function handleStateCDR(){
  if (CDRHttp.readyState == 4) {
		if (CDRHttp.status == 200) {
		   var resultDoc=CDRHttp.responseXML;
		   var result=resultDoc.getElementsByTagName("result")[0].getAttribute("value");
		   if(result=="0"){
		       var code=resultDoc.getElementsByTagName("result")[0].childNodes[0].nodeValue;
		       if(code=="420"){
		          alert("The date format is wrong");
		       }else if(code=="407"){
		         alert("The wrong account and password");
		       }else if(code=="406"){
		         alert("The account is not exist");
		       }else if(code=="404"){
		         alert("The password is null");
		       }
		   }else if(result=="1"){
		       setCDR(resultDoc);
		   }
		} else {
		  
		}
	}
}


function loginOutXML() {
	createXMLHttpRequest("loginoutHttp");
	loginoutHttp.onreadystatechange = handleStateLoginOut;
	loginoutHttp.open("post", "jsp/loginout.jsp", true);
	loginoutHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
	loginoutHttp.send(null);
}
function handleStateLoginOut(){
  if (loginoutHttp.readyState == 4) {
		if (loginoutHttp.status == 200) {
		   var resultDoc=loginoutHttp.responseXML;
		   var result=resultDoc.getElementsByTagName("result")[0].getAttribute("value");
		   if(result=="1"){
		       alert("Login out");
		       setStatus();
		   }
		} else {
		  
		}
	}
}


function getRateXML(fromArea,toArea) {
	createXMLHttpRequest("rateHttp");
	rateHttp.onreadystatechange = handleStateRate;
	rateHttp.open("post", "jsp/getRate.jsp", true);
	rateHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
	rateHttp.send("from="+fromArea+"&to="+toArea);
}
function handleStateRate(){
  if (rateHttp.readyState == 4) {
		if (rateHttp.status == 200) {
		   var resultDoc=rateHttp.responseXML;
		   var result=resultDoc.getElementsByTagName("result")[0].getAttribute("value");
		   if(result=="1"){
		      var rate=resultDoc.getElementsByTagName("result")[0].childNodes[0].nodeValue;
		      setRate(rate);
		   }
		} else {
		  
		}
	}
}