﻿function Asynchronous( ) 
{
    this._xmlhttp = new FactoryXMLHttpRequest();
}
function Asynchronous_call(url) 
{
    var instance = this;
    this._xmlhttp.open('GET', url, true);
    this._xmlhttp.onreadystatechange = function() 
        {
            switch(instance._xmlhttp.readyState) 
            {
                case 1:
                    instance.loading();
                break;
                case 2:
                    instance.loaded();
                break;
                case 3:
                    instance.interactive();
                break;
                case 4:
                    instance.complete(instance._xmlhttp.status,instance._xmlhttp.statusText,
                            instance._xmlhttp.responseText, instance._xmlhttp.responseXML);
                break;
            }
        }
    this._xmlhttp.send(null);
}
function Asynchronous_loading() 
{
}
function Asynchronous_loaded() 
{
}
function Asynchronous_interactive() 
{
}
function Asynchronous_complete(status, statusText, responseText, responseXML) 
{
}
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;