//der Ajax handle
var http_request = false;
//variable die besagt, ob Daten per GET oder POST versendet werden
var vars_by_get = true;
//request timeout eventhandle
var request_timeout_handle;

function macheRequest(url, infos) {
    http_request = false;	
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } 
    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, Evt. ist Ihr Browser zu alt.');
        return false;
	}
	
    // function wenn was passiert
    //http_request.onreadystatechange = aendere;
    http_request.onreadystatechange = function (){
        if (http_request.readyState == 0) { 		// State 0: nicht initialisiert 
            //document.getElementById('dasDiv').innerHTML = "State 1: l&auml;dt.";
        }
        else if (http_request.readyState == 1) { 	// State 1: lädt.
            //document.getElementById('dasDiv').innerHTML = "State 1: l&auml;dt.";
        }
        else if (http_request.readyState == 2) { 	// State 2: fertig geladen
            //document.getElementById('dasDiv').innerHTML = "State 2: fertig geladen.";
        }
        else if (http_request.readyState == 3) { 	// State 3: wartet
            //document.getElementById('dasDiv').innerHTML = "State 3: wartet.";
        }
        else if (http_request.readyState == 4) {  	// State 4: fertig
            //if (http_request.status == 200 || http_request.status == 0) {
            if (true) {
                //document.getElementById('dasDiv').innerHTML = http_request.responseText; 	       
                alert(http_request.responseText+' '); 
            } 
            else { 
                alert('Leider gab es ein Problem mit dem HTTP_REQUEST. ('+http_request.status+') '); 
            }
        }
        // den request timeout abbrechen
        window.clearTimeout(request_timeout_handle);
    };


    // Unterscheidung in der Informations Übermittlung GET - POST
    if (vars_by_get) {
        // GET
        // false steht für synchron 
        // true steht für asynchron 
        http_request.open('GET', url + "?" + infos, true);

        // cacheing im IE verhindern
        http_request.setRequestHeader("Pragma", "no-cache");
        http_request.setRequestHeader("Cache-Control", "must-revalidate");
        http_request.setRequestHeader("If-Modified-Since", document.lastModified);
		
        // absenden
        http_request.send(null);
	}
	else {
        // POST
        // false steht für synchron 
        // true steht für asynchron 
        http_request.open("POST", url, true);
        // Bei POST ist die Sache nicht ganz so einfach, 
        // denn ein Webbrowser schickt bei POST-Anfragen immer einen speziellen HTTP-Header mit, 
        // um das serverseitige Skript darauf vorzubereiten. 
        // Die zugehörige Methode heißt setRequestHeader(), der HTTP-Header ist Content-Type, 
        // und der erforderliche Wert ist "application/x-www-form-urlencoded". 
        http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        // cacheing im IE verhindern
        http_request.setRequestHeader("Pragma", "no-cache");
        http_request.setRequestHeader("Cache-Control", "must-revalidate");
        http_request.setRequestHeader("If-Modified-Since", document.lastModified);
	    // absenden der Infos
        http_request.send(infos);
	}

	// Timeout Methode setzen
	request_timeout_handle = window.setTimeout("request_abbrechen()", 5500);
}

//methode um bei einem zulange dauernenden Request den Request abzubrechen.
function request_abbrechen() {
	http_request.abort();
	alert("Der HTTP__REQUEST dauerte zu lange und wurde abgebrochen.");
}


function thefeedback(obj){
	var str_obj 	= "" + obj + ""; 
	var str_href 	= "" + obj.href + "";
	var str_name 	= "" + obj.name + "";
	var str_target 	= "" + obj.target + "";
	var str_onclick = "" + obj.onclick + "";

	var infos = obj.href.split("?");
	var page_link = infos[0];
	var page_vars = infos[1];

// replace falschen link Quik and Dirty
    page_vars = page_vars.replace("kunstwerke", "kuenstler");


	// aufruf
	macheRequest('http://www.bailer-kunst.de/richter/dr/ajax_parts/bild_add.php', page_vars);
	
	// damit der Link nicht angesprungen wird	
	return false;
}



