


  //Tenta criar o objeto xmlHTTP
  try{
    xmlhttp = new XMLHttpRequest();
  }catch(ee){
    try{
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
        try{
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }catch(E){
            xmlhttp = false;
        }
    }
  }

  //Fila de conexões
  fila=[]
  ifila = 0;

  //Carrega via XMLHTTP a url recebida e coloca seu valor
  //no objeto com o id recebido
  function ajaxHTML(id,url){
  
    //Carregando...
    document.getElementById(id).innerHTML="<span class='carregando' style='text-align:center'>"+
                                          "<img src=\""+vHost+"/site/public/images/loading.gif\" width=\"32\" height=\"32\" border=\"0\"><br>Carregando ...</span>"
    //Adiciona à fila
    fila[fila.length]=[id,url]
    //Se não há conexões pendentes, executa
    if((ifila+1)==fila.length)
    ajaxRun()
  }
  
  function ajaxCache(id,url){

    //Carregando...

    //Adiciona à fila
    fila[fila.length]=[id,url]
    //Se não há conexões pendentes, executa
    if((ifila+1)==fila.length)
    ajaxRun()
  }

  function ajaxHTMLConteudo(id,componente){
    var caminho;

    showMe(componente);
    caminho=componente.substring(componente.indexOf('?')+1,componente.indexOf('&'));

    document.getElementById(id).innerHTML="<img src='fileh.php?"+caminho+"' border='0' onClick=\"hideMe();return false\">";
}

  //Executa a próxima conexão da fila - ajax
  function ajaxRun(){
    //Abre a conexão
    xmlhttp.open("GET",fila[ifila][1],true);
    //Função para tratamento do retorno
    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4){
            //Mostra o HTML recebido
            retorno=unescape(xmlhttp.responseText.replace(/\+/g," "))
            retorno=unescape(xmlhttp.responseText.replace(/\+/g," "))
            document.getElementById(fila[ifila][0]).innerHTML=retorno;
            doScript(retorno);

            //Roda o próximo
            ifila++
            if(ifila<fila.length)setTimeout("ajaxRun()",20)
        }
    }
    //Executa
    xmlhttp.send(null)
  }

  var divCombo;
  var divLayer;
  var idChamada;
  var tabelaChamada;
  var colunaRelacaoChamada;//add darabas 06-12-06

  function verificaCampoLayer(pForm, arqInc){ //Deve ser usado nos relacionamentos não multilingue, no form chamado no lugar de verifica campo
    var aux = verificaCampo(pForm);
        if(aux){
          var i = 0;
          var aux = '';
          var x = '?';
          while (i != pForm.length){
            aux = aux+x+pForm.elements[i].name+'='+pForm.elements[i].value;
            if(pForm.elements[i].name != 'ACAO')
              pForm.elements[i].value = '';
            x='&';
            i++;
          }
          ajaxHTML(divCombo,arqInc+aux+'&tabela='+pForm.name+'&id_chamada='+idChamada);
          hideMe();
        }
    //nao deve retornar resultado
  }
  
  var cor;

  //modificado darabas 29-03-07
  function mostraPropriedades(divIndice, codigo, tabela, pCorD, vCols, pPermiteEditarImgs, pMultilingue, pPerEdt, pPerExc){
    if(document.getElementById('div_prop'+divIndice).innerHTML==''){
      ajaxHTML('div_prop'+divIndice, 'propriedades_list.php?codigo='+codigo+'&tabela='+tabela+'&div_prop=div_prop'+divIndice+'&indice='+divIndice+'&cols_list='+vCols+'&permite_editar_imgs='+pPermiteEditarImgs+'&multilingue='+pMultilingue+'&p_editar='+pPerEdt+'&p_excluir='+pPerExc);
      document.getElementById('div_mais'+divIndice).innerHTML = '&nbsp;[&nbsp;-&nbsp;]&nbsp;';
      document.getElementById('linha'+divIndice).style.backgroundColor=pCorD;
      document.getElementById('col'+divIndice).style.backgroundColor=pCorD;
    }else{
      document.getElementById('div_prop'+divIndice).innerHTML = '';
      document.getElementById('div_mais'+divIndice).innerHTML = '&nbsp;[&nbsp;+&nbsp;]&nbsp;';
      document.getElementById('col'+divIndice).style.backgroundColor= '';
    }
  }
  
  function AlteraCorSaida(idIndice, pCor, pCorD){
    if(document.getElementById('div_prop'+idIndice).innerHTML != ''){
      document.getElementById('linha'+idIndice).style.backgroundColor=pCorD;
    }else{
      document.getElementById('linha'+idIndice).style.backgroundColor=pCor;
    }
  }

  function verificaCampoLayerMulti(pForm, arqInc, pMulti){ //Deve ser usado nos relacionamentos multilingue, no form chamado no lugar de verifica campo
    var aux = verificaCampo(pForm);
        if(aux){
          var i = 0;
          var aux = '';
          var x = '?';
          while (i != pForm.length){
            aux = aux+x+pForm.elements[i].name+'='+pForm.elements[i].value;
            if(pForm.elements[i].name != 'ACAO')
              pForm.elements[i].value = '';
            x='&';
            i++;
          }
          //linha abaixo alterada darabas 06-12-06
          ajaxHTML(divLayer,arqInc+aux+'&tabela='+pForm.name+'&id_chamada='+idChamada+'&multilingue='+pMulti+'&tabela_chamada='+tabelaChamada+'&coluna_relacao_chamada='+colunaRelacaoChamada);
        }

    atualizouDivCombo = false;
    //nao deve retornar resultado
  }
  
  function verificaCampoEdicaoListagem(pForm, arqInc, arqList, pMulti, codigo, pIndice, pColunasListagem){ //Deve ser usado nos relacionamentos multilingue, no form chamado no lugar de verifica campo
    pCL = pColunasListagem.split(",");

    var aux = verificaCampo(pForm);
        if(aux){
          var j;
          for(j=0;j<pCL.length;j++){
            if((pCL[j].indexOf("foto")==-1)&&(pCL[j].indexOf("download")==-1)){
              var a = pForm.elements[pCL[j]].value;
              document.getElementById(pCL[j]+pIndice).innerHTML = a;
            }
          }
          var i = 0;
          var aux = '';
          var x = '?';
          while (i != pForm.length){
            aux = aux+x+pForm.elements[i].name+'='+pForm.elements[i].value;
            if(pForm.elements[i].name != 'ACAO')
              pForm.elements[i].value = '';
            x='&';
            i++;
          }
          ajaxHTML('div_prop'+pIndice,arqInc+aux+'&tabela='+pForm.name+'&id_chamada='+idChamada+'&ACAO=Alterar&tipo=altera_listagem&multilingue='+pMulti);
          ajaxHTML('div_prop'+pIndice,arqList+'?tabela='+pForm.name+'&codigo='+codigo+'&div_prop=div_prop'+pIndice);
        }
  }

  function preencheRelacaoMenus(pForm, pDivLayer, arqInc){ //Deve ser usado nos relacionamentos multilingue, no form chamado no lugar de verifica campo
    var i = 0;
    var aux = '';
    var x = '?';
    while (i != pForm.length){
      aux = aux+x+pForm.elements[i].name+'='+pForm.elements[i].value;
      x='&';
      i++;
    }
    var conteudo = arqInc+aux;
    //alert(conteudo);
    ajaxHTML(pDivLayer, conteudo);
  }

  function AlteraIdiomaLayer(pLink){//usado no relacionameto com multilingue, para alterar o idioma de cadastro
    ajaxHTML(divLayer,pLink);
  }

  function adicionaOption(form,campo,codigo,valor) {// alterar opcao de combo - {ainda não testado}
    var i;
    i=document.forms[form].elements[campo].options.length;
    document.forms[form].elements[campo].options[i]=new Option(valor,codigo);
  }

  //funcao alterada darabas 06-12-06
  function IncluiNoLayerEShow(pDivLayer, pDivCombo, pArq, pId, pTabelaChamada, pColunaRelacaoChamada){ //deve ser usdado no formulario que solicita o relacionamento multilingue ou não
    divCombo = pDivCombo;
    divLayer = pDivLayer;
    idChamada = pId;
    tabelaChamada = pTabelaChamada;
    colunaRelacaoChamada = pColunaRelacaoChamada;
    ajaxHTML(pDivLayer, pArq);
    showMe();
    return false;
  }

  var atualizouDivCombo = false;
  function AtualizaDivCombo(pDivCombo, pLink, pHide){ //deve ser usado na estrutura de relacionamento multilingue
    if(!atualizouDivCombo){
       ajaxHTML(pDivCombo,pLink);
       atualizouDivCombo = true;
    }
    if(pHide){
      atualizouDivCombo = false;
      hideMe();
    }
  }

