jx = {
	flg : true,
	_xh_ieProgId : undefined,
	$getHTTPObject : function(){
		if(this._xh_ieProgId!==undefined){
			return new ActiveXObject(this._xh_ieProgId)
		}else{
			return new XMLHttpRequest
		}
	},
	$handler : function ($xml,$callback,$hash) {
		if ($xml.readyState == 4) {
			if($xml.status == 200) {
				var $result = "";
				if($xml.responseText) {
					$result = $xml.responseText;
				}
				if($callback)
					$hash ? $callback($result,$hash) : $callback($result);
			}
		}
	},
	$load : function ($url,$callback,$param,$hash) {
		if(this._xh_ieProgId == undefined)
			this.$init();
		var $xml = this.$getHTTPObject();

		if(!$xml||!$url) return;

		var $method;
		if(!$param){
			$method = "GET";
		}else{
			$method = "POST";
		}

		var $handler = function(){
			jx.$handler($xml,$callback,$hash)
		}

		$xml.open($method, $url, true);

		if($method=="POST") {
			$xml.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			$xml.setRequestHeader("Content-length", $param.length);
			$xml.setRequestHeader("Connection", "close");
		}
		$xml.onreadystatechange = $handler;
		$xml.send($param);
	},
	_XH_ACTIVE_X_IDENTS : ["MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","MICROSOFT.XMLHTTP.1.0","MICROSOFT.XMLHTTP.1","MICROSOFT.XMLHTTP"],
	$init : function(){
		if(typeof XMLHttpRequest=="undefined"&&typeof ActiveXObject!="undefined"){
			for(var a=0;a<this._XH_ACTIVE_X_IDENTS.length;a++){
				var b=this._XH_ACTIVE_X_IDENTS[a];
				try{
					new ActiveXObject(b);
					this._xh_ieProgId=b;
					break
				}catch(c){}
			}
			if(undefined===this._xh_ieProgId){
				throw"Could not create ActiveXObject. ActiveX might be disabled, or msxml might not be installed";
			}
		}
	}
};