////////////////////////////////////////////////////////////////////////////////
// Esta función cargará las paginas
////////////////////////////////////////////////////////////////////////////////
function crearObjeto()
{
  var xml = false
  if (window.XMLHttpRequest)
  {// Si es Mozilla, Safari etc
    xml = new XMLHttpRequest()
  }
  else if (window.ActiveXObject)
  {// pero si es IE
    try
    {
      xml = new ActiveXObject("Msxml2.XMLHTTP")
    }
    catch (e)
    {// en caso que sea una versión antigua
      try
      {
        xml = new ActiveXObject("Microsoft.XMLHTTP")
      }
      catch (e) {}
    }
  }
  else
    xml= false;
  return xml;
}
////////////////////////////////////////////////////////////////////////////////
// funcion que recibe la peticion de ejecutar la consulta en la direccion url
// y colocar la respuesta en id_contendor
////////////////////////////////////////////////////////////////////////////////
function llamarasincrono(url,id_contenedor)
{
  var xml = crearObjeto();
  xml.onreadystatechange = function()
  {// función de respuesta
    cargarpagina(xml, id_contenedor);
  }
  xml.open('GET', url, true); // asignamos los métodos open y send
  xml.send(null);
}
////////////////////////////////////////////////////////////////////////////////
// funcion que lee los estados de la consulta y mientras se esta ejecutando la
// consulta muestra el mensaje Cargando... , cuando se completa muestra la
// informacion recibida
////////////////////////////////////////////////////////////////////////////////
function cargarpagina(xml, id_contenedor)
{
  if (xml.readyState == 4 && (xml.status==200))
    document.getElementById(id_contenedor).innerHTML = xml.responseText;
  else
    document.getElementById(id_contenedor).innerHTML = "Cargando....";
}