/*
	创建者： Josh.Li 
	创建时间： 2005-4-2
	描述：
	    主要用于用户的登陆，注销，检查用户的是否在在线


*/


/*
	var oUserBean
	function checkUser(){
		var sessionId = queryString("SessionId")
		if(sessionId == null) sessionId = ""
		oUserBean = new UserBean()
		var oUserSession = new UserSessionBean();
		oUserBean = oUserSession.checkSession(sessionId)
		if(oUserBean == null){//用户登陆已经过期
			top.window.location.href = "logon.htm";
		}
		return ;
	}
*/

function UserSessionBean(){
	var oUserDoc		= new ActiveXObject("Microsoft.XMLDOM")
	var xmlhttp		=  new ActiveXObject("Microsoft.XMLHTTP");
	oUserDoc.async		= false
	oUserDoc.validateOnParse = false
	var sRequestUrl = "../CommandProcessCenter"

	this.setUrl = function(sUrl){
		sRequestUrl = sUrl
	}

	//登陆 
	// 如果登陆成功 ：返回UserBean 对象 ，否则返回 null
	this.logon = function(userID,password,usertype){
		var oResult 
		var oUserBean = new UserBean()

		var oUser = oUserDoc.createElement("Report");
		oUser.setAttribute("username",userID);
		oUser.setAttribute("password",password);
		oUser.setAttribute("usertype",usertype)
		oUser.setAttribute("action","UserLogon");
		
		xmlhttp.abort()
        xmlhttp.onreadystatechange=httpReadStateChange
        xmlhttp.open("POST",sRequestUrl,false)
		xmlhttp.send(oUser.xml)
		
		//prompt("Logon",oUser.xml)
		function httpReadStateChange(){
			var readyState=xmlhttp.readyState 
			 
			if (readyState==4){
				xmlhttp.onReadyStateChange=new Function()
				oUserDoc.load(xmlhttp.responseBody)
				//prompt("LogonResult",oUserDoc.xml)
				var oUserRoot = oUserDoc.documentElement
				var status = oUserRoot.getAttribute("status")
				var returnValue = oUserRoot.getAttribute("returnvalue")
				if(returnValue == "true"){
					oUserBean.load(oUserRoot.xml)
					oResult = oUserBean
				}else
					oResult = null
			}
		}

		return oResult;
	}

	//注销 return 1  0 
	this.logout = function(userID,usertype){
		var oResult 

		var oUser = oUserDoc.createElement("Report");
		oUser.setAttribute("username",userID);
		oUser.setAttribute("usertype",usertype)
		oUser.setAttribute("action","UserLogout");
		
		xmlhttp.abort()
        xmlhttp.onreadystatechange=new Function()
        xmlhttp.open("POST",sRequestUrl,false)
		xmlhttp.send(oUser.xml)

		return true;	
	}

	//返回UserBean对象
	this.checkSession = function(sessionId){
		var oResult 
		var oUserBean = new UserBean()

		var oUser = oUserDoc.createElement("Report");
		oUser.setAttribute("sessionid",sessionId);
		oUser.setAttribute("action","CheckSession");
		
		//prompt("",oUser.xml)
		xmlhttp.abort()
        xmlhttp.onreadystatechange=httpReadStateChange
        xmlhttp.open("POST",sRequestUrl,false)
		xmlhttp.send(oUser.xml)
		
		function httpReadStateChange(){
			var readyState=xmlhttp.readyState 
			 
			if (readyState==4){
				xmlhttp.onReadyStateChange=new Function()
				oUserDoc.load(xmlhttp.responseBody)
				//prompt("",oUserDoc.xml)
				var oUserRoot = oUserDoc.documentElement
				var status = oUserRoot.getAttribute("status")
				var returnValue = oUserRoot.getAttribute("returnvalue")
				if(returnValue == "true"){
					oUserBean.load(oUserRoot.xml)
					oResult = oUserBean
				}else
					oResult = null
			}
		}

		return oResult;	
	}


}
