//
// Behandlung von JSON-Nachrichten
//
function showJsonFortuneMessage(json) {
  // Umwandeln der JSON-Notation und auswerten:
  showFortuneMessage(json.parseJSON().message);

  // Alternative: Ohne JSON-Bibliothek:
  showFortuneMessage(eval('('+json+')').message);
}


//
// Behandlung von XML-Nachrichten
//
function showXmlFortuneMessage(xmlDocument) {
  showFortuneMessage(xmlDocument.documentElement.firstChild.nodeValue);
}


//
// Behandlung von Textnachrichten
//
function showFortuneMessage(message) {
  var htmlElement = document.getElementById("fortuneMessage");

  htmlElement.innerHTML = message;
}

//
// Behandlung von HTML-Nachrichten
//
showHtmlFortuneMessage = showFortuneMessage;


//
// Behandlung von Grafiken
//
function showFortunePic(encodedPic) {
  var img = document.createElement("img");
  var personenName = document.getElementById("personenName").value;

  img.src = encodedPic;

  document.getElementById("groesse").innerHTML = "Das Orakel hat " + String(encodedPic).length + " weise Bytes für " + personenName + " gesendet.";

  var htmlElement = document.getElementById("fortuneMessage");
  if (htmlElement.hasChildNodes()) {
          htmlElement.replaceChild(img,htmlElement.firstChild);
  } else {
          htmlElement.appendChild(img);
  }
}

//
// Die althergebrachte Lösung OHNE Ajax:
function insertFortunePic(url) {
    var img = document.createElement("img");
    var personenName = document.getElementById("personenName").value;

    //img.src= '/code/WS/getFortuneCookieWS/?mimeType=image/x-uri-data-png&person=' + personenName;
    img.src = url;

    var htmlElement = document.getElementById("fortuneMessage");
    if (htmlElement.hasChildNodes()) {
	htmlElement.replaceChild(img,htmlElement.firstChild);
    } else {
	htmlElement.appendChild(img);
    }
}


//
// Variante zum Laden des Biildes per Ajax
// Diese Variante ist KEIN Handler für asynchrone Ajax-Calls,
// sondern wird ohne Parameter gerufen und führt den Call
// sowie sämtliche Seiten-Manipulationen selbst durch.
// Für Testzwecke...
//
function showFortunePicTEST() {
    var img = document.createElement("img");
    var personenName = document.getElementById("personenName").value;

    // TEST:  var bild = Lokris.AjaxCall('/Include/gelb.png.base64',null,{async:false});

    // großes Bild:
    var bild = Lokris.AjaxCall('/code/WS/getFortuneCookieWS/?mimeType=image/x-uri-data-png&person=' + personenName,null,{async:false});
    // kleines Bild:
    // var bild = Lokris.AjaxCall('/code/WS/getFortuneCookieWS/?mimeType=image/x-cookie-button&person=' + personenName',null,{async:false});


    /* TEST:
  img.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR42mP4%2F58BAAT%2FAf9jgNErAAAAAElFTkSuQmCC";
  img.width = 100;
  img.height = 100;
    */

    img.src= bild.responseText;

    document.getElementById("groesse").innerHTML = "Das Orakel hat " + bild.responseText.length + " weise Bytes für " + personenName + " gesendet.";


    var htmlElement = document.getElementById("fortuneMessage");
    if (htmlElement.hasChildNodes()) {
	htmlElement.replaceChild(img,htmlElement.firstChild);
    } else {
	htmlElement.appendChild(img);
    }
}
