function getXmlHttpRequest(){
	//crea istanza httprequest
	var httpRequest=null;
	try{
		httpRequest=new ActiveXObject("Msxml2.XMLHTTP");
	}catch(e){
		try{
			httpRequest=new ActiveXObject("Microsoft.XMLHTTP");
		}catch(e){
			httpRequest=null;
		}
	}
	if(!httpRequest&&typeof XMLHttpRequest!="undefined"){
		httpRequest=new XMLHttpRequest();
	}
	return httpRequest;
}

function updateDiv(id, url){
	//aggiorna un elemento html
	var req=getXmlHttpRequest();
	req.open("GET",url,true);
	req.onreadystatechange=function(){
		if (req.readyState==4 || req.readyState=="complete"){
			if (req.status==200){
				var el=document.getElementById(id);
				el.innerHTML=req.responseText;
			}
		}
	}
	req.send(null);
}

function updateSelect(id, url){
	//aggiorna un elemento html
	var el=document.getElementById(id);

	//elimina opzioni correnti
	var l=el.options.length;
	el.options[0]=new Option('caricamento...','',true);
	for(i=l;i>0;i--){
		el.options[i]=null;
	}

	var req=getXmlHttpRequest();
	req.open("GET",url,true);
	req.onreadystatechange=function(){
		if (req.readyState==4 || req.readyState=="complete"){
			if (req.status==200){
				if(req.responseText!=''){
					//crea array nuove opzioni
					var new_options_arr=req.responseText.split("|");
					var l=new_options_arr.length;
					el.options[0]=null;
					for(i=0;i<l;i++){
						var p=new_options_arr[i].split("_");
						el.options[i]=new Option(p[0],p[1]);
					}
				}else{
					el.options[0]=null;
				}
			}
		}
	}
	req.send(null);
}

function doSubmit(formtarget, postcmd){
	var frm=document.forms[formtarget];
	if(postcmd!=undefined){
		frm.postcmd.value=postcmd;
	}
	frm.submit();
}

