/*
 <script src="ajax.js"></script>
 setRequest(data, url, silent)
 */
// Request senden
var xurl = "";
var g_task = "";
/*
 * BEISPIEL
 *
 * setRequest("obst=apfel&gemuese=tomate", "supermarkt.php", silent_true_false, "response_action_case");
 */
function setRequest(data, url, silent, task){
    xurl = url;
    g_task = task;
    //alert(data+"|"+url+"|"+silent+"|"+task);
    // Request erzeugen
    if (document.getElementById("status_image") != null) {
        document.getElementById("status_image").src = "resource/images/ajax-loader.gif";
    }
    
    if (window.XMLHttpRequest) {
        request = new XMLHttpRequest(); // Mozilla, Safari, Opera
    }
    else 
        if (window.ActiveXObject) {
            try {
                request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
            } 
            catch (e) {
                try {
                    request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
                } 
                catch (e) {
                }
            }
        }
    
    // überprüfen, ob Request erzeugt wurde
    if (!request) {
        alert("Kann keine XMLHTTP-Instanz erzeugen");
        return false;
    }
    else {
    
    
        // Request öffnen
        request.open('post', url, true);
        // Request senden
        request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        request.send(data);
        // Request auswerten
        if (!silent) {
        
            request.onreadystatechange = interpretRequest;
        }
    }
}

// Request auswerten
function interpretRequest(){

    switch (request.readyState) {
        // wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
        case 4:
            if (request.status != 200) {
                alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:" + request.status + "| URL: " + xurl);
            }
            else {
            
                var response = request.responseText;
                // den Inhalt des Requests in das <div> schreiben
                
                
                //alert(g_task);
                response_action(g_task, response);
                
            //init();
            
            }
            break;
        default:
            
            break;
    }
}

function response_action(task, x){
    //alert(task+"\n"+x);
    //document.getElementById("status_image").src = "resource/images/clear.gif";
    switch (task) {
        case "set_calendar_a":
			 //setRequest("", "module_csection.php", false, "select_subLocation");
			  insertInfo("calendar_box", x);
            break;
           
         case "show_list":
			  insertInfo("event_box", x);
            break;
			
			case "show_schedule_parentwindow":
            //Aktualisieren des Reservierungsplans
			top.window.document.getElementById("event_box").innerHTML = x;
			//GrexBox schließen
			parent.parent.GB_hide();
            break;
			
        default:
            alert("Error ResponseTask: " + task);
    }
    
    
}


function insertInfo(ausgabe_element, info){

    if (document.getElementById(ausgabe_element) != null) {
        //alert(ausgabe_element+"\n"+info);
        if (document.getElementById(ausgabe_element).tagName == "INPUT") {
        
            document.getElementById(ausgabe_element).value = info;
        }
        else {
            document.getElementById(ausgabe_element).innerHTML = info;
        }
        
    }
    
    
}

