function Asynchronous() 
{
	this._xmlhttp = new FactoryXMLHttpRequest();
}

function Asynchronous_call(url, blockname) 
{ //alert(blockname);
//alert(url);
	var instance = this;
	
	this._xmlhttp.open('GET', url, true);
	this._xmlhttp.onreadystatechange = function() 
	{
		switch(instance._xmlhttp.readyState) 
		{
			case 1:
				instance.loading(blockname);
				break;
			case 2:
				instance.loaded(blockname);
				break;
			case 3:
				instance.interactive(blockname);
				break;
			case 4:
				instance.complete(instance._xmlhttp.status, instance._xmlhttp.statusText, instance._xmlhttp.responseText, instance._xmlhttp.responseXML, blockname);
				break;
		}
	}

	this._xmlhttp.send(null);
}

function Asynchronous_loading(blockname) 
{

}

function Asynchronous_loaded(blockname) 
{
    
}

function Asynchronous_interactive(blockname) 
{
    
}

function Asynchronous_complete(status, statusText, responseText, responseHTML, blockname) 
{
    document.getElementById(blockname).innerHTML = responseText;
}

Asynchronous.prototype.loading = Asynchronous_loading;
Asynchronous.prototype.loaded = Asynchronous_loaded;
Asynchronous.prototype.interactive = Asynchronous_interactive;
Asynchronous.prototype.complete = Asynchronous_complete;
Asynchronous.prototype.call = Asynchronous_call;
