

function AjaxManager()
{
    var xmlHttp;
    var queue;
    this.queue = new Array();

    if(window.XMLHttpRequest) // code for all new browsers
    {
        this.xmlHttp = new XMLHttpRequest();
    }
    else if(window.ActiveXObject) // code for IE5 and IE6
    {
        this.xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

}


AjaxManager.prototype.sendRequest = function (file, queryString, div)
{

    xmlHttp2 = this.xmlHttp;
    queue = this.queue;


    if(this.xmlHttp)
    {
        /* Request Daten in die Warteschlange setzen, falls der vorherige noch nicht abgeschlossen ist */
        if(this.xmlHttp.readyState == 1 || this.xmlHttp.readyState == 2 || this.xmlHttp.readyState == 3)
        {
            queueLength = this.queue.length;
            this.queue[queueLength] = new Array();
            this.queue[queueLength][0] = file;
            this.queue[queueLength][1] = queryString;
            this.queue[queueLength][2] = div;
            document.getElementById(div).innerHTML = '<img src="/include/designs/rsv2/img/ajax-loader.gif" align="center">'; //Optionaler Infotext
        }
        else
        {
            if(queryString == "")
            {
                this.xmlHttp.open('GET', file, true);
            }
            else
            {
                this.xmlHttp.open('POST', file, true);
                this.xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

                //Von mir reingesetzt
                this.xmlHttp.setRequestHeader("Content-length", queryString.length);
                this.xmlHttp.setRequestHeader("Connection", "close");
                //Von mir reingesetzt //ENDE

                this.xmlHttp.send(queryString);
            }


            xmlHttp2.onreadystatechange = function(){

                var newdiv = document.createElement("div");
                var container = document.getElementById(div);

                if(xmlHttp2.readyState == 1)
                {
                    newdiv.innerHTML = '<img src="/include/designs/rsv2/img/ajax-loader.gif" align="center">';
                    container.appendChild(newdiv);
                }


                if(xmlHttp2.readyState == 2)
                {
                    newdiv.innerHTML = '<img src="/include/designs/rsv2/img/ajax-loader.gif" align="center">';
                    container.appendChild(newdiv);
                }

                if(xmlHttp2.readyState == 4)
                {
                    if(xmlHttp2.status == 200)
                    {

                        newdiv.innerHTML = xmlHttp2.responseText;

                        container.innerHTML = "";
                        container.appendChild(newdiv);

                       //document.getElementById(div).innerHTML = xmlHttp2.responseText;
                    }
                    else if(xmlHttp2.status == 404)
                    {
                        document.getElementById(div).innerHTML = 'Die Datei wurde nicht gefunden!';
                    }
                    queueLength = queue.length;
                    if(queueLength != 0)
                    {
                        this.sendRequest(queue[0][0], queue[0][1], queue[0][2]);
                        queue.shift();
                    }
                }
            };

            if(queryString == "")
            {
                xmlHttp2.send(null);
            }
        }
    }
    return true;
}
