
var Request = new Object();

Request.send = function(url, method, callback, data) {
	var req;
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	req.onreadystatechange = function() {
		if (req.readyState == 4) {// only if req shows "loaded"
			//alert("res:" + req.responseText);
			if (req.status < 400) {// only if "OK"
				(method=="POST") ? callback(req) : callback(req,data);
			} else {
				//alert("There was a problem loading data :\n" + req.status+ "/" + req.statusText);
			}
		}
	}
	try {
		if (method=="POST") {
			req.open("POST", url, true);
			req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			//req.setRequestHeader('Connection','close'); //STUPID 400 FF ERROR FIX
			req.send(data);
		} else {
			req.open("GET", url, true);
			req.send(null);
		}
	} catch(err){ 
		alert("Request Error:" + err);
		so_showStat();
	}

	return req;
}

Request.sendPOST = function(url, data, callback) {
	Request.send(url, "POST", callback, data);
}
Request.sendGET = function(url, callback, args) {
	return Request.send(url, "GET", callback, args);
}

