// Letzter Request
var last_request=0;

// Setzen der Vaiable damit der Chat nicht zum DOS wird
var dosProtect = 0;

// Lade Einträge alle x Sekunden
// var aktiv = setInterval("loadData()",12000);

// Beendet die asb_loading-Anzeige
function asb_loadingEnd()
{
 document.getElementById("asb_loading").innerHTML='';
}

// Funktion um zur letzten Nachricht zu scrollen
function Scrolling()
{
 if (document.getElementById('autoscroll'))
 {
  if (document.getElementById('autoscroll').checked)
  {
   var cdiv=document.getElementById('asb_contentwrap');
   cdiv.scrollTop=cdiv.scrollHeight;
  }
 }
}

// Funktion zum Laden der Einträge
function loadData(uid)
{
 var id = encodeURIComponent(document.frmshoutbox.uid.value);
 var xmlHttp = false;
 // XML HttpRequest-Instanz für IE < Version 6 erstellen
 try
 {
  xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
 }
 catch(e)
 {
  try
  {
   xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
  }
  catch(e)
  {
   xmlHttp  = false;
  }
 }
 // XML HttpRequest-Instanz für für Mozilla, Opera, Safari usw. erstellen
 if (!xmlHttp  && typeof XMLHttpRequest != 'undefined')
 {
  xmlHttp = new XMLHttpRequest();
 }

 // Wenn Status entsprechend führe Aktion durch
 if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
 {
  // Führe Aktion aus
  xmlHttp.open('GET', 'getdata.php?last_request='+last_request+'&uid='+uid, true);
  // Sobald sich der Zustand ändert führe Aktion aus.
  xmlHttp.onreadystatechange = function ()
  {
   if (xmlHttp.readyState == 4)
   {
    // Dos Variable erhöhen
    dosProtect = dosProtect + 1;

    var response=xmlHttp.responseText;

	if (response.length>0)
	{
     // in erster Zeile steht der Timestamp -> extrahieren
	 zeilen=response.split("<br />");
	 last_request=zeilen[0];
	 var anzahl_zeilen=zeilen.length;
	 for (i=1;i<anzahl_zeilen;i++)
	 {
	  document.getElementById("asb_content").innerHTML+=zeilen[i];
	  if (i<anzahl_zeilen-1) document.getElementById("asb_content").innerHTML+='<br />';
	 }
	}

    if(dosProtect >= 50)
    {
     // Meldung nach 50 Aufrufen ohne Interaktion
     var dosProtectText = '<div class="even">Ladelimit wurde erreicht.';
     var dosProtectText = dosProtectText + '<br />Bitte Seite neu laden ...</div>';
     document.getElementById("asb_content").innerHTML = dosProtectText;
     clearInterval(aktiv);
    }
   }
   // Immer zum Ende Scrollen
   setTimeout('Scrolling();',1);
   setTimeout('Scrolling();',750);
   setTimeout('Scrolling();',1500);
  }
  xmlHttp.send(null);
 }
 // asb_loading Anzeige beenden
 setTimeout('asb_loadingEnd();',1000);
}




// Funktion zum Speichern der Einträge
function sendComment()
{
 document.getElementById("asb_loading").innerHTML='<img src="ui/images/loading.gif" alt="Çàðåæäà..." />';
 var xmlHttp2 = false;
 // XML HttpRequest-Instanz für IE < Version 6 erstellen
 try
 {
  xmlHttp2  = new ActiveXObject("Msxml2.XMLHTTP");
 }
 catch(e)
 {
  try
  {
   xmlHttp2  = new ActiveXObject("Microsoft.XMLHTTP");
  }
  catch(e)
  {
   xmlHttp2  = false;
  }
 }
 // XML HttpRequest-Instanz für für Mozilla, Opera, Safari usw. erstellen
 if (!xmlHttp2  && typeof XMLHttpRequest != 'undefined')
 {
  xmlHttp2 = new XMLHttpRequest();
 }


 if (xmlHttp2)
 {
  var txtMessage = encodeURIComponent(document.frmshoutbox.message.value);
  var txtName    = encodeURIComponent(document.frmshoutbox.member.value);
  var ip   = encodeURIComponent(document.frmshoutbox.ip.value);
  var uID   = encodeURIComponent(document.frmshoutbox.uid.value);
  if (txtMessage == '' || txtName == '')
  {
   alert("Bitte fuelle Name und Nachricht aus");
  }
  else
  {
   if (xmlHttp2.readyState == 4 || xmlHttp2.readyState == 0)
   {
    xmlHttp2.open('POST', 'setdata.php');
    xmlHttp2.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHttp2.send('message='+txtMessage+'&member='+txtName+'&uid='+uID+'&ip='+ip+'&last_request='+last_request);
   }
   else
   {
    setTimeout('sendComment();',1000);
   }
   if (xmlHttp2.readyState == 4 || xmlHttp2.readyState == 0)
   {
    dosProtect = 0;
    setTimeout('loadData(encodeURIComponent(document.frmshoutbox.uid.value));',1000);
   }
   else
   {
    // Lade Einträge zeitversetzt und resette DOS Protect
    dosProtect = 0;
    setTimeout('loadData(encodeURIComponent(document.frmshoutbox.uid.value));',1000);
   }
  }
 }
 // Leere das Eingabefeld
 document.frmshoutbox.message.value = '';
 // Cursor in das Textfeld setzen
 document.frmshoutbox.message.focus();
}