function XMLHttp() {
	var request = false ;
	if ( window.XMLHttpRequest ) {
		request = new XMLHttpRequest() ;
		//if ( request.overrideMimeType ) request.overrideMimeType('text/xml'); // Only if request.responseXML
	} else if ( window.ActiveXObject ) {
		try {
			request = new ActiveXObject ( 'Msxml2.XMLHTTP' ) ;
		} catch ( e ) {
			try {
				request = new ActiveXObject ( 'Microsoft.XMLHTTP' ) ;
			} catch ( e ) {}
		}
	}
	if ( !request ) alert( 'Could not create an XMLHttpRequest istance.' );
	return request ;
}


function PreparaDati(nome_form){
  stringa = "";
  for (i=0; i<document.forms.length;i++) {
	  if (document.forms[i].name==nome_form) var frm = document.forms[i];
  }
  
  if (frm==null) var frm = document.forms[0];
  var numeroElementi = frm.elements.length;
  
  for(var i = 0; i < numeroElementi; i++){
	//if(frm.elements[i].type=="checkbox" && frm.elements[i].checked==true) frm.elements[i].value="1";
	//controllo se il campo non  fleggato lo metto a vuoto
	if(frm.elements[i].type=="checkbox" && frm.elements[i].checked==false){ frm.elements[i].value="";	}
    if(i < numeroElementi-1){
      stringa += frm.elements[i].name+"="+encodeURIComponent(frm.elements[i].value)+"&";
    }else{
      stringa += frm.elements[i].name+"="+encodeURIComponent(frm.elements[i].value);
    }  
  }
  return stringa;
}

function ajaxRequest(method,form,page,element,todo){
 var xmlhttp;
 
  xmlhttp= new XMLHttp();
  xmlhttp.open(method,page,true);
  
  if ( method == 'POST' ) {
	  
  xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  xmlhttp.setRequestHeader('Cache-Control', 'no-cache'); // if XML code rather than a static XML file (IE)
  uristring = PreparaDati(form);
 }else{
	 uristring="";
 }
  xmlhttp.onreadystatechange=function() {  
		if(xmlhttp.readyState==4){
			if (element!=''){
				if(document.getElementById(element).tagName!="INPUT"){
					//response_trimp = xmlhttp.responseText.trim(); 
					document.getElementById(element).innerHTML = xmlhttp.responseText;
				}else{
					//response_trimp = xmlhttp.responseText.trim(); 
					document.getElementById(element).value = xmlhttp.responseText;
				}
			}else{
				if(todo=='alert'){
					if(xmlhttp.responseText!=''){
						//response_trimp = xmlhttp.responseText.trim(); 
						alert(xmlhttp.responseText);
					}
				}
			}
		}else{
			if (element!=''){
				if(document.getElementById(element).tagName!="INPUT"){
					document.getElementById(element).innerHTML ="<img src=\"images/loading.gif\" alt=\"Loading\" />";
				}
			}
		}
	}
 
  xmlhttp.send(uristring);
  
}
