
/*
   remoteURL: url of the request sent to the server
   requestType: Type of request (GET or POST)
   callbackFunction: callback function
   isAsynchronous: true if the transaction is asynchronous (script doesn't wait for the response)
*/
var req = false;

function ajaxManager(remoteURL, requestType, callbackFunction, isAsynchronous, parameters)
{
    
    //alert(remoteURL)
    //alert(requestType)
    //alert(callbackFunction)
    //alert(isAsynchronous)
    
    
    if(window.XMLHttpRequest) 
    {
	try 
	{
	    req = new XMLHttpRequest();
	} 
	catch(e) 
	{
	    req = false;
	}
	// branch for IE/Windows ActiveX version
    } 
    else if(window.ActiveXObject) 
    {
	try 
	{
	   req = new ActiveXObject("Msxml2.XMLHTTP");
	} 
	catch(e) 
	{
	   try 
	   {
  		req = new ActiveXObject("Microsoft.XMLHTTP");
	   } 
	   catch(e) 
	   {
  		req = false;
	   }
	}
    }
    
    if(req) 
    {
    	req.onreadystatechange = callbackFunction
        req.open(requestType, remoteURL, isAsynchronous);
		if(requestType=="POST"){
			req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		}
		req.send(parameters);
    }
            
}


	function responseMess() {
		
      // only if req shows "loaded"
      if (req.readyState == 4) {
         // only if "OK"
			
         if (req.status == 200) {
				try{
					document.getElementById("usermessage").style.display="none"
				}catch(e){

				}
			if(req.responseText == "ok"){
				alert("Email inviata correttamente.\rGrazie per averci contattato.")
			}else{
				alert("Email non inviata.\rErrore: "+req.responseText+"\rRiprovare.");
			}
         } else {
            alert("Email non inviata.\rErrore: "+req.responseText+"\rRiprovare.");
         }
      }
   }

