//Globale Variablen
var reversi_shouts;
var reversi_gegner;
var user;

//Initialisierung der Shoutbox
function initreversiscript(userid)
{
  //Referenz auf reversi_shouts erzeugen und mit Hinweistext füllen
  reversi_shouts = document.getElementById('reversi_content');
  reversi_gegner = document.getElementById('reversi_gegner');
  reversi_shouts.innerHTML = "Liste wird erstellt";
  reversi_gegner.innerHTML = "Liste wird erstellt";
  user=userid;
 
  //onSubmit des Formulars reversi_inputform belegen
  //document.frmshoutbox.onsubmit = reversiSaveNewEntry;
   
    
  //Bisherige Nachrichten der Shoutbox erstmalig laden
  reversiLoadEntries();
  reversiLoadGegner();
  
  //Alle 5 Sekunden Shoutbox-Nachrichten neu laden
  setInterval("reversiLoadEntries()",4000);
  setInterval("reversiLoadGegner()",4000);
}

//Laden der reversi_entries.xml per AJAX
function reversiLoadEntries()
{
 with (new Ajax()) {
  url="./web-content/reversi-getdataich.php";
  onError=reversiShowError;
  params="user="+user;
  onSuccess=reversiShowEntries;
  doRequest(); 
 
 }
}
function reversiLoadGegner()
{
 with (new Ajax()) {
  url="./web-content/reversi-getdatagegner.php";
  onError=reversiShowError;
  params="user="+user;
  onSuccess=reversiShowGegner;
  doRequest();

 }
}

//Umformen der übertragenen reversi_entries.xml nach HTML
function reversiShowEntries(txt,xml)
{
    
  //Fehler beim Laden von reversi_entries.xml?
  if (reversiHasError(txt)) {
    reversiShowError(reversiGetError(txt));
    return null;
  }  
  
  var content = new String();
  var entryNode, nickNode, textNode;
  var entry = new Array();
  
 /* for(i=0; i<xml.getElementsByTagName('entry').length;i++) {
    entryNode = xml.getElementsByTagName('entry')[i];
    nickNode = entryNode.getElementsByTagName('nick')[0];
    textNode = entryNode.getElementsByTagName('text')[0]; 
    entry['nick'] = nickNode.firstChild.nodeValue;  
    entry['time'] = entryNode.attributes[0].nodeValue;
    entry['text'] = textNode.firstChild.nodeValue;  
    content += '<div class="nameandtime"><b>'+entry['nick']+'</b> ['+entry['time']+']: </div><div class="text">'+entry['text']+'</div>';
  } */
  reversi_shouts.innerHTML = txt;
}
function reversiShowGegner(txt,xml)
{

  //Fehler beim Laden von reversi_entries.xml?
  if (reversiHasError(txt)) {
    reversiShowError(reversiGetError(txt));
    return null;
  }

  var content = new String();
  var entryNode, nickNode, textNode;
  var entry = new Array();

 /* for(i=0; i<xml.getElementsByTagName('entry').length;i++) {
    entryNode = xml.getElementsByTagName('entry')[i];
    nickNode = entryNode.getElementsByTagName('nick')[0];
    textNode = entryNode.getElementsByTagName('text')[0];
    entry['nick'] = nickNode.firstChild.nodeValue;
    entry['time'] = entryNode.attributes[0].nodeValue;
    entry['text'] = textNode.firstChild.nodeValue;
    content += '<div class="nameandtime"><b>'+entry['nick']+'</b> ['+entry['time']+']: </div><div class="text">'+entry['text']+'</div>';
  } */
  reversi_gegner.innerHTML = txt;
}


//allgemeine Fehlerbehandlung
function reversiShowError(msg)
{
 //alert(msg);
}

//Überprüft Rückgabe eines PHP-Skripts auf Fehlermeldung
function reversiHasError(msg)
{
  //Hat msg einen Inhalt?
  if (!msg) return false; 
  
  //Befindet sich Zeichenkette AOEERROR: am Anfang von msg?
  if (msg.indexOf("reversiERROR:") == 0) {
    return true;
  } else {
    return false;
  }
}

//Aufbereiten der Fehlermeldung eines PHP-Skripts
function reversiGetError(msg)
{
  //AOEERROR: aus Fehlermeldung entfernen
  return msg.replace(/reversiERROR:/, "");
}

//String-Objekt um die Funktion trim erweitern
String.prototype.trim = function () {
   return this.replace(/^\s+/, '').replace(/\s+$/, '');
}
