function objetoAjax(metodo) { 
  this.objetoRequest = new ConstructorXMLHttpRequest(); 
  this.metodo = metodo;
}

function peticionAsincrona(url,valores) { //Función asignada al método coger del objetoAjax.
  var objetoActual = this;
  this.objetoRequest.open(this.metodo, url, true);
  this.objetoRequest.onreadystatechange = function() {
         switch(objetoActual.objetoRequest.readyState)
         {
            case 1: //Función que se llama cuando se está cargando.
            objetoActual.Loading();
            break;
            case 2: //Función que se llama cuando se a cargado.
            objetoActual.Loaded();
            break;
            case 3: //Función que se llama cuando se está en interactivo.
            objetoActual.Interactive();
            break;
            case 4:
                  objetoActual.Finished(objetoActual.objetoRequest.status,
                  objetoActual.objetoRequest.statusText,
                  objetoActual.objetoRequest.responseText,
                  objetoActual.objetoRequest.responseXML);
                  break;
           } // switch
       } // function
  if (this.metodo == "GET") {
    this.objetoRequest.send(null); //Iniciamos la transmisión de datos.
  }
  else if (this.metodo == "POST") {
         this.objetoRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        this.objetoRequest.send(valores);
  }
} // function
function objetoRequestCargando() {}
function objetoRequestCargado() {}
function objetoRequestInteractivo() {}
function objetoRequestCompletado(estado, estadoTexto, respuestaTexto, respuestaXML) {}
//Definimos la función de recoger información.
objetoAjax.prototype.Get = peticionAsincrona ;
objetoAjax.prototype.Loading = objetoRequestCargando ;
objetoAjax.prototype.Loaded = objetoRequestCargado ;
objetoAjax.prototype.Interactive = objetoRequestInteractivo ;
objetoAjax.prototype.Finished = objetoRequestCompletado ;
