/*
    a_request.js
*/


var gurl;
var gid;
var http_request = false;

function initRequest()
{
        http_request = false;

        if(window.XMLHttpRequest)
        {
                // IE ab 7.0, Mozilla, Safari,...
                http_request = new XMLHttpRequest();
        }
        else if(window.ActiveXObject)
        {
                // bis IE 6
                try
                {
                        http_request = new ActiveXObject("Msxml2.XMLHTTP");
                }
                catch (e)
                {
                        try
                        {
                                http_request = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                        catch (e)
                        {
                        }
                }
        }

        if(!http_request)
        {
                document.getElementById(id).innerHTML="Kann keine XMLHTTP-Instanz erzeugen";
                return false;
        }
}

function Request(url, id, method)
{
        gurl = url;
        gid = id;

        if( method == 'GET')
        {
                http_request.onreadystatechange = response;
                http_request.open('GET', url, true);
                //request_time = window.setTimeout("abort_Request()", 5000);
                http_request.send(null);
        }
        else
        {
                http_request.onreadystatechange = response;
                http_request.open('POST', url, true);
                //request_time = window.setTimeout("abort_Request()", 5000);
                http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                http_request.send(method);
        }
}

function response()
{
        if (http_request.readyState == 4)
        {
                //window.clearTimeout(request_time);
                if (http_request.status == 200)
                {
                        document.getElementById(gid).innerHTML=http_request.responseText;
                }
                else
                {
                        document.getElementById(gid).innerHTML="Beim Request ist ein Problem aufgetreten.";
                }
        }
}

function abort_Request()
{
        http_request.abort();
        document.getElementById(gid).innerHTML = "Timeout: Anfrage dauerte mehr als 5 Sekunden.";
}

function post( url, id, button)
{
        postvars = '';
        for (var i=0; i<document.forms[0].length; i++)
        {
                if(document.forms[0].elements[i].type != 'button' && document.forms[0].elements[i].type != 'Reset' && document.forms[0].elements[i].type != 'Submit')
                {
                        postvars = postvars + document.forms[0].elements[i].name + '=' + document.forms[0].elements[i].value + '&';
                }
        }
        postvars = postvars + button + '=1'
        Request( url, id, postvars);
}
