function Request(type, uri, data, respond, async){
	this.req = null;
	this.type = type;
	this.uri = uri;
	this.data = data;
	this.respond = respond;
	this.async = async;

	this.open = function(){
		try{
			this.req = new XMLHttpRequest();
		}catch(e){
			try{
				this.req = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				try{
					this.req = new ActiveXObject("Msxml2.XMLHTTP");
				}catch(e){
					this.req = null;
				}
			}
		}
		
		if(this.req){
			this.req.onreadystatechange = this.respond;
			this.req.open(this.type, this.uri, this.async);
			this.req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			this.req.send(this.data);
		}else{
			portal.showError("Your browser does not support AJAX. AJAX is essential to use this page.");
		}
	}
}
