function Ajax() {

	var is_idle = true;
    var http_request = null;

	var t = this;

	create = function(){
		if (window.XMLHttpRequest) {
			http_request = new XMLHttpRequest();   // Все браузеры и IE 7
		} else if (window.ActiveXObject) {
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");   // IE 6
			} catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");  // IE 5, 5.5
				} catch (e) { http_request = false }
			}
		}

		if (!http_request) {
			alert('Ваш браузер не поддерживает данную технологию.');
			return false;
		}
	    t.is_idle = true;
	};

	this.loadXMLDoc = function(url){
		http_request.open('GET', url, true);
		http_request.onreadystatechange = processReqChange;
		http_request.send(null);
	};

	this.doBeforStart = function()
	{
	};

	processReqChange = function( ) {
	   if ( http_request.readyState == 1 )
	   {
		  t.doBeforStart();
	   }
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				if ( http_request.responseXML.documentElement ) {
                    t.is_idle = true;
					t.processAnswer(http_request.responseXML.documentElement)
				}
			}
			if (http_request.status == 204)
			{
				t.doIfError();
			}
		}
	};

	this.doIfError = function ()
	{
	    alert("Ошибка! Невозможно выполнить операцию.")
	}

	create();
}

ajaxHandler = new Ajax;