// Letzter Request
var last_request=0;

// Lade Einträge alle x Sekunden
// var aktiv = setInterval("loadData()",30000);

// Lade Einträge der Shoutbox
setTimeout('loadData();',1000);

// Setzen der Vaiable damit der Chat nicht zum DOS wird
var dosProtect = 0;

// 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="http://jakob.kiersch.com/sbox/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
  		xmlHttp.open('GET', 'http://jakob.kiersch.com/sbox/getdata.php?last_request='+last_request, 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 >= 100) {
			    	
				     // Meldung nach 100 Aufrufen ohne Interaktion
				     var dosProtectText = '<div class="even">spamdefense engaged.';
				     var dosProtectText = dosProtectText + '<br />Please reload page...</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="http://jakob.kiersch.com/sbox/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("Fill in Name & Message!");
  }
  else
  {
   if (xmlHttp2.readyState == 4 || xmlHttp2.readyState == 0)
   {
    xmlHttp2.open('POST', 'http://jakob.kiersch.com/sbox/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();
}
