var chatload=0;
var chattimercount=0;
var chatblinkcount=0;
var isloading=false;
var chatisrunning=true;

function ChatAjaxObject (url) {
	var success=false;
	this.url = url;
	/* Create a new XMLHttpRequest object to talk to the Web server */
	var xmlHttp = false;
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	  try {
	  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	  } catch (e) {
	  try {
	  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (e2) {
	  xmlHttp = false;
	  }
	  }
	  @end @*/

	if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
		xmlHttp = new XMLHttpRequest();
	}
	if (!xmlHttp){
		alert('kein xmlhttprequest objekt');
	}


	this.query = function ()
	{
		xmlHttp.open("GET", url, true);
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
				var response = xmlHttp.responseXML;
				var knoten = response.getElementsByTagName("element");
				for (var i=0; i<knoten.length; i++) {
					var target, action, content;
					target = knoten[i].getAttribute("target");
					action = knoten[i].getAttribute("action");
					content = knoten[i].firstChild.nodeValue;
					content=trim(content);
					var e=document.getElementById(target);
					if (action=='append' && content.length>0)
					{
						e.innerHTML+=content;
						setTimeout('scrollChat()', 200);
						chatblinkcount=600;
					}
					if (action=='replace')
					{
						e.innerHTML=content;
					}
				}


				success=true;
			}

		};
		xmlHttp.send(null);
	}
	return success;
}

function chatSend()
{
	var ajax=new ChatAjaxObject("/index.php?a=chat&b=ajax&load="+chatload+"&content="+encodeURIComponent(document.getElementById('newchatrow').value));
	ajax.query();
	document.getElementById('newchatrow').value='';
}


function scrollChat()
{
	if (document.getElementById('autoscroll').checked == true)
	{
		var nr=document.getElementById('chatrows').getElementsByTagName('div').length;
		if (nr>0){
			document.getElementById('chatrows').getElementsByTagName('div')[nr-1].scrollIntoView(true);
		}
	}

}

function chatTimer()
{
	chattimercount+=1;
	if ((chattimercount%10)==0 || chatload==0)
	{
		chatload++;
		var url='/index.php?a=chat&b=ajax&load='+chatload;
		var update=new ChatAjaxObject(url);
		update.query();
	}
	if (chatblinkcount>0)
	{
		//var icons=Array("","|","||","|||","||||","|||||","||||||","|||||||","||||||","|||||","||||","|||","||","|");
		var icons=Array(" nachricht","t nachrich","ht nachric","cht nachri","icht nachr","richt nach","hricht nac","chricht na","achricht n","nachricht ");
		var curicon=icons[chatblinkcount%icons.length];
		chatblinkcount--;
		document.title='[ '+curicon+' ] Chat auf hilfsmotor.eu';
	}
	else
	{
		document.title='Chat auf hilfsmotor.eu';
	}
	if (chatisrunning)
		setTimeout('chatTimer()', 500);
}
function stopChat() {
	chatisrunning=false;
	$('chat').innerHTML='Chat ist im eigenen Fenster aktiv.';
}
function chatResetBlink()
{
	chatblinkcount=0;
}
function loadTimer()
{
	if (document.getElementById('chat')!=null)
	{
		chatTimer();
	}
}
