// Letzter Request
var last_request=0;

// Lade Einträge alle 10 Sekunden
var aktiv = setInterval("loadData_shout()",20000);

// Lade Einträge der Shoutbox
setTimeout('loadData_shout();',1000);

// Setzen der Vaiable damit der Chat nicht zum DOS wird
var dosProtect = 0;

// Beendet die asb_loading-Anzeige
function asb_loadingEnd_shout()
{
 document.getElementById("asb_loading").innerHTML='<img src="/scripte/shoutbox/loading_blank.gif" alt="loading.gif" width="1" height="16"/>';
}

// Funktion um zur letzten Nachricht zu scrollen
function Scrolling_shout()
{
 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_shout()
{
 document.getElementById("asb_loading").innerHTML='<img src="/scripte/shoutbox/loading.gif" alt="Shoutbox reload" title="Shoutbox reload" />';
 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', '/scripte/shoutbox/getdata.php', true);
   xmlHttp.open('GET', '/index.php?page=scripte/shoutbox/getdata&g_ajax=ajax', 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)
	{
	document.getElementById("asb_content").innerHTML='';
     // 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_shout();',1);
   //setTimeout('Scrolling_shout();',750);
   //setTimeout('Scrolling_shout();',1500);
  }
  xmlHttp.send(null);
 }
 // asb_loading Anzeige beenden
 setTimeout('asb_loadingEnd_shout();',1000);
}




// Funktion zum Speichern der Einträge
function sendComment_shout()
{
 document.getElementById("asb_loading").innerHTML='<img src="/scripte/shoutbox/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);
  if (txtMessage == '')
  {
   alert("Bitte gebe eine Nachricht ein.");
  }
  else
  {
   if (xmlHttp2.readyState == 4 || xmlHttp2.readyState == 0)
   {
    xmlHttp2.open('POST', '/index.php?page=scripte/shoutbox/setdata&g_ajax=ajax');
    xmlHttp2.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHttp2.send('message='+txtMessage+"&last_request="+last_request);
   }
   else
   {
    setTimeout('sendComment_shout();',1000);
   }
   if (xmlHttp2.readyState == 4 || xmlHttp2.readyState == 0)
   {
    dosProtect = 0;
    setTimeout('loadData_shout();',1000);
   }
   else
   {
    // Lade Einträge zeitversetzt und resette DOS Protect
    dosProtect = 0;
    setTimeout('loadData_shout();',1000);
   }
  }
 }
 // Leere das Eingabefeld
 document.frmshoutbox.txtmessage.value = '';
 // Cursor in das Textfeld setzen
 document.frmshoutbox.txtmessage.focus();
}
