
function createRequestObject(){

	var xmlhttp = false;
	
	// Se IE
	if (window.ActiveXObject) {
	   try {
		  // Versione 5.5 o inferiore
		  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	   } catch (e) {
		  try {
		  // Versione 5.5 o superiore
		  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		  } catch (e) {}
	   }
	}
	// Se Mozilla, Firefox, Opera, Safari
	else if (window.XMLHttpRequest) {
	   xmlhttp = new XMLHttpRequest();
	   xmlhttp.overrideMimeType('text/xml');
	}
	// Se oggetto non istanziato: errore 
	if (!xmlhttp) {
	   alert("ERRORE: AJAX non supportato da questo browser!");
	   return false;
	}
	return xmlhttp;
}

function myXMLHTTPRequest(method, url, params, callback){
	//startLoading("Caricamento in corso");
	var httpRequest = createRequestObject();
	try{
		if (method == "POST"){
			httpRequest.open(method, url, true);
			httpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			httpRequest.onreadystatechange = function(){callback(httpRequest);};
			httpRequest.send(params);
		}
		else if (method == "GET"){
			if (params != "")
				url = url+"?"+params;
			httpRequest.open(method, url, true);
			httpRequest.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" );
			httpRequest.onreadystatechange = function(){callback(httpRequest);};
			httpRequest.send(null);
		}
	}catch (e){
		alert("Errore: "+e);
	}
}
		
function myXMLHTTPResponse(httpRequest, contentType){
	var error 	= '';
	var xmldoc 	= '';
	
	try{ 
		if (httpRequest.readyState == 4){ // Caricamento Avvenuto
			if (httpRequest.status == 200 || httpRequest.status == 0){ // con successo
				var responseType = httpRequest.getResponseHeader("Content-Type");
				if (responseType == contentType){
					if (responseType == "text/xml" || responseType == "text/html")
						xmldoc = httpRequest.responseXML;
					else	
						xmldoc = httpRequest.responseText;
					
					if (!xmldoc.documentElement && httpRequest.responseStream) {
						xmldoc.load(httpRequest.responseStream);
					}
					stopLoading();
					return xmldoc;
				}
				else
					error = "ERRORE: CONTENT-TYPE SBAGLIATO "+httpRequest.statusText;
			}
			else{
				error = "ERRORE: "+httpRequest.statusText;
			}
		}
		else{
		}
	}catch (e){
		alert("Errore: "+e);
	}
	
	//if (error != "")
	//	alert(error);
}

//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////

function onContent(f){//(C)webreflection.blogspot.com
var a,b=navigator.userAgent,d=document,w=window,
c="__onContent__",e="addEventListener",o="opera",r="readyState",
s="<scr".concat("ipt defer src='//:' on",r,"change='if(this.",r,"==\"complete\"){this.parentNode.removeChild(this);",c,"()}'></scr","ipt>");
w[c]=(function(o){return function(){w[c]=function(){};for(a=arguments.callee;!a.done;a.done=1)f(o?o():o)}})(w[c]);
if(d[e])d[e]("DOMContentLoaded",w[c],false);
if(/WebKit|Khtml/i.test(b)||(w[o]&&parseInt(w[o].version())<9))
(function(){/loaded|complete/.test(d[r])?w[c]():setTimeout(arguments.callee,1)})();
else if(/MSIE/i.test(b))d.write(s);
};

//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
var testo  	= "";
var testo2 	= "";

var timerID = "";

function startLoading(id, testo){
	testo = testo;
	if (timerID != "")
		testo2 += ".";

	if (document.getElementById(id))
		document.getElementById(id).innerHTML = testo+" "+testo2;
	document.getElementById("imageLoader").style.display = "block";
	timerID = setTimeout("startLoading('"+testo+"', '"+id+"')", 100);
}

function stopLoading(){
	clearTimeout(timerID);
}
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
