/*
 * Returns an new XMLHttpRequest object, or false if the browser
 * doesn't support it
 */
function newXMLHttpRequest() {
  var xmlreq = false;
  // Create XMLHttpRequest object in non-Microsoft browsers
  if (window.XMLHttpRequest) {
    xmlreq = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    try {
      // Try to create XMLHttpRequest in later versions
      // of Internet Explorer
      xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e1) {
      // Failed to create required ActiveXObject
      try {
        // Try version supported by older versions
        // of Internet Explorer
        xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e2) {
        // Unable to create an XMLHttpRequest by any means
        xmlreq = false;
      }
    }
  }
  return xmlreq;
}

 /*
	* Returns a function that waits for the specified XMLHttpRequest
	* to complete, then passes it XML response to the given handler function.
  * req - The XMLHttpRequest whose state is changing
  * responseXmlHandler - Function to pass the XML response to
  */
function getReadyStateHandler(req, responseXmlHandler) {
  // Return an anonymous function that listens to the XMLHttpRequest instance
  return function () {
    // If the request's status is "complete"
    if (req.readyState == 4) {
      // Check that we received a successful response from the server
      if((req.status == 200)||(req.status == 0)) {
        // Pass the XML payload of the response to the handler function.
        responseXmlHandler(req.responseXML);;
      } else {
        // An HTTP problem has occurred
        alert("HTTP error "+req.status+": "+req.statusText);
      }
    }
  }
}

// Uso mootools
function controllaCap(url_controllo, ds_cap, updateStato){
	var url_ctr=url_controllo+"&ds_cap=" + encodeURI(ds_cap);
	
	var options={};
	options["method"]="get";
	options["onComplete"]=updateStato;
	//options["async"]=false;		// Non funzia con firefox, ma tanto ora non serve

	new Ajax(url_ctr, options).request();
}

/*
 * Questa è asincrona, quindi il submit del form potrebbe partire lo stesso..
 * Lavora in POST, mentre ora controllacap.php si aspetta un GET..
 *
function controllaCap( url_controllo, ds_cap, updateStato){  
		    
  var postStr="ds_cap=" + encodeURI(ds_cap);

  var reqcp = newXMLHttpRequest();

  reqcp.onreadystatechange = getReadyStateHandler(reqcp, updateStato);
	reqcp.open("POST", url_controllo, true);
  reqcp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  reqcp.setRequestHeader("Content-length", postStr.length);
  reqcp.setRequestHeader("Connection", "close");
  
  reqcp.send(postStr);
}*/
