if (typeof Node == "undefined") {
	var Node = {
		ELEMENT_NODE: 1,
		ATTRIBUTE_NODE: 2,
		TEXT_NODE: 3,
		CDATA_SECTION_NODE: 4,
		ENTITY_REFERENCE_NODE: 5,
		ENTITY_NODE: 6,
		PROCESSING_INSTRUCTION_NODE: 7,
		COMMENT_NODE: 8,
		DOCUMENT_NODE: 9,
		DOCUMENT_TYPE_NODE: 10,
		DOCUMENT_FRAGMENT_NODE: 11,
		NOTATION_NODE: 12
	}
}


function HttpRequest() {
	this.__httprequest__;
				
	this.send = function(url,fcallback,post_parameters) {
		try {
			if(window.XMLHttpRequest) {
				this.__httprequest__ = new XMLHttpRequest();
				if (this.__httprequest__.overrideMimeType) {
            		this.__httprequest__.overrideMimeType('text/xml');
         		}
			} else if(window.ActiveXObject) {
				this.__httprequest__ = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} catch(e){
			try { this.__httprequest__ = new ActiveXObject("Msxml2.XMLHTTP");	} catch(ex) { this.__httprequest__ = false; }
		}
		if(this.__httprequest__) {
			req = this.__httprequest__;
					
			req.onreadystatechange = function() {	
				if (req.readyState == 4) {				
	  				if (req.status == 200) {
						fcallback(req.responseXML);
					} else {						
						// console.log("Problem retrieving XML data")
						// alert("Problem retrieving XML data");
					}	
			    }			
			};
			if(post_parameters) {
				req.open('POST', url, true);
				req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				req.setRequestHeader("Content-length", post_parameters.length);
				req.setRequestHeader("Connection", "close");
				req.send(post_parameters);
			} else {
				req.open("GET",url,true);
				req.send(null);
			}
		}
	}
}