// Letzter Request
var last_request=0;

// Lade Einträge alle x Sekunden
var aktiv = setInterval("loadData()",5000);

// Lade Einträge der Shoutbox
setTimeout('loadData();',1000);

// Setzen der Vaiable damit der Chat nicht zum DOS wird
var dosProtect = 1;

// 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()
{
 document.getElementById("asb_loading").innerHTML='<img src="loading.gif" alt="loading.gif" />';
 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
		a = Math.random();
		a = 1000000000*a;
		a = Math.round(a);

  //xmlHttp.open('GET', './getdata.php?last_request='+last_request+'send='+a, true);
  xmlHttp.open('GET', '/getdata.php?last_request='+last_request+'send='+a, 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 />");
	 var anzahl_zeilen=zeilen.length;

	var Text = "";

	 for (i=0;i<anzahl_zeilen;i++)
	 {
	  Text = Text + '<br />' + zeilen[i];
	 }
	  document.getElementById("asb_content").innerHTML=Text;
	}

    if(dosProtect >= 200)
    {
     // Meldung nach 200 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="loading.gif" alt="loading" />';
 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.txtmessage.value);
  var txtName    = encodeURIComponent(document.frmshoutbox.txtname.value);
  if (txtMessage == '' || txtName == '')
  {
   alert("Bitte gib eine Nachricht ein");
  }
  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+"&name="+txtName+"&last_request="+last_request);
   }
   else
   {
    setTimeout('sendComment();',1000);
   }
   if (xmlHttp2.readyState == 4 || xmlHttp2.readyState == 0)
   {
    dosProtect = 0;
    setTimeout('loadData();',1000);
   }
   else
   {
    // Lade Einträge zeitversetzt und resette DOS Protect
    dosProtect = 0;
    setTimeout('loadData();',1000);
   }
  }
 }
 // Leere das Eingabefeld
 document.frmshoutbox.txtmessage.value = '';
 // Cursor in das Textfeld setzen
 document.frmshoutbox.txtmessage.focus();
}
