/********************************************************************************************/
/* AHAH functions by Phil Ballard                                                           */
/* This code is intended for study purposes.                                                */
/* You may use these functions as you wish, for commercial or non-commercial applications,  */
/* but please note that the author offers no guarantees to their usefulness, suitability or */
/* correctness, and accepts no liability for any losses caused by their use.                */
/********************************************************************************************/

function callServer(url, pageElement, callMessage, qtyp) {

    var errorMessage = '<b>Error 001</b> - Verbindung zum Server fehlgeschlagen';
    if (pageElement == 'output' && callMessage != ""){
        outputChat(callMessage,'','Hinweis:');
    }
    else if (pageElement == 'input' && callMessage != ""){
        url = url+'&input='+callMessage;
    }
    else if (pageElement != ""){
		document.getElementById(pageElement).innerHTML = callMessage;
    }
    if (url != ""){


            try {
                req = new XMLHttpRequest(); /* e.g. Mozilla, Opera */
            } catch(e) {
                try {
                    req = new ActiveXObject("Msxml2.XMLHTTP");  /* some versions IE */
                } catch (e) {
                    try {
                        req = new ActiveXObject("Microsoft.XMLHTTP");  /* some versions IE */
                    } catch (e) {
                        req = false;
                    }
                }
            }


    	req.onreadystatechange = function() {responseServer(pageElement, errorMessage, qtyp);};
    	req.open("GET",url,true);

   	 	req.send(null);
    }
}
function responseServer(pageElement, errorMessage, qtyp) {
    var output = '';
    if(req.readyState == 4) {
        if(req.status == 200) {
        	var zeilen = req.responseText.split("\n");

        	var zaehler = 0;
            while (zaehler < zeilen.length) {

            	if (zeilen[zaehler] != ''){
                    var output = zeilen[zaehler].split("|");

                    //output = req.responseText;
                    if (output[0] == 'output'){
                        outputChat(output[2], output[1], output[3]);
                    }
                    else if (output[0] == ''){

                    }
                    else if (output[0] == 'trennen'){
                    	deconnect(output[2]);
                    }
                    else{
                        document.getElementById(output[0]).innerHTML = output[2];
                    }

					if (output[0] == 'input'){
						document.inchat.chat.focus();
                    }
					if (output[0] == 'list'){
						listcount = 0;
                    }

                }
            	zaehler++;
            }
        }
        else {
        	outputChat(errorMessage, '', 'System');
        	//document.getElementById(pageElement).innerHTML = errorMessage+"\n";
        }
		isreading = 0;
    }

}
function outputChat(text, zeit, vontyp) {
	var wert = ""
	var ua = navigator.userAgent.toLowerCase();

	ankercount++;


    wert = document.getElementById('output').innerHTML;
    wert = wert+'<table style="table-layout:fixed"><tr><td style="width:50px;vertical-align:top;" class="text"><font size=1>'+zeit+'</font></td><td style="width:150px;vertical-align:top;" class="text"><a name="'+ankercount+'"></a>'+vontyp+'</td><td class="text">'+text+'</td></tr></table>';
    document.getElementById('output').innerHTML = wert;


    if(ua.indexOf("msie 7")>-1 || ua.indexOf("msie 8")>-1) {    	
    	window.location.hash='#'+ankercount;
    	document.inchat.chat.focus();
    	document.inchat.chat.value = document.inchat.chat.value;
    }
    else{
   		document.getElementById('output').scrollTop = 999999;
    }


}
