function ajaxInit() {
  var req;
  try {
	  req = new ActiveXObject("Microsoft.XMLHTTP");}
  catch(e){
    try {
		req = new ActiveXObject("Msxml2.XMLHTTP");}
	catch(ex){
      try {
		  req = new XMLHttpRequest();} 
	  catch(exc) {
        alert("Esse browser não tem recursos para uso do Ajax");
        req = null;
      }
    }
  }
  return req;
}

function ajaxURL(spanID,url,pPost,pGet,Xml) {
  var usersCountTmpVar = document.getElementById(spanID);
  if(usersCountTmpVar.tagName == "DIV" || usersCountTmpVar.tagName == "SPAN")
    usersCountTmpVar.innerHTML = '<table border="0" align="center" height="300" width="80%"><tr><td width="35%" align="right"><img src="images/loading.gif"/></td><td style="font-size:10px; font-family:Verdana, Arial, Helvetica, sans-serif; color:#999999;">Carregando...<br />Aguarde...<br /></td></tr></table>';
  else if(usersCountTmpVar.tagName == "SELECT")
    usersCountTmpVar.innerHTML = "<option>-- Carregando --</option>";
  //else usersCountTmpVar.innerHTML = "Carregando";

  
  if(!usersCountTmpVar) {
     alert("Campo não encontrado no documento");
     return; //se ele não encontrar o campo, da um alerta e escapa a funcao 
  }
  var ajaxUC = ajaxInit(); //inicia a variavel ajax para uso e UserCount
  url = url+"?"+pGet;
  ajaxUC.open("POST", url, true);
  ajaxUC.setRequestHeader('Content-Type',"application/x-www-form-urlencoded; charset=iso-8859-1");
  ajaxUC.setRequestHeader("Cache-Control","no-store, no-cache, must-revalidate");
  ajaxUC.setRequestHeader("Cache-Control","post-check=0, pre-check=0");
  ajaxUC.setRequestHeader("Pragma", "no-cache");
  ajaxUC.onreadystatechange = function() { //funcao executada ao trocar de stado
    if(ajaxUC.readyState == 4) { //verifica se o estado atual é "concluido"
       if(ajaxUC.status == 200) { //verifica se o arquivo foi lido corretamente
		  if(Xml == true){
			 return ajaxUC.responseXML;
             /*como ler do xml
			  var root_node = xmldoc.getElementsByTagName('root').item(0);
             alert(root_node.firstChild.data);  */
		  }
		  else
		    usersCountTmpVar.innerHTML = ajaxUC.responseText + " "; //define o texto do span		  		  		  
       }
	   else alert("Erro na solicitação");
    }
  }  
  if(pPost == "")
    ajaxUC.send(null); //enviar dados somente pelo GET
  else
    ajaxUC.send(pPost); //enviar dados pelo metodo POST
}

/* rotina ajax q retorna em formato xml */
function ajaxXML(url,pPost,pGet) {
  var ajaxUC = ajaxInit(); //inicia a variavel ajax para uso e UserCount
  url = url+"?"+pGet;
  ajaxUC.open("POST", url, true);
  ajaxUC.setRequestHeader('Content-Type',"application/x-www-form-urlencoded; charset=iso-8859-1");
  ajaxUC.setRequestHeader("Cache-Control","no-store, no-cache, must-revalidate");
  ajaxUC.setRequestHeader("Cache-Control","post-check=0, pre-check=0");
  ajaxUC.setRequestHeader("Pragma", "no-cache");
  ajaxUC.onreadystatechange = function() { //funcao executada ao trocar de stado
    if(ajaxUC.readyState == 4) { //verifica se o estado atual é "concluido"
       if(ajaxUC.status == 200) { //verifica se o arquivo foi lido corretamente
			 return ajaxUC.responseXML;
       }
	   else alert("Erro na solicitação");
    }
  }  
  if(pPost == "")
    ajaxUC.send(null); //enviar dados somente pelo GET
  else
    ajaxUC.send(pPost); //enviar dados pelo metodo POST
}
