var __rpc_id = 0
var __rpc_array = new Array();


// global flag
var isIE = false;

/*
Cross browser function to get an XMLHTTPRequest Object
Returns the object if it exists or false if it does not
*/
function createXMLHttpRequest() {
  try {
    // Attempt to create it "the Mozilla way" 
    if (window.XMLHttpRequest) {
      return new XMLHttpRequest();
    }
    // Guess not - now the IE way
    if (window.ActiveXObject) {
      isIE = true;
      if (typeof XMLHttpRequest == 'undefined') {
        var msxmls = ['MSXML3', 'MSXML2', 'Microsoft']
        for (var i=0; i < msxmls.length; i++) {
          try {
            return new ActiveXObject(msxmls[i]+'.XMLHTTP')
          } 
          catch (e) { }
        }
        throw new Error("No XML component installed!")
      }
    }	
  }
  catch (ex) {}
  return false;
}

// Wrapper function to create response handler:
function createHandler(req, f){
  function handleIt(){
    try {
      if (req.readyState == 4) {
        //  f(obj.responseText);
        //alert(req.status);
        if (req.status == 200) {
           f(req.responseText, req.responseXML.documentElement);
        }
        //else f ("Problem connnecting to the server.", false);
        else  {
          //alert (req.responseText);
	  f ("Servidor no accesible.", false);
	}
      }  
    }
    catch (ex) { 
      //alert (req.responseText);
      f ("Servidor no accesible.", false); 
    }
  }
  return handleIt;
}


function makeXMLRequest(url, onreturn, param){
   //var handle = getNextRpcId();
   var req = createXMLHttpRequest();
//   var fun = createHandler(req, onreturn);
//   req.onreadystatechange = fun;
   //alert("param: " + param);
   req.onreadystatechange = createHandler(req, onreturn);
   req.open("POST", url, true);
   req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
   //req.send(null);
   req.send(param);
 //  return handle;
}
















