function TXMLHttpRequest(){
	this.URL = null;
	this.method = 'get';
	this.body = null;
	this.xmlhttp = this.create();
	this.status = 0;
	this.responseText = null;
	this.responseXML = null;
	this.completeHandler = null;
	this.progressHandler = null;
	this.handlerOwner = null;
	this.handlerParam = new Array;

}
TXMLHttpRequest.prototype = {
	create : function(){
	    if (window.XMLHttpRequest) {
	        try {
	            return new XMLHttpRequest();
	        }
	        catch (e){}
	    }
	    else{	    	return new ActiveXObject('Msxml2.XMLHTTP.3.0');
	    }
	},
	open: function(method, url, mode){		var t = this;		this.method = method;
		this.url = url;
		this.async = mode;
		this.xmlhttp.open(this.method, this.url, this.async);
		this.xmlhttp.onreadystatechange = function(){t.checkResponse.call(t)};	},
	send : function(body){		this.body = body;
		this.xmlhttp.send(this.body);
	},
	setRequestHeader: function(typeHeader, contentHeader){		this.xmlhttp.setRequestHeader(typeHeader, contentHeader);	},
	checkResponse: function(){		if(!this.completeHandler){			return true;		}
		if (this.xmlhttp.readyState == 4){			//alert(this.xmlhttp.responseText);			
		this.response = this.xmlhttp.responseXML;
			this.completeHandler.call(this.handlerOwner, this.response);		}	}
}
