
var net = new Object();
net.READY_STATE_UNINITIALIZED = 0;
net.READY_STATE_LOADING = 1;
net.READY_STATE_LOADED = 2;
net.READY_STATE_INTERACTIVE = 3;
net.READY_STATE_COMPLETE = 4;
net.ContentLoader = function(url, onload, onerror) {
	this.url = url;
	this.req = null;
	this.onload = onload;
	this.onerror = (onerror) ? onerror : this.defaultError;
	this.loadXMLDoc(url);
}
net.ContentLoader.prototype = {
	loadXMLDoc:function(url) {
		if (window.XMLHttpRequest) {
			this.req = new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			this.req = new ActiveXObject("Microsoft.XMLHTTP");
		}
		if (this.req) {
			try {
				var loader = this;
				this.req.onreadystatechange = function() {
					loader.onReadyState.call(loader);
				}
				this.req.open('GET', url, true);
				this.req.send(null);
			} catch (err) {
				this.onerror.call(this);
			}
		}
	},
	onReadyState:function() {
		var ready = this.req.readyState;
		if (ready = net.READY_STATE_COMPLETE) {
			this.onload.call(this);
		} else {
			this.onerror.call(this);
		}
	},
	defaultError:function() {
		alert('Error retreiving data!');
	}	
}

