﻿function test(data) {
    alert(data);
}

function responsehandler() {
//    alert("new state: " + this.readyState + "(" + this.status + ")");
    if(this.readyState == 4 && this.status == 200) {
        if (this.responseXML != null) {
            test(this.responseXML);
        }
        alert(this.responseText);
        alert(this.responseXML);
    }
  
  
  /*
  if(this.responseXML != null && this.responseXML.getElementById('test').firstChild.data)
     // success!
   test(this.responseXML.getElementById('test').firstChild.data);
  else
   test(null);
 } else if (this.readyState == 4 && this.status != 200) {
  // fetched the wrong page or network error...
  test(null);
 }
 */
}

function ajax(target, handler, handlerparams) {
    var client = new XMLHttpRequest();
    client.onreadystatechange = function(){{handler(client, handlerparams)}};
    client.open("GET", target + "&cachebuster=" + Math.random(), false);
    //client.setRequestHeader("Content-Type","text/plain charset:UTF-8");
    //client.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    client.send();
}

function ajaxLoad(client, params) {
    if(client.readyState == 4 && client.status == 200)  {
        var elementID = params[0];
        $(elementID).set('html', client.responseText);
    }
}

//------- specific handlers ------------
function getMoreTimes(client, id) {
    if(client.readyState == 4 && client.status == 200)  {
        document.getElementById(id + 'cnt').innerHTML = client.responseText;
    }
}

function dcElementFill(client, params) {
    if(client.readyState == 4 && client.status == 200)  {
        var elemToFill = params[0];
        var resultElem = params[1];
//        alert("b:" + dayElement.innerHTML);
        elemToFill.options.length = 0;
        var res = client.responseText;
        if (!res[res.length-1] == ';') res = res + ";";
        var opts = res.split(";");
        var selectedIndex = opts[0];
        for (var i = 1; i < opts.length - 2; i++) {
            var o = new Option(opts[i],opts[i]);
            if (i == selectedIndex) {
                o.selected = true;
                o.defaultSelected = true;
            }
            if (o.value.indexOf("_") > 0) {
                var vtPair = o.value.split("_");
                o.value = vtPair[0];
                o.text = vtPair[1];
            }
            elemToFill.options[elemToFill.options.length] = o;
        }
        resultElem.value = opts[opts.length - 2]; // -2: last element is empty (str ends with ;)
    }
}

function bf_prodctrls(client, params) {
    if(client.readyState == 4 && client.status == 200)  {
        //alert(client.responseText);
        var respitems = client.responseText.split("||");
        document.getElementById('bf_prodctrls').innerHTML = respitems[0];
        var noPrice = respitems[1].substr(0,2) == "-1";
        var priceChanged = (!noPrice && respitems[1] != document.getElementById(bid_pricesign).innerHTML);
        var totalPriceChanged = (!noPrice && respitems[2] != $("booker_totalprice").get("value"));
        document.getElementById(bid_pricesign).innerHTML = noPrice ? "Haus leider belegt." : respitems[1];

        document.getElementById(bid_submitbtn).disabled = noPrice;
        document.getElementById(bid_submitbtn).className = noPrice ? "disabled" : "";

        document.getElementById('booker_houseprice').value = noPrice ? "--belegt--" : respitems[1];
        document.getElementById('booker_totalprice').value = noPrice ? "--belegt--" : respitems[2];
        document.getElementById('booker_insur_rrv_display').value = respitems[3];
        document.getElementById('booker_insur_uvp_display').value = respitems[4];
        
        if (priceChanged) alert("Neuer Hauspreis: " + respitems[1] + "\n\n");

        if (priceChanged) $("booker_houseprice").highlight("#ff0000");
        if (totalPriceChanged) $("booker_totalprice").highlight("#ff0000");
    }
}
