	var http = false;
	if (window.XMLHttpRequest)
		{
			http = new XMLHttpRequest();
		}
	else if (window.ActiveXObject) 
		{
			http = new ActiveXObject("Microsoft.XMLHTTP");
		}
		var statusText = new Array();
		statusText[100] = "Continue";
		statusText[101] = "Switching Protocols";
		statusText[200] = "OK";
		statusText[201] = "Created";
		statusText[202] = "Accepted";
		statusText[203] = "Non-Authoritative Information";
		statusText[204] = "No Content";
		statusText[205] = "Reset Content";
		statusText[206] = "Partial Content";
		statusText[300] = "Multiple Choices";
		statusText[301] = "Moved Permanently";
		statusText[302] = "Found";
		statusText[303] = "See Other";
		statusText[304] = "Not Modified";
		statusText[305] = "Use Proxy";
		statusText[306] = "(unused, but reserved)";
		statusText[307] = "Temporary Redirect";
		statusText[400] = "Bad Request";
		statusText[401] = "Unauthorized";
		statusText[402] = "Payment Required";
		statusText[403] = "Forbidden";
		statusText[404] = "Not Found";
		statusText[405] = "Method Not Allowed";
		statusText[406] = "Not Acceptable";
		statusText[407] = "Proxy Authentication Required";
		statusText[408] = "Request Timeout";
		statusText[409] = "Conflict";
		statusText[410] = "Gone";
		statusText[411] = "Length Required";
		statusText[412] = "Precondition Failed";
		statusText[413] = "Request Entity Too Large";
		statusText[414] = "Request-URI Too Long";
		statusText[415] = "Unsupported Media Type";
		statusText[416] = "Requested Range Not Satisfiable";
		statusText[417] = "Expectation Failed";
		statusText[500] = "Internal Server Error";
		statusText[501] = "Not Implemented";
		statusText[502] = "Bad Gateway";
		statusText[503] = "Service Unavailable";
		statusText[504] = "Gateway Timeout";
		statusText[505] = "HTTP Version Not Supported";
		statusText[509] = "Bandwidth Limit Exceeded";
	function rc_post(idget)
		{
			var num = document.getElementById(idget).elements.length;
			var url = "";
			//radio button 
			var j = 0;
			var a = 0;
			var radio_buttons = new Array();
			var nome_buttons = new Array();
			var the_form = window.document.getElementById(idget);
			for(var i=0; i<the_form.length; i++)
				{
					var temp = the_form.elements[i].type;
					if ( (temp == "radio") && ( the_form.elements[i].checked) )
						{ 
							nome_buttons[a] = the_form.elements[i].name;
							radio_buttons[j] = the_form.elements[i].value; 
							j++; 
							a++;
						}
				}
			for(var k = 0; k < radio_buttons.length; k++)
				{
					url += nome_buttons[k] + "=" + radio_buttons[k] + "&";
				}
			//checkbox
			var j = 0;
			var a = 0;
			var check_buttons = new Array();
			var nome_buttons = new Array();
			var the_form = window.document.getElementById(idget);
			for(var i=0; i<the_form.length; i++)
				{
					var temp = the_form.elements[i].type;
					if ( (temp == "checkbox") && ( the_form.elements[i].checked) )
						{ 
							nome_buttons[a] = the_form.elements[i].name;
							check_buttons[j] = the_form.elements[i].value; 
							j++; 
							a++;
						}
				}
			for(var k = 0; k < check_buttons.length; k++)
				{
					url += nome_buttons[k] + "=" + check_buttons[k] + "&";
				}
			for (var i = 0; i < num; i++)
				{
					var chiave =document.getElementById(idget).elements[i].name;
					var valore =document.getElementById(idget).elements[i].value;
					var tipo =document.getElementById(idget).elements[i].type;
					if ( (tipo == "submit") || (tipo == "radio") || (tipo == "checkbox") )
						{}
					else
						{
							url += chiave + "=" + valore + "&";
						}
				}
			return url;
		}
	function ajax(action,target,get,idform)
		{
			if (!get) get="GET";
			parameters="";
			get=get.toUpperCase();
			document.getElementById(target).innerHTML = 'caricamento in corso...';
			if (get=="GET")
				{
					if(idform)
						{
							parameters = rc_post(idform);
							action=action+"?"+parameters;
						}
				    http.open(get, action);
				    http.onreadystatechange = function (){ ajaxdone(target);}
				    http.send(null);
				}
			if (get=="POST")
				{
					parameters= rc_post(idform);
				    http.open(get, action);
				    http.onreadystatechange = function (){ ajaxdone(target);}
					http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				    http.send(parameters);
				}
		}
	function ajaxdone(target)
		{
			if (http.readyState == 4)
				{ 
				  	if(statusText[http.status] === "OK")
						{
							document.getElementById(target).innerHTML = http.responseText;
						}
					else
						{
							document.getElementById(target).innerHTML = "Impossibile effettuare l'operazione richiesta.<br />" +"Errore riscontrato: " + statusText[ajax.status];
						}
				}
		}
