

var show_loading = 0;
var show_messages = 1;


function createRequestObject() {
	var ro;
	var browser = navigator.appName;
	if(browser == "Microsoft Internet Explorer"){
		ro = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		ro = new XMLHttpRequest();
	}

	return ro;
}



function sndReq(http, file, procedure, moreParams, id) {
	
	if(document.getElementById(id) != null){

		var url;
		var sendData;
		
		var queryString	= 'procedure='+procedure+'&id='+id+'&'+moreParams;
		
		
			openUrl = file;
			sendData = queryString;

		http.open("POST", openUrl);
		
		http.onreadystatechange = function() { handleResponse(http,id); }; 
		
		http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;');
			
		
		http.send(sendData);
	
	}else{
		if(show_messages==1){
			var strAlert 	= 	'L\'oggetto "'+id+'" non e\' un oggetto valido per questa pagina,\n\n';
			strAlert		+=	'Il modulo di procedura remoto non e\' stato contattato per la chiamata e l\'operazione e\' stata sospesa.';
			//alert(strAlert);
		}
	}
		
}

function sndForm(form_name, http, file, procedure, id){

	var elements=document.forms[''+form_name+''].elements;

	var moreParams="";
	var value;
	
	for (var i=0;i<elements.length;i++){
		
		switch(elements[i].type){
			
			case 'text':
				
				if(elements[i].value.length>0){
					if(moreParams.length==0){
						moreParams+=elements[i].name+"="+elements[i].value;
					}else{
						moreParams+="&"+elements[i].name+"="+elements[i].value;
					}
				}
				
			break;
			
			case 'password':
			
				if(elements[i].value.length>0){
					if(moreParams.length==0){
						moreParams+=elements[i].name+"="+elements[i].value;
					}else{
						moreParams+="&"+elements[i].name+"="+elements[i].value;
					}
				}
			
			break;
			
			case 'textarea':
			
				if(elements[i].value.length>0){
					if(moreParams.length==0){
						moreParams+=elements[i].name+"="+elements[i].value;
					}else{
						moreParams+="&"+elements[i].name+"="+elements[i].value;
					}
				}
				
			break;
			
			default:
			break;
			
		}
			
		
	};

	sndReq(http, file, procedure, moreParams, id);


}




function handleResponse(http, id) {

		if(http.readyState == 4){
			
			if(http.status==200){
				
					document.getElementById(id).innerHTML = http.responseText;
				
				}else{

					if(show_messages==1){
						strAlert 	= 		'Il modulo di procedura remoto non risulta raggiungibile.\n';
						strAlert		+=	'L\'operazione e\' stata sospesa.';
						//alert(strAlert);
						//document.getElementById(id).innerHTML = "Il modulo di procedura remoto non risulta raggiungibile...";
						document.getElementById(id).innerHTML = "...";
						
					}
				
				}
		
		}else{
			
			if(show_loading==1){
				document.getElementById(id).innerHTML = "<img src='../theme/default/images/ajax_simple_loading.gif'>";
			}
		    
		}

}
