function SortRequest(){
    var http_request = false;

    function makeRequest(url, seed) {

        http_request = false;
        url = url+'&seed='+seed;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
                // zu dieser Zeile siehe weiter unten
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
            return false;
        }
        http_request.onreadystatechange = handleResponse;
        http_request.open('GET', url, true);
        http_request.send(null);

    }

    function handleResponse() {

        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
            	document.getElementById("loader").style.visibility="hidden";
            	
                document.getElementById("left-column").innerHTML = http_request.responseText;
            } else {
                alert('Bei dem Request ist ein Problem aufgetreten.');
            }
        }

    }
    
    this.makeRequest = makeRequest;
    this.handleResponse = handleResponse;
}

function newSortRequest(url, seed){
	var req = new SortRequest();
	document.getElementById("loader").style.left = 20 + mouseX + "px";
	document.getElementById("loader").style.top = 20 + mouseY + "px";

   	document.getElementById("loader").style.visibility="visible";
	req.makeRequest(url, seed);
}
