var request_interval;

function str_replace(str_find, str_replace, str_normal){
	var int_case_insensitive = true;
	if (arguments.length<3 || str_find=="" || str_normal=="" || typeof("".split)!="function")
	    return(str_normal);
	
	//no parm means default, "case SENSITIVE"...
	if(!(int_case_insensitive))
	  return(str_normal.split(str_find)).join(str_replace);
	
	str_find=str_find.toLowerCase();
	
	var rv=""; 
	var ix=str_normal.toLowerCase().indexOf(str_find);
	while(ix>-1){
	    rv+=str_normal.substring(0,ix)+str_replace;
	    str_normal=str_normal.substring(ix+str_find.length);
	    ix=str_normal.toLowerCase().indexOf(str_find);
	};
	return(rv+str_normal);
}

function send_info(message, login){
	http_request2 = false;
    if (window.XMLHttpRequest){
		http_request2 = new XMLHttpRequest();
        if (http_request2.overrideMimeType){
			http_request2.overrideMimeType('text/xml');
        }
    }else if (window.ActiveXObject) {
    	try{
            http_request2 = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
	        try {
               http_request2 = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e){
            }
         }
    }
    if (!http_request2) {
         alert('Cannot create XMLHTTP instance');
         return false;
    }

    http_request2.open('POST', 'getdata.php', true);
	http_request2.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

	message = str_replace("&","#and#",message);
	http_request2.send('message='+message+private_id);
	  
}

var http_request = false;
function makeRequest(url, parameters){
	http_request = false;
    if (window.XMLHttpRequest) {
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType){
            http_request.overrideMimeType('text/xml');
        }
    } else if (window.ActiveXObject) {
      	try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {
            }
        }
    }
    if (!http_request) {
       //  alert('Cannot create XMLHTTP instance');
         return false;
    }
    http_request.onreadystatechange = alertContents;
    http_request.open('GET', url + parameters, true);
	http_request.send(null);
}


var do_xml_reading = false;

var last_id = 0;
var msg_last_id = -1;
var user_status_last_id = 0;
var prv_msg_last_id = 0;

function alertContents(){
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			var xmldoc = http_request.responseXML;
			var root = xmldoc.getElementsByTagName('results').item(0); 
			if(root != null){
				for (var iNode = 0; iNode < root.childNodes.length; iNode++){
					var node = root.childNodes.item(iNode);
					var data = new Array();
					for (i = 0; i < node.childNodes.length; i++){
					 	var sibl = node.childNodes.item(i);
	                	var node_name = sibl.nodeName;
						if(sibl.nodeType==1){
							if(sibl.childNodes.length){
						 		node_value=sibl.childNodes[0].nodeValue;
							}
						} else {
							node_value=sibl.nodeValue;
						}
	   					node_value = str_replace("#pale_close#", ">", node_value);
						node_value = str_replace("#pale_open#", "<", node_value);
						node_value = str_replace("#star#", "*", node_value);
						node_value = str_replace("#and#", "&", node_value);
						node_value = str_replace("#hash#", "#", node_value);
						data[node_name] = node_value;
					}
					if(data['datatype'] == "userlist" ){
						affiche_users(data);
					} else if(data['datatype'] == 'msg'){
	                    msg_last_id = data['id'];
						message_received(data);
						
					} else if(data['datatype'] == 'message9oloob'){
	                    //msg_last_id = data['id'];
						//private_message_received_info(data);
						received_9oloob_message(data['info']);
						update_9oloob_present(data['present'],data['visit']);
						
	                } else if(data['datatype'] == 'setlastid'){
							msg_last_id = data['id'];
					}
	            }
			}
			do_xml_reading = false;
			
        } else {
            //alert('There was a problem with the request.');
			do_xml_reading = false;
		}
	}
}

//-----------------------------------------------------------------------------

   var req_counter=0;
   var refresh_after=1500;
   var datatype='all';
   function do_xml()
   {
   	  req_counter++;
   	  if(do_xml_reading == true) return;
   	  do_xml_reading = true;
   	  
   	  today = new Date();
   	  makeRequest('getdata.php', '?lastid='+msg_last_id+private_id);
   }

   function LTStart()
   {
     request_interval = window.setInterval(do_xml,refresh_after);

     if(datatype == 'all_data')
       change_room();
   }

   window.onload=LTStart;

