//------------------------------------------------------
// Neste arquivo encontram-se as funções utilizadas para
// processamento in "Real-Time" via metodologia AJAX.
//------------------------------------------------------

// Objeto base para instanciar (ou carregar) as páginas...
var xmlHttp;

//------------------------------------------------------
// Inicializa uma instância nova para execução de 
// páginas.
//------------------------------------------------------
function ajaxAtivar() {
   if (window.ActiveXObject) {
      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
   } 
   else if (window.XMLHttpRequest) {
      xmlHttp = new XMLHttpRequest();
   }
}

function ajaxAtualizaLog(sIDimovel, sOrigem, sAcao) {
   // sOrigem=1 destaque01, =2 destaque02, =3 destaque03, 4=busca
   // sAcao = 0 --> apenas carregou. sAcao = 1 --> clicou
   ajaxAtivar();
   var sCmd = "../Log/OMI_atualizaLog.aspx?id_imovel="+sIDimovel;
   sCmd += "&origem="+sOrigem;
   sCmd += "&acao="+sAcao;
   sCmd += "&processo="+new Date().getTime();
   xmlHttp.open("GET", sCmd, true);
   xmlHttp.onreadystatechange = ajaxProcessaAtualizaLog;
   xmlHttp.send(null);
}

function ajaxProcessaAtualizaLog(){
   if(xmlHttp.readyState == 4){
      if(xmlHttp.status == 200){
         var wptTeste="ok";
      }
   }
}

//------------------------------------------------------
// Atualiza a cobrança com base na:
// sPag     => Elemento HTML que será atualizado 
// sCombo   => nome do combo a ser remontado
// sID      => ID da empresa que esta usando o filtro
//------------------------------------------------------
function ajaxAtualizaCombo(sPagina, sCombo, sID) {
    pag = sPagina;
    combo = sCombo;
    ajaxAtivar();
    var sCmd = "OMI_filtroOnLine.aspx?combo=" + combo;
    sCmd += "&id=" + sID;
    sCmd += "&negocio=" + pag.getElementsByName("cboNegocio").item(0).value;
    sCmd += "&cidade=" + pag.getElementsByName("cboCidade").item(0).value;
    sCmd += "&bairro=" + pag.getElementsByName("cboBairro").item(0).value;
    sCmd += "&tipo=" + pag.getElementsByName("cboTipo").item(0).value;
    sCmd += "&dormitorio=" + pag.getElementsByName("cboDormitorio").item(0).value;
    sCmd += "&preco=" + pag.getElementsByName("cboPreco").item(0).value;
    sCmd += "&processo=" + new Date().getTime();
    xmlHttp.open("GET", sCmd, true);
    xmlHttp.onreadystatechange = ajaxProcessaAtualizaCombo;
    xmlHttp.send(null);
}
function ajaxProcessaAtualizaCombo() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200 || xmlHttp.status == 500) {
            var sResposta = xmlHttp.responseText;
            var browse = "ie";

            // Limpa o Combo
            RemoveItem(combo);

            try //Internet Explorer
            {
               xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
               xmlDoc.async = "false";
               xmlDoc.loadXML(sResposta);
            }
            catch (e) {
               try //Firefox, Mozilla, Opera, etc.
               {
                  browse = "";
                  xmlDoc = document.implementation.createDocument("", "", null);
                  parser = new DOMParser();
                  xmlDoc = parser.parseFromString(sResposta, "text/xml");
                  //xmlDoc.async = false;
               }
               catch (e) {
                  alert(e.message);
                  return;
               }
            }

            var obj = xmlDoc.getElementsByTagName("combo").item(0).childNodes;
            for (i = 0; i < obj.length; i++) {
               //id = obj[i].attributes[0].nodeName; vl = obj[i].attributes[0].nodeValue;
               if (browse == "ie") {
                  AddItem(combo, obj[i].childNodes[0].text, obj[i].childNodes[1].text);
               }
               else {
                  AddItem(combo, obj[i].childNodes[1].textContent, obj[i].childNodes[3].textContent); // firefox e chrome
                  //AddItem(combo, obj[i].children[0].textContent, obj[i].children[1].textContent); -- esta linha só funciona no firefox
               }
            }
        }
    }
}

function AddItem(combo, sValue, sText) {
   var opt = document.createElement("option");
   opt.value = sValue;
   opt.text = sText;

   if (sValue == "-1" || sValue == "26" || sValue == "30" || sValue == "34"
      || sValue == "36" || sValue == "45" || sValue == "47" || sValue == "51") {
      opt.setAttribute("acesso", "false");
      opt.setAttribute("style", "color:#888888;");
   }
   else 
      opt.setAttribute("acesso", "true");

   document.getElementById(combo).options.add(opt);
   document.getElementsByName(combo).item(0).disabled = false;
   document.getElementsByName(combo).item(0).style.backgroundColor="#ffffff";
}

function RemoveItem(combo) {
    var oSelect = pag.getElementsByName(combo).item(0);
    for (var i = oSelect.length - 1; i >= 0; i--) {
        oSelect.options[i] = null;
    }
}


