// AJAX ENGINE

/*
	Autore: Vasco Gallotti
	In questo script sono scritte tutte le funzioni necessarie per recuperare 
	dati dal server. Le funzioni per poter visualizzare tali dati e gestirli
	sono contenuti nel file ajaxfunction.js.
*/

var  xmlCommentsList = null;

var comid = null;

var xml_news = null;

var Http = new Object();

Http.get = function (sUrl, fnCallback) {
				
		var oRequest = createRequest();	
		
		var panel = document.getElementById("waitpnl");
		
		panel.style.display = "block";
					
			oRequest.open("GET", sUrl, true);
									
			oRequest.onreadystatechange = function () {
	
											if(oRequest.readyState == 4 || oRequest.readyState == 0){
	
												//document.body.style.cursor = "default";
												
												panel.style.display = "none";
												
												fnCallback(oRequest.responseXML);	
												
												oRequest = null; //l'utilizzo di memoria è limitato
	
											}else{
	
												
	
											}
	
										  }
	
			oRequest.send(null);


}




Http.post = function (sUrl, sParams, fnCallback){

	

		var oRequest = createRequest();

		

		oRequest.open("post", sUrl, true);	

		

		oRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

            

	  	oRequest.setRequestHeader("Connection", "close");

		

		oRequest.onreadystatechange = function () {

										if(oRequest.readyState == 4){

											//document.body.style.cursor = "default";

											fnCallback(oRequest.responseXml);
												
											oRequest = null; //l'utilizzo di memoria è limitato

										}else{

											//document.body.style.cursor = "wait"; /**in ie: url(uri) che lo support**/	

										}

									  }

		oRequest.send(sParams);

	

}



function getBrowser(){

		var agent = navigator.userAgent;

		

		if(agent.indexOf("MSIE") != -1){

			return "msie";	

		}else{

			if(agent.indexOf("mozilla")){

			return "mozilla";					

			} else {

				return "unknown";	

			}	

		}

}



function createRequest(){

	
	var http_request = false;
	

        if (window.XMLHttpRequest) { // Mozilla, Safari,...

            http_request = new XMLHttpRequest();          	

			return http_request;

			

        } else if (window.ActiveXObject) { // IE
		
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP.7.0"); //Vanno aggiunti gli altri internet Explorer

				return http_request.createRequest();

            } catch (e) {

                try {
					
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");

					return http_request;

                } catch (e) {}

            }

        }



        if (!http_request) {

            alert('Giving up :( Non riesco a creare una istanza XMLHTTP');

            return false;

        }

}



function setHeader(form) {

		var params = new Array();

	

		for(var i=0; i<form.elements.length; i++){

			var spar = encodeURIComponent(form.elements[i].name);

				spar += "=";

				spar += encodeURIComponent(form.elements[i].value);

				params.push(spar);

		}

		

		return params.join("&");

}
function setConnect(url)
{
	
	Http.get(url, function(sData) {
						   //donothin
						   
			});	
}


//Recupera tutti gli utenti attualmente collegati.
function goReadpost(arg)
{

	if(BrowserDetect.browser == "Explorer" )
    {
		location.href = "post.php?p="+arg;
		return;
	}
	else
	{
	
		popUp();
		
		Http.get("ajax/ajax_readpost.php?p=" + arg, function(sData) {
								
							  setPost(sData);
			
				});	
	
	}
}


	
	

