﻿function jResultadoPesquisa()
{ 
    var This = this;
    var jDS;
    var tpl;
    var StatusBusca = false;
    var ftSliderValor;
    var ordenarPor = "Valor"; //Ordenação DEFAULT
    
    this.on = function()
    {
        $('selOrdenar').onchange = function()
        {
           ordenarPor = $('selOrdenar').value;
           $html(ctrlRefs.siteConteudo(), render.main());
           
           This.on();
           $('selOrdenar').value = ordenarPor;
        }          
    };

    var render = {
        main: function() {
            tpl.tpl_main.liResultado = render.resultadoBusca();
            return tpl.tpl_main.getHtml();
        },
        resultadoBusca: function() {

            var sb = new StringBuilder();

            try {
                jDS.sort("PacotesVB", ordenarPor, false);
            }
            catch (e) { }

            //-- Transforma data de saída - bu Jorge Aires
            var dataSaida = $queryString('dataSaida');
            //var dataSaidaTmp = Date.parse(dataSaida, "dd/MM/yyyy");
            //if (dataSaidaTmp == null) {
            //	dataSaida = dataSaida.replace("%2F", "/"); // Substitui primeira barra
            //	dataSaida = dataSaida.replace("%2F", "/"); // Substitui segunda barra
            //	dataSaida = Date.parse(dataSaida, "dd/MM/yyyy");
            //}

            // Para prevenir erros de timezone e daylight saving time evitamos o parse para data
            // neste ponto, visto que não há tratamento para datas inválidas. - Hilton
            dataSaida = dataSaida.replace(/%2F/g, "/");

            for (var i = 0; i < parseInt(jDS.getTotRegs("PacotesVB")); i++) {
                tpl.liResultado.imagem = (jDS.getDrValue("PacotesVB", i, "Thumbnail") != "" ? jDS.getDrValue("PacotesVB", i, "Thumbnail") : "imgs/noImg.jpg");
                tpl.liResultado.titulo = jDS.getDrValue("PacotesVB", i, "Nome").toUpperCase();
                tpl.liResultado.descricao = jDS.getDrValue("PacotesVB", i, "Descricao");
                tpl.liResultado.validade = jDS.getDrValue("PacotesVB", i, "Validade").substring(0, 10);

                var jDTOrigem = new jDatatable(clResultadoPesquisa.listarOrigens(jDS.getDrValue("PacotesVB", i, "codPacoteVB")).value);
                var sbOrigens = new StringBuilder();

                var j = 0;
                while (j < parseInt(jDTOrigem.getTotRegs())) {
                    sbOrigens.append(jDTOrigem.getDrValue(j, "Saida"));
                    j++;
                    if (j < jDTOrigem.getTotRegs()) {
                        sbOrigens.append('/ ');
                    };
                };

                tpl.liResultado.saindode = sbOrigens.toString();

                if (jDS.getDrValue("PacotesVB", i, "Operadora") != '')
                    tpl.liResultado.operadora = jDS.getDrValue("PacotesVB", i, "Operadora");

                tpl.liResultado.moeda = "R$"; //jDS.getDrValue("PacotesVB", i, "Moeda"); //
                tpl.liResultado.valor = (jDS.getDrValue("PacotesVB", i, "Valor") == "" ? "0,00" : parseFloat(jDS.getDrValue("PacotesVB", i, "Valor")).formatNumber(2, true));
                tpl.liResultado.onClick = jDS.getDrValue("PacotesVB", i, "codPacoteVB");
                tpl.liResultado.dataSaida = dataSaida;

                //-- AREA DO AGENTE
                if ($queryString('areaAgente') == 'true') {
                    tpl.liResultado.link = 'iframePacotes';
                    tpl.liResultado.areaAgente = 'true';
                    tpl.liResultado.urlAreaAgente = "txtNomeUsuario=" + $queryString('txtNomeUsuario') + "&txtSenhaUsuario=" + $queryString('txtSenhaUsuario');
                } else {
                    tpl.liResultado.link = 'pacotesNew';
                    tpl.liResultado.areaAgente = 'false';
                };

                sb.append(tpl.liResultado.getHtml());

            };

            if (i == 0) {
                StatusBusca = false;
                //tpl.tpl_main.errorMessage = '<br><br><center><h3>Não foram localizados pacotes com o perfil de sua busca.</h3></center>';
                var errorMessage = '<div id="errorMessage" style="text-align:center; color:#000; width:auto; padding-top:40px;">';
                errorMessage += '<img src="imgs/atencao.jpg" alt="Atenção" />';
                errorMessage += '<p style="font-size:16px; font-weight:bold; margin-top:5px;">Desculpe-nos, não há disponibilidade para esta data ou destino.</p>';
                errorMessage += '<p style="font-size:15px; margin-top:10px;">Por favor, informe uma outra data ou novo destino e faça uma nova pesquisa.</p>';
                errorMessage += '</div>';
                tpl.tpl_main.errorMessage = errorMessage;
            }
            else {
                StatusBusca = true;
                tpl.tpl_main.errorMessage = '';
            };

            tpl.tpl_main.liResultado = sb.toString();
            tpl.tpl_main.regiaoTuristica = ($queryString('regiaoTuristica') != "0" ? "<b>Região:</b> " + jDS.getDrValue("Localidades", 0, "NomeRegiao") + "&nbsp;&nbsp;" : "");
            tpl.tpl_main.localidade = ($queryString('destino') != "0" ? "<b>Cidade:</b> " + jDS.getDrValue("Localidades", 0, "Nome") + "&nbsp;&nbsp;" : "");
            tpl.tpl_main.dataSaida = ($queryString('dataSaida') != "" ? "<b>Data de saída:</b> " + $queryString('dataSaida').replace("%2F", "/").replace("%2F", "/") : "");
            tpl.tpl_main.numeroDias = "";

            return tpl.tpl_main.liResultado;
        },
        loading: function() {
            var tplCommon = new Template("Common");
            var sb = new StringBuilder();
            sb.append("<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />");
            sb.append("<center>");
            sb.append(tplCommon.tpl_loading.getHtml());
            sb.append("</center>");
            return sb.toString();
        }
    };
    
    var on = {
        sort: function(pColuna, pReverse)
        {
            jDT.sort(pColuna, pReverse);            
        }
    };    
    
    var ctrlRefs = {
        siteConteudo: function() { return $('siteConteudo'); },      
        divResultadoPesquisa: function() { return $('divResultadoPesquisa'); },
        resultArea: function() { return $('resultArea'); }
    };
    
    var callBacks = {
        resultadoBusca: function(res)
        {
            if (res.value != undefined)
            {
                jDS = new jDataset(res.value);
                $html(ctrlRefs.siteConteudo(), render.main());

                //-- Oculta Pelicula Pacote
                $('fundoLogin').style.display = 'none';
                $('fmLogin').style.display = 'none';
                
                This.on();
                $('selOrdenar').value = ordenarPor;                
            };
        }
    };
    
    var startEnv = {
        main: function()
        {
            if ($queryString('areaAgente') == 'true')
            {
                document.body.style.background = '#FFFFFF';
                $('centroTopoPeq').style.display = 'none';
            };
            
            var regiaoTuristica = $queryString('regiaoTuristica');
            var dataSaida = $queryString('dataSaida');
            var destino = $queryString('destino');
            var numDias = $queryString('numDias');
            var segmentoPct = $queryString('segmentoPct');
            var tipoPct = $queryString('tipoPct');
            
            // By Jorge Aires
            try
            {
                var dataSaidaTmp = Date.parse(dataSaida, "dd/MM/yyyy");
                if (dataSaidaTmp == null)
                {
                    dataSaida = dataSaida.replace("%2F", "/"); // Substitui primeira barra
                    dataSaida = dataSaida.replace("%2F", "/"); // Substitui segunda barra
                    dataSaida = Date.parse(dataSaida, "dd/MM/yyyy");
                }
            }
            catch (e)
            {
                
            }
            
            clResultadoPesquisa.doPesquisa(regiaoTuristica, destino, segmentoPct, tipoPct, dataSaida , 0, callBacks.resultadoBusca);             
            //$html(ctrlRefs.siteConteudo(), render.loading());
            
            //-- Inicia Combos Pesquisa Pacote
            getOrigens();
            getDestinos();
            getTiposPacote();
            
            //-- Se já tiver parametro inicia ele marcado
            var qsDS = $queryString('dataSaida');
            
            if(qsDS != "")
                $set('dataSaida', qsDS.replace("%2F", "/").replace("%2F", "/"));
            
            
        }
    };
    
    this.goTo = {
        main: function()
        {
            startEnv.main();
        },
        detalhes: function(codPacote)
        {
            //$html(ctrlRefs.siteConteudo(), render.loading());
            $html(ctrlRefs.divResultadoPesquisa(), render.loading());

            var qsAreaAgente = "false";
            if ($queryString('areaAgente') == 'true')
            {
                qsAreaAgente = "true";
            };
            
            $redirect(
                'pacotesNew.vxlpub',
                'codPacote=' + codPacote +
                '&dataSaida=' + dataSaida +
                '&to=d&areaAgente=' + qsAreaAgente
            );
        }
    };
    
    this.constructor = new function()
    {
        tpl = new Template("ResultadoPacotes");
    };
};