function doScript(texto){
    var ini, pos_src, fim, codigo;
    var objScript = null;
    ini = texto.indexOf('<script', 0);
    while (ini!=-1){
        var objScript = document.createElement("script");
        //Busca se tem algum src a partir do inicio do script
        pos_src = texto.indexOf(' src', ini)
        ini = texto.indexOf('>', ini) + 1;

        //Verifica se este e um bloco de script ou include para um arquivo de scripts
        if (pos_src < ini && pos_src >=0){//Se encontrou um "src" dentro da tag script, esta e um include de um arquivo script
            //Marca como sendo o inicio do nome do arquivo para depois do src
            ini = pos_src + 4;
            //Procura pelo ponto do nome da extencao do arquivo e marca para depois dele
            fim = texto.indexOf('.', ini)+4;
            //Pega o nome do arquivo
            codigo = texto.substring(ini,fim);
            //Elimina do nome do arquivo os caracteres que possam ter sido pegos por engano
            codigo = codigo.replace("=","").replace(" ","").replace("\"","").replace("\"","").replace("\'","").replace("\'","").replace(">","");
            // Adiciona o arquivo de script ao objeto que sera adicionado ao documento
            objScript.src = codigo;
        }else{//Se nao encontrou um "src" dentro da tag script, esta e um bloco de codigo script
            // Procura o final do script
            fim = texto.indexOf('</script>', ini);
            // Extrai apenas o script
            codigo = texto.substring(ini,fim);
            // Adiciona o bloco de script ao objeto que sera adicionado ao documento
            objScript.text = codigo;
        }

        //Adiciona o script ao documento
        document.body.appendChild(objScript);
        // Procura a proxima tag de <script
        ini = texto.indexOf('<script', fim);

        //Limpa o objeto de script
        objScript = null;
    }
}


  function trataValor(pCsse_valor,pCssp_codigo){
    //alert(vHost+'ajaxCss.php?ajax=trataTipoDeValores&layer=nulo&csse_valor='+pCsse_valor+'&cssp_codigo='+pCssp_codigo);
    ajaxHTML('div_valor',vHost+'ajaxCss.php?ajax=trataTipoDeValores&layer=nulo&csse_valor='+pCsse_valor+'&cssp_codigo='+pCssp_codigo);
  }
  
  function Importaclasse(pClasse_atual,pClasse_importada){

    if (confirm("Tem certeza que deseja Importar essa Classe?")) {
      ajaxHTML('div_estilos',vHost+'ajaxCss.php?ajax=importaClasse&layer=nulo&classe_atual='+pClasse_atual+'&classe_importada='+pClasse_importada);
    }

  }
