// JavaScript Document

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, method, request, onload, onerror)
{
	this.url = url;
	this.method = method.toUpperCase();
	this.request = request;
	this.req = null;
	this.onload = onload;
	this.onerror = (onerror)?onerror:this.defaultError;
	this.loadXMLDoc(url);
}
net.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);
			}
			if(this.method == "GET")
			{
				url = url + '?' + this.request;
			}

			this.req.open(this.method, url, true);

			if(this.method == "GET")
			{
				url = url + '?' + this.request;
			}
			else if(this.method == "POST")
			{
				this.req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
			}

			this.req.send(this.request);
		}
		catch(err)
		{
			this.onerror.call(this);
		}
	}
};
net.onReadyState = function()
{
	var req = this.req;
	var ready = req.readyState;
	if(ready==net.READY_STATE_COMPLETE)
	{
		var httpStatus = req.status;
		if( httpStatus == 200 || httpStatus == 0 )
		{
			this.onload.call(this);
		}
		else
		{
			this.onerror.call(this);
		}
	}
};
net.defaultError = function()
{
	alert( "error fetching data!"
		  +"\n\nreadyState: " + this.req.readyState
		  +"\nstatus: " + this.req.status
		  +"\nheaders: " + this.req.getAllResponseHeaders()
		  );
};

function getHTMLData()
{
	txt = this.req.responseText;
	document.getElementById(htmlDiv).innerHTML = txt;
	document.getElementById(htmlDiv).style.display = "block";
}