// a funcao abaixo funciona em qualquer
 // browser ou versão.  
 function createXMLHTTP()
 {
  var ajax;
  try 
  {
   ajax = new ActiveXObject("Microsoft.XMLHTTP");
  } 
  catch(e) 
  {
   try 
   {
    ajax = new ActiveXObject("Msxml2.XMLHTTP");
    alert(ajax);
   }
   catch(ex) 
   {
    try 
    {
     ajax = new XMLHttpRequest();
    }
    catch(exc) 
    {
      alert("Esse browser não tem recursos para uso do Ajax");
      ajax = null;
    }
   }
   return ajax;
  }
 
 
     var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0",
           "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP",
           "Microsoft.XMLHTTP"];
     for (var i=0; i < arrSignatures.length; i++)
     {
    try 
    {
     var oRequest = new ActiveXObject(arrSignatures[i]);
     return oRequest;
    } 
    catch (oError) 
    {
       }
     }

      throw new Error("MSXML is not installed on your system.");
 }


//------------------------------------------------------------------------------
//
//    Executa o script pelo AJAX e coloca o retorno numa div
//    Autor: Jorge Rodrigues - Junho/2008
//
//    pScript            - script a ser executado
//    pDiv               - DIV que vai receber o retorno do AJAX
//    pParametros        - string com parametros POST a serem passados ao
//                         script em oHTTPRequest.send(pParametros)
//    pFuncao (opcional) - funcao que eventualmente pode ser executada depois
//                         que o Ajax completa a solicitacao.
//
//    Alterações:
//       12/02/2009 - Jorge Rodrigues: inclusao do parametro pFuncao.
//
//------------------------------------------------------------------------------
function execAjax(pScript, pDiv, pParametros, pFuncao) {

	 // pre loader
   document.getElementById(pDiv).innerHTML = "<p style='display:block; width:100%; border:0px solid #0FF; margin-top:20px; font-size:12px; font-weight:bold; text-align:center'>Aguarde...</p>";

   // criacao do objeto XMLHTTP do arquivo ajax.js
   var oHTTPRequest = createXMLHTTP();
   oHTTPRequest.open("post", pScript, true);   //enviamos para a pagina que faz o select do que foi digitado e traz a lista preenchida.

   // para solicitacoes utilizando o metodo post deve
   // ser acrescentado este cabecalho HTTP
   oHTTPRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

   // a funcao abaixo e executada sempre que o estado do objeto muda (onreadystatechange)
   oHTTPRequest.onreadystatechange=function(){
      // o valor 4 significa que o objeto ja completou a solicitacao
      if (oHTTPRequest.readyState==4) {
         // abaixo o texto gerado no arquivo executa.asp e colocado no div
         //document.all.divRetorno.innerHTML = oHTTPRequest.responseText;
         document.getElementById(pDiv).innerHTML = oHTTPRequest.responseText;
         if ( typeof pFuncao!="undefined" && pFuncao!="" ) {
//            alert(pFuncao);
            eval( pFuncao + "();" );
         }
      }
   }

   pParametros = "a=a&" + pParametros;

   //if ( pParametros=="" ) { pParametros="na=da"; }

   oHTTPRequest.send(pParametros);
}




