
var z=0;
window.setInterval("Loader.register('linkrota|rota.php?p=' + z)", 1000); 

var LoaderObject = function()
{
    this.connection                = false;
    this.running                = false;
    this.requestQueue            = new Array();
    this.requestCounter            = 0;
    this.requestQueueCounter    = 0;
     
};


LoaderObject.prototype.initialize = function()
{
    if (window.XMLHttpRequest)
    {
        this.connection = new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        try
        {
            this.connection = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e)
        {
            try
            {
                this.connection = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            { 
                return false;
            }
        }
    }

    return true;
};


LoaderObject.prototype.runRequest = function()
{
    if(this.running)
    {
        return false;
    }

    if(!this.connection)
    {
        var reconnected = this.initialize();
        if(!reconnected)
        {
            return false;
        }
    }

    this.running = true;

    var request = this.requestQueue[this.requestCounter];

    if
    (
        !request['url'] ||
        !request['elementId']
    )
    {
        return false;
    }

    try
    {
        this.connection.open('POST', request['url'], true);
    }
    catch(e)
    {
        return false;
    }

    this.connection.onreadystatechange = function()
    {
        if (Loader.connection.readyState == 4)
        {
            if (Loader.connection.status == 200)
            {

			var splitart = Loader.connection.responseText.split('<trenner>');
			document.getElementById(splitart[0]).innerHTML =  splitart[1];

                Loader.requestCounter++;
                Loader.requestQueueCounter--;
				z=z+1;
		

                if (Loader.requestQueue.length > Loader.requestCounter)
                {
                    Loader.running = false;
                    setTimeout("Loader.runRequest()",200);



                }
                else
                {
                    Loader.running = false;
                    Loader.requestQueue = new Array();
                    Loader.requestCounter = 0;
                    Loader.requestQueueCounter = 0;
		    
                }
            }
            else
            {
                
            }
        }
    };

  
    this.connection.send(request['send']);
    return true;

				
};


LoaderObject.prototype.add = function(requestObject)
{
    var requestsParams = requestObject.split('|');

    this.requestQueue[this.requestQueue.length] = {
            'elementId'        : requestsParams[0]        || false,
            'url'            : requestsParams[1]        || false
    };

    this.requestQueueCounter++;
}


LoaderObject.prototype.register = function(request)
{
    if(typeof(request) != 'string')
    {
        return false;
    }

    var requestObjects    = request.split(',');

    if(typeof(requestObjects) == 'object')
    {
        for(var index in requestObjects)
        {
            this.add(requestObjects[index]);
        }
    }

    if
    (
        !this.running &&
        this.requestQueueCounter > 0
    )
    {
        this.runRequest();
    }

    return null;
};

var Loader = new LoaderObject();

