function openAjax() {
  var Ajax;
  try {
    Ajax = new XMLHttpRequest(); // XMLHttpRequest para browsers mais populares, como: Firefox, Safari, dentre outros.
  } catch(ee) {
    try {
      Ajax = new ActiveXObject("Msxml2.XMLHTTP.6.0"); // Para o IE da MS
    } catch(e) {
      try {
        Ajax = new ActiveXObject("Msxml2.XMLHTTP.5.0"); // Para o IE da MS
      } catch(e) {
        try {
          Ajax = new ActiveXObject("Msxml2.XMLHTTP.4.0"); // Para o IE da MS
        } catch(e) {
          try {
            Ajax = new ActiveXObject("Msxml2.XMLHTTP.3.0"); // Para o IE da MS
          } catch(e) {
            try {
              Ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o IE da MS
            } catch(e) {
              Ajax = false;
            }
          }
        }
      }
    }
  }
  return Ajax;
}

function carregaAjax(metodo, id, arquivo, valores) {
  if(document.getElementById) { // Para os browsers complacentes com o DOM W3C.
    var exibeResultado = document.getElementById(id); // div que exibirá o resultado.
    var Ajax = openAjax(); // Inicia o Ajax.
    Ajax.open(metodo, arquivo, true); // fazendo a requisição
    Ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    Ajax.onreadystatechange = function(){
      if(Ajax.readyState == 1) { // Quando estiver carregando, exibe: carregando...
        exibeResultado.innerHTML = 'Carregando...';
      }
      if(Ajax.readyState == 4) { // Quando estiver tudo pronto.
        //if(Ajax.status == 200) {
          var resultado = Ajax.responseText; // Coloca o retornado pelo Ajax nessa variável
          resultado = resultado.replace(/\+/g," "); // Resolve o problema dos acentos (saiba mais aqui: http://www.plugsites.net/leandro/?p=4)
          resultado = unescape(resultado); // Resolve o problema dos acentos
          exibeResultado.innerHTML = resultado;
        //} else {
        //  exibeResultado.innerHTML = "Erro: .";
        //}
      }
    }
    Ajax.send(valores.replace(/\n/gi,"%0D%0A").replace(/\s/gi,"%20")); // submete
  }
}
