
// Executes an AJAX Request
function MakeHttpRequest(url, callback_function, destination)
{
    var http_request = false;

    if (window.XMLHttpRequest)
    {
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType)
        {
            http_request.overrideMimeType('text/xml');
        }
    }
    else if (window.ActiveXObject)
    {
        try
        {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {}
        }
    }

    if (!http_request)
    {
        alert('Dein Browser unterst?tzt ein verwendetes Feature nicht.');
        return false;
    }

    http_request.onreadystatechange = function()
    {
        try {
            if (http_request.readyState == 4)
            {
                if (http_request.status == 200)
                {
                    if (destination)
                    {
                        eval(callback_function + '(http_request.responseText, \'' +destination+ '\')');
                    }
                    else
                    {
                        eval(callback_function + '(http_request.responseText)');
                    }
                }
                else
                {
                    alert('Bei einem httpRequest ist ein Fehler aufgetreten (Code: ' + http_request.status + ').');
                }
            }
        }
        catch(e) { return false; }
    }

    http_request.open('GET', url, true);
    http_request.send(null);
}
