<!--
var ajax = new Object();
ajax.READY_STATE_UNITIALIZED = 0;
ajax.READY_STATE_LOADING = 1;
ajax.READY_STATE_LOADED = 2;
ajax.READY_STATE_INTERACTIVE = 3;
ajax.READY_STATE_COMPLETED = 4;

ajax.ContentLoader = function(url, onload, onerror)
{
	this.url = url;
	this.req = null;
	this.onload = onload;
	this.onerror = (onerror) ? onerror : this.defaultError;
	this.loadXMLDoc(url);
}

ajax.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('POST',url,true);
				this.req.send(null);
			}
			catch (err)
			{
				this.onerror.call(this);
			}
	},
	onReadyState:function()
	{
		var req = this.req;
		var ready = req.readyState;
		if (ready == ajax.READY_STATE_COMPLETED)
		{
			var httpStatus = this.req.status;
			if (httpStatus == 200 || httpStatus == 0)
				this.onload.call(this);
			else
				this.onerror.call(this);
		}
	},
	defaultError:function()
	{
		alert('ошибка при получении данных!');//+"\n\nreadyState:"+this.req.readyState+"\nstatus: "+this.req.status+"\nheaders: "+this.req.getAllResponseHeaders());
	}
}
//-->