//Cria a fila de requisi??es
//Vari?veis Globais
var fila=[];
var ifila=0;
var req=CriaReq();

/*
Objetivo: Verificar se o navegador suporta XML e criar inst?cia do XML.
Retorno : tXHR - objeto XML
*/
function CriaReq()
{ var tXHR=0;
  if (window.XMLHttpRequest)
  {
    tXHR=new XMLHttpRequest(); //objeto nativo (FF / Safari / Konqueror / Opera / etc)
  }
  else{
     if (window.ActiveXObject)
     {
      // tXHR=new ActiveXObject("Msxml2.XMLHTTP");  //activeX (IE5.5+/MSXML2+)

       tXHR=new ActiveXObject("Microsoft.XMLHTTP");  //activeX (IE5+/MSXML1)
     }
     else //O navegador n?o tem suporte
     {
       tXHR=false;
     }
  }
  return tXHR; //retornar resultado (objeto, ou "false", no caso de erro)
}

/**********************************************/
function limpaID(id){

  while (document.getElementById(id).hasChildNodes())
      document.getElementById(id).removeChild(document.getElementById(id).lastChild);

} 

/**********************************************/
function msg(id,msg)
{
    document.getElementById(id).appendChild(document.createTextNode(msg));
}

/**********************************************/
function RespServOK()
{
  if (req.readyState == 4){
    if (req.status == 200) {
       return true;
    }
    else { //Se o servidor retornou outro c?digo que n?o "200", mostrar o erro.
       //alert('Erro no acesso aos dados '+  req.readyState +' - '+req.status) ;
       return false;
    }
  }
}

/**********************************************/
function carregaDados()
{
	
  req.open('GET', fila[ifila][1], true);

  req.onreadystatechange=function()
  {
     if (RespServOK()){
        //Mostra o HTML recebido
         document.getElementById(fila[ifila][0]).innerHTML=req.responseText;
         //Roda o pr?ximo
         ifila++
         if(ifila < fila.length)
         	setTimeout("carregaDados()",100);
     }
  }
  //Executa
  req.send(null);

}

/**********************************************/
function ajaxHTML(id,flag,url){
var obj= document.getElementById(id);

if (req){
	  //limpa id
	  limpaID(id);
      //Exibe mensagem
      //msg(id,'Carregando...');
      if (flag=='T') {
      	document.getElementById(id).innerHTML = '<table border="0" width="100%"><tr><td align="center"><img src="imgs/loading.gif"></td></tr></table>';
      } else {
      	document.getElementById(id).innerHTML = 'Carregando...';
      }
      //Adiciona ? fila
      fila[fila.length]=[id,url];
      //Se n?o h? conex?es pendentes, executa
      if((ifila+1)==fila.length)
        carregaDados();
}
else{
   alert('O navegador n?o suporta esta tecnologia, use Internet Explorer 6 ou Mozilla FireFox para este sistema');
}

}

function ajaxHTML_tabela(id,flag,url){
var obj= document.getElementById(id);

if (req){
	  //limpa id
	  limpaID(id);
      //Exibe mensagem
      //msg(id,'Carregando...');
      document.getElementById(id).innerHTML = 'Carregando...';
      //Adiciona ? fila
      fila[fila.length]=[id,url];
      //Se n?o h? conex?es pendentes, executa
      if((ifila+1)==fila.length)
        carregaDados();
}
else{
   alert('O navegador n?o suporta esta tecnologia, use Internet Explorer 6 ou Mozilla FireFox para este sistema');
}

} 
