// JavaScript Document

function xmlhttpClass(){

	this.Doc		= false
	this.Phase		= false
	this.Load		= true
	this.Mode		= "get"
	this.SCName		= ""
	this.Sub		= ""

	var $Obj_Doc	= this.Doc
	var $Bln_Phase	= this.Phase
	var $Str_Mode	= this.Mode
	var $Str_SCName	= this.SCName
	var $Str_Sub	= this.Sub
	var $Bln_Load	= this.Load
	
	var $Obj_XML	= false
	
	var $Str_ResponseText = ""
	this.ResponseText	= function (){return $Str_ResponseText}
	
	var $Bln_Open = false
	this.Open = function (){return Boolean($Bln_Open)}
	
	var $Int_State = -1
	this.State = function (){return $Int_State}
	
	var $Int_Error = 0
	this.Error = function (){return $Int_Error}
	
	this.Initialize = function Initialize(){
		$Obj_XML = CreateObject()
		if ($Obj_XML){$Bln_Open = true}
	}
	
	function CreateObject(){
		var $ajax=false; 
		try{			//如果支持 Msxml2.XMLHTTP
			$ajax = new ActiveXObject("Msxml2.XMLHTTP"); 
		}
		catch (e) {
			try {		//如果支持 Microsoft.XMLHTTP
				$ajax = new ActiveXObject("Microsoft.XMLHTTP"); 
			}
			catch (e){//如果支持 XMLHttpRequest
				if (typeof(XMLHttpRequest) !='undefined'){
					$ajax = new XMLHttpRequest(); 
				}
				else{
					return false;
				}
			} 
		}
   		return $ajax;
	}
	
	this.Request = function ($url){
	
		if (!$Bln_Open)	{Initialize()}
		if (!$Bln_Open){$Int_Error = 1;return}
		if ($url == "")	{$Int_Error = 2;return}
		
		$Obj_Doc	= this.Doc
		$Str_SCName	= this.SCName
		$Str_Sub	= this.Sub
		
		$Bln_Load	= this.Load
		$Bln_Phase	= new Boolean(this.Phase)
		$Str_Mode	= this.Mode == "get" ? this.Mode : "post"
		
		$Obj_XML.open($Str_Mode,$url,$Bln_Phase);
		$Obj_XML.onreadystatechange = function() {
			switch($Obj_XML.readyState){
				case 1:
					feedback("准备链接数据源....",1)
					break;
				case 2:
					feedback("正在链接数据源....",2)
					break;
				case 3:
					feedback("正在读取数据....",3)
					break;
				case 4:
					if ($Obj_XML.status == 200){
						feedback("",$Obj_XML.status)
					}
					else if ($Obj_XML.status == 404){
						feedback("无法找到数据源!",$Obj_XML.status)
						break;
					}
					else if ($Obj_XML.status == 403){
						feedback("数据源拒绝访问!",$Obj_XML.status)
						break;
					}
					else if ($Obj_XML.status == 500){
						feedback("读取数据发生错误!",$Obj_XML.status)
						break;
					}
					else{
						feedback("读取数据失败，Error:"+ $Obj_XML.status +"!",$Obj_XML.status)
						break;
					}
			}
		}
		$Obj_XML.send(null);
	}
	
	function feedback($str,$state){
		if ($state == 200){$Str_ResponseText = $Obj_XML.responseText}
		else{$Str_ResponseText = $str}
		
		if ($Obj_XML.readyState == 4){$Int_State = $Obj_XML.status}
		else{$Int_State = $Obj_XML.readyState}
		
		if (!$Obj_Doc){return}
		
		//完成了(同步/异步都输入结果)
		if ($state == 200){
			if ($Str_Sub){
				try{$Obj_Doc.innerHTML = eval($Str_Sub)}
				catch($e){$Obj_Doc.innerHTML = $Str_ResponseText }
				}
			else{
				$Obj_Doc.innerHTML = $Str_ResponseText
			}
			return
		}
		
		//未完成(当指定要loading时，同步/异步都输入结果)
		if ($Bln_Load){$Obj_Doc.innerHTML="<div class=\""+ $Str_SCName +"\">"+ $str +"</div>"}
		
	}
	
}

function popwin2(id,path)
{		
	window.open("csanswer.asp?id="+id+"&ppath="+path,"","width=700,height=520,scrollbars=no,resizable=no,copyhistory=no,status=no");
}