	var ajaxProblemMessage = "";
	var ajaxLastResult = new Array(1,"");
	function setAPM(msg){
		ajaxProblemMessage = msg;
	}

	function getAjaxLI(){
		if(ajaxLastResult[0] == 0){
			setTimeout("getAjaxLI()",100);
		}else{
			if(ajaxLastResult[1] == ""){
				return null;
			}else{
				return ajaxLastResult[1];
			}
		}
	}

	function alertContents(id,http_request,type) {
		if (http_request.readyState == 4) {
			if (http_request.status == 200 | http_request.status == 0) {
				if(id){
					if(id != "ExecuteScriptHidden"){
						var el = document.getElementById(id);
						el.innerHTML = http_request.responseText;
					}
				}else{
					alert(http_request.responseText);
				}
				ajaxLastResult[1] = http_request.responseText;
				if(type == 0){
					execJS(http_request.responseText);
				}else{
					if(type == 1){
						var m = http_request.responseText;
						var s = m;
						do{
							c = m.indexOf("<script");
							a = m.indexOf("/script>");
							if((c != -1)&&(a != -1)){
								a = a + 8;
								s = m;
								s = m.substring(0,c) + "" + m.substring(a,m.length);
								m = s;
							}
						}while((c != -1)&&(a != -1));
						alert(s);
					}
				}
			}else{
				if(ajaxProblemMessage != ""){
					alert(ajaxProblemMessage);
				}else{
					alert("Si e' verificato un problema con il collegamento alla pagina.");
				}
			}
		}
		ajaxLastResult[0] = 1;
	}

	function getAjaxContent(metodo,url,parametri,id) {
		ajaxLastResult = Array(0,"");
		var http_request = false;
		var http_request = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
		if(http_request.overrideMimeType){
			http_request.overrideMimeType('text/xml');
		}
		if(!http_request){
			alert('Impossibile creare collegamento Ajax');
			return false;
		}
		var type = 2;
		if(id){
			if(id.indexOf("+") == 0){
				if((id.indexOf("null") != -1)&&(id.length == 5)){
					type = 0;
					id = null;
				}else{
					id = id.substring(1,id.length);
					type = 0;
				}
			}
		}
		if(metodo == "SCRIPT"){
			metodo = "GET";
			type = 0;
			var id = "ExecuteScriptHidden";
		}
		http_request.onreadystatechange = function() { alertContents(id,http_request,type); };
		http_request.open(metodo, url, true);
		http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8; text/html");
		http_request.send(parametri);
	}

	function fs(m){
		c = m.indexOf("<script");
		a = m.indexOf("/script>");
		if((c != -1)&&(a != -1)){
			a = a + 8;
			s = m;
			s = m.substring(0,c) + "" + m.substring(a,m.length);
			fs(s);
		}else{
			return m;
		}
	}

	function execJS(t) {
		var p1 = 0, p2 = 0, p3 = 0, p4 = 0;
		p1 = t.indexOf("<" + "script", 0);
		if(p1 == -1){ return t; }
		p2 = t.indexOf(">", p1 + 7) + 1;
		p3 = t.indexOf("<" + "/script>", p2);
		p4 = p3 + 9;
		var c = t.substring(p2, p3);
		var s = document.createElement("script");
		s.type = "text/javascript";
		s.text = c;
		document.getElementsByTagName("head")[0].appendChild(s);
		t = t.substring(0, p1) + t.substr(p4);
		return execJS(t);
	}

	function makeAjaxForm(form) {
		var form = document.getElementById(form);
		var qstr = "";
		function GetElemValue(name, value) {
			qstr += (qstr.length > 0 ? "&" : "")
			+ escape(name).replace(/\+/g, "%2B") + "="
			+ escape(value ? value : "").replace(/\+/g, "%2B");
			//+ escape(value ? value : "").replace(/\n/g, "%0D");
		}
		var elemArray = form.elements;
		for (var i = 0; i < elemArray.length; i++) {
			var element = elemArray[i];
			var elemType = element.type.toUpperCase();
			var elemName = element.name;
			if(elemName){
				if(elemType == "TEXT"
					|| elemType == "TEXTAREA"
					|| elemType == "PASSWORD"
					|| elemType == "BUTTON"
					|| elemType == "RESET"
					|| elemType == "SUBMIT"
					|| elemType == "FILE"
					|| elemType == "IMAGE"
					|| elemType == "HIDDEN"){
					GetElemValue(elemName, element.value);
				}
			}else{
				if(elemType == "CHECKBOX" && element.checked){
					GetElemValue(elemName,element.value ? element.value : "On");
 				}else{
					if(elemType == "RADIO" && element.checked){
						GetElemValue(elemName, element.value);
					}else{
						if(elemType.indexOf("SELECT") != -1){
							for (var j = 0; j < element.options.length; j++) {
								var option = element.options[j];
								if(option.selected){
									GetElemValue(elemName,option.value ? option.value : option.text);
								}
							}
						}
					}
				}
			}
		}
			return qstr;
	}
	
