﻿// Filtros Renderizar


Aereo.FiltroRender = {

//var ciasAereas =new Array();
//var paradas = new Array();
//var horariosIda = new Array(16);
//var horariosVolta = new Array(16);
//var maxRange;
//var precosIda = new Array(4);
//var precosVolta = new Array(4);

//var moeda = "";
//var duracaoIda = new Array(4);
//var duracaoVolta = new Array(4);

//Indices controlados pelo Slider
//var idxMenorSaidaIda = 0;
//var idxMenorSaidaIdaSelecionada = 1;
//var idxMaiorSaidaIda = 2;
//var idxMaiorSaidaIdaSelecionada = 3;
//var idxMenorChegadaIda = 4;
//var idxMenorChegadaIdaSelecionada = 5;
//var idxMaiorChegadaIda = 6;
//var idxMaiorChegadaIdaSelecionada = 7;

//var idxMenorSaidaVolta = 8;
//var idxMenorSaidaVoltaSelecionada = 9;
//var idxMaiorSaidaVolta = 10;
//var idxMaiorSaidaVoltaSelecionada = 11;
//var idxMenorChegadaVolta = 12;
//var idxMenorChegadaVoltaSelecionada = 13;
//var idxMaiorChegadaVolta = 14;
//var idxMaiorChegadaVoltaSelecionada = 15;

//    idxMenorDuracao = 0;
//    idxMenorDuracaoSelecionada = 1;
//    idxMaiorDuracao = 2;
//    idxMaiorDuracaoSelecionada = 3;

//    idxMenorPreco: 0,
//    idxMenorPrecoSelecionado: 1,
//    idxMaiorPreco: 2,
//    idxMaiorPrecoSelecionado: 3,

    HorariosIda: new Array(16),
    HorariosVolta: new Array(16),
    //MaxRange,
    PrecosIda: new Array(4),
    PrecosVolta: new Array(4),

    Moeda: "",
    DuracaoIda: new Array(4),
    DuracaoVolta: new Array(4),

    MenorSaidaIda: 0,
    MenorSaidaIdaSelecionada: 1,
    MaiorSaidaIda: 2,
    MaiorSaidaIdaSelecionada: 3,

    MenorChegadaIda: 4,
    MenorChegadaIdaSelecionada: 5,
    MaiorChegadaIda: 6,
    MaiorChegadaIdaSelecionada: 7,

    MenorDuracao: 0,
    MenorDuracaoSelecionada: 1,
    MaiorDuracao: 2,
    MaiorDuracaoSelecionada: 3,

    MenorPreco: 0,
    MenorPrecoSelecionado: 1,
    MaiorPreco: 2,
    MaiorPrecoSelecionado: 3,
    
    ciasAereas: null,
    paradas: new Array(),

    renderFiltroCiasAereas: function(templates,idaVolta)
    {
        //debugger 
        var dropDownCiasAereas = templates.dropDown;                //Template de dropDown
        var dropDownItemCiasAereas = templates.dropDownItem;        //Template que vai dentro do dropDown
        var ciasExibidas = "";                                      //Para evitar repetições
        var sb = new StringBuilder();                               //Para armazenar o dropDownItemCiasAereas e jogá-lo no dropDown
        
        //debugger;
        var dt = availDS.tables["Cias"].copy();
    
        dt.sort(['menorPreco', 'companhia']);
        
        //var itCias = availDS.tables.Cias.getIterator("ida_volta");  //Iterator para manipulação de tabela
        var itCias = dt.getIterator("ida_volta");  //Iterator para manipulação de tabela

        itCias.findByKey(idaVolta);
        
        var chkCiasAereas = document.getElementsByName("chkCiaAerea");

        for(itCias.moveFirst(); itCias.hasNext(); itCias.moveNext()) {   
            if ((itCias.row.principal == true || itCias.row.principal == "true") && (ciasExibidas.indexOf(itCias.row.companhia) == -1)) {
                //SETA TEMPLATE DROPDOWNITEM
                if (itCias.row.nomeCia != null) 
                {
                    dropDownItemCiasAereas.idDropDownItem = itCias.row.nomeCia.trim();
                }
                
                if (itCias.row.imagemPequena!=null && itCias.row.imagemPequena!='')
                {
                    dropDownItemCiasAereas.ValorDropDownItem1 =  "<span class='logo'><img src='image/airCompanies/" + itCias.row.imagemPequena + "' alt='' title='' /></span>";
                }
                else 
                {
                    dropDownItemCiasAereas.ValorDropDownItem1 = "<span class='logo'>" + dropDownItemCiasAereas.idDropDownItem + "</span>";
                }
                
                
                dropDownItemCiasAereas.ValorDropDownItem2 = getMoeda(itCias.row.moeda) + " " + itCias.row.menorPreco.formatNumber(2, true);
                dropDownItemCiasAereas.Link = "javascript:filtraVooCompanhia('" + itCias.row.companhia + "')";
                dropDownItemCiasAereas.nameDropDownItem = "chkCiaAerea";
                dropDownItemCiasAereas.valueDropDownItem = itCias.row.companhia;
                
                
                // Rosimeire 
                // Só exibo os divs das cias que estão na matriz Global de cias selecionadas no filtro
                if ( (listaCiasSelecionadas.contains(itCias.row.companhia) == false) && (listaCiasSelecionadas.length != 0) ) 
                    dropDownItemCiasAereas.styleDivDropDown = "none";
                else    
                    dropDownItemCiasAereas.styleDivDropDown = "";
                
                
                sb.append(dropDownItemCiasAereas.getHtml());
                ciasExibidas += itCias.row.companhia + ";";
            }   
        }
        itCias.dispose();
        
        //SETA TEMPLATE DROPDOWN
        dropDownCiasAereas.idDropDown = "divCias";
        dropDownCiasAereas.idDropDown2 = "divAeroportos";
        dropDownCiasAereas.TituloDropDown = "CIA. AÉREA";
        dropDownCiasAereas.Items = sb.toString();
        
        return dropDownCiasAereas.getHtml();  
    },

    renderFiltroAeroportos: function(templates,idaVolta)
    {
        var dropDownAeroportos = templates.dropDown;                            //Template de dropDown
        var dropDownGroupAeroportos = templates.dropDownGroup;                  //Template de dropDownGroup
        var dropDownItemAeroportos = templates.dropDownItem;                    //Template de dropDownItem
        var sbAeroportosOrigem = new StringBuilder();                           //Para separar só os dropDownGroups de origem
        var sbAeroportosDestino = new StringBuilder();                          //Para separar só os dropDownGroups de destino
        var listaAeroportosOrigem = new Array();                                //Para evitar repetições
        var listaAeroportosDestino = new Array();                               //Para evitar repetições
        var itAeroportos = availDS.tables.Aeroportos.getIterator("ida_volta");  //Iterator para manipulação de tabela
        

        itAeroportos.findByKey(idaVolta);
        for(itAeroportos.moveFirst(); itAeroportos.hasNext(); itAeroportos.moveNext()) {
            if (itAeroportos.row.origem_destino > -1) {

                //SETA TEMPLATE DROPDOWNITEM
                dropDownItemAeroportos.idDropDownItem = "chk" + itAeroportos.row.nome;
                dropDownItemAeroportos.ValorDropDownItem1 = itAeroportos.row.iata;
                dropDownItemAeroportos.ValorDropDownItem2 = itAeroportos.row.nome;
                dropDownItemAeroportos.Link = "javascript:filtraVooAeroporto('" + itAeroportos.row.iata + "')";
                dropDownItemAeroportos.Checked = (itAeroportos.row.filtro ? "" : "checked");

                dropDownItemAeroportos.styleDivDropDown = "";
                
                
                switch (itAeroportos.row.origem_destino) {
                    case 0:
                        if (listaAeroportosOrigem.contains(itAeroportos.row.iataCidade) == false) {                        
                            listaAeroportosOrigem[listaAeroportosOrigem.length] = itAeroportos.row.iataCidade;
                            
                            //SETA TEMPLATE DROPDOWNGROUP
                            dropDownGroupAeroportos.NomeGrupo = itAeroportos.row.cidade + ", " + itAeroportos.row.pais;
                            dropDownGroupAeroportos.Items = dropDownItemAeroportos.getHtml();
                            
                            sbAeroportosOrigem.append(dropDownGroupAeroportos.getHtml());
                        } else sbAeroportosOrigem.append(dropDownItemAeroportos.getHtml());                        
                        break;
                    case 1:
                        if (listaAeroportosDestino.contains(itAeroportos.row.iataCidade) == false) {
                            listaAeroportosDestino[listaAeroportosDestino.length] = itAeroportos.row.iataCidade;
                            
                            //SETA TEMPLATE DROPDOWNGROUP
                            dropDownGroupAeroportos.NomeGrupo = itAeroportos.row.cidade + ", " + itAeroportos.row.pais;
                            dropDownGroupAeroportos.Items = dropDownItemAeroportos.getHtml();

                            sbAeroportosDestino.append(dropDownGroupAeroportos.getHtml());
                        } else sbAeroportosDestino.append(dropDownItemAeroportos.getHtml());                        
                        break;
                }
            }
        } 
        itAeroportos.dispose();
        
        //SETA TEMPLATE DROPDOWN
        dropDownAeroportos.idDropDown = "divAeroportos";
        dropDownAeroportos.idDropDown2 = "divCias";
        dropDownAeroportos.TituloDropDown = "AEROPORTOS";
        dropDownAeroportos.Items = sbAeroportosOrigem.toString() + sbAeroportosDestino.toString();
        
        return dropDownAeroportos.getHtml();  
    },


    renderFiltroParadas: function(templates,idaVolta)
    {
        var groupChkBoxParadas = templates.groupChkBox;                     //Template de groupChkBox
        var groupChkBoxItemParadas = templates.groupChkBoxItem;             //Template de groupChkBoxItem
        var sb = new StringBuilder();                                       //Para armazenar o groupChkBoxItemParadas e jogá-lo no dropDown
        var nroParadas = 0;                                                 //Para controle de número de paradas
        var itParadas = availDS.tables.Paradas.getIterator("ida_volta");    //Iterator para manipulação de tabela
        
        itParadas.findByKey(idaVolta);
        
        //debugger;
        
        for(itParadas.moveFirst(); itParadas.hasNext(); itParadas.moveNext())
        {
            nroParadas+=1;

            groupChkBoxItemParadas.NroParadas = itParadas.row.numParadas;
            groupChkBoxItemParadas.Checked = (itParadas.row.filtro ? "" : "checked"); 
            groupChkBoxItemParadas.Link = "javascript:filtraVooParada(" + itParadas.row.numParadas + ")";
            switch (itParadas.row.numParadas) {
                case 0:
                    groupChkBoxItemParadas.Descricao = "Sem paradas";
                    break;
                case 1:
                    groupChkBoxItemParadas.Descricao = "1";
                    break;
                default:
                    groupChkBoxItemParadas.Descricao = "2";
                    break;
            }
           
            if (nroParadas == itParadas.count() - 1 || itParadas.row.numParadas == 2)
            {
                if (itParadas.row.numParadas > 0)
                {
                    groupChkBoxItemParadas.Descricao += " ou mais";
                }
                //linhaFiltroParadas.selecionado = "CHECKED";
            }
           
            sb.append(groupChkBoxItemParadas.getHtml());
            if (itParadas.row.numParadas >= 2) break;
        }
        itParadas.dispose();
        
        groupChkBoxParadas.divGrupoChkBox = "divParadas";
        groupChkBoxParadas.aGrupoChkBox = "divParadas";
        groupChkBoxParadas.NomeGrupoChkBox = "PARADAS";
        groupChkBoxParadas.Items = sb.toString();

        return groupChkBoxParadas.getHtml();  
    },
    
    renderFiltroHorarios: function(templates,modo)
    {
        if(availDS.tables.OpcoesDeVoo == null) return;
    
        var sliderHorarios = templates.slider;
        var sliderOptionsHorarios = templates.sliderOptions;
        var sliderOptionsItemHorarios = templates.sliderOptionsItem;
        var sufixo = (modo == 1 ? "Ida" : "Volta");
        var horarios = (modo == 1 ? Aereo.FiltroRender.HorariosIda : Aereo.FiltroRender.HorariosVolta); 
        var data;
        var minutos;
        var sb = new StringBuilder();
        
        
        if ((horarios[Aereo.FiltroRender.MenorSaidaIda] == undefined) && (horarios[Aereo.FiltroRender.MenorChegadaIda] == undefined))
        {
            horarios[Aereo.FiltroRender.MenorSaidaIda] = availDS.tables.Horarios.rows[0]["menorDataSaida"+sufixo];
            horarios[Aereo.FiltroRender.MaiorSaidaIda] = availDS.tables.Horarios.rows[0]["maiorDataSaida"+sufixo];
            horarios[Aereo.FiltroRender.MenorChegadaIda] = availDS.tables.Horarios.rows[0]["menorDataChegada"+sufixo];
            horarios[Aereo.FiltroRender.MaiorChegadaIda] = availDS.tables.Horarios.rows[0]["maiorDataChegada"+sufixo];
 
            data = Date.parse(horarios[Aereo.FiltroRender.MenorSaidaIda].toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');
            minutos = Date.diff(data, horarios[Aereo.FiltroRender.MenorSaidaIda], "mm");
            if (minutos > 30) horarios[Aereo.FiltroRender.MenorSaidaIda] = Date.parse(horarios[Aereo.FiltroRender.MenorSaidaIda].toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addMinutes(30);
            else horarios[Aereo.FiltroRender.MenorSaidaIda] = Date.parse(horarios[Aereo.FiltroRender.MenorSaidaIda].toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');

            data = Date.parse(horarios[Aereo.FiltroRender.MaiorSaidaIda].toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');
            minutos = Date.diff(data, horarios[Aereo.FiltroRender.MaiorSaidaIda], "mm");
            if (minutos > 30) horarios[Aereo.FiltroRender.MaiorSaidaIda] = Date.parse(horarios[Aereo.FiltroRender.MaiorSaidaIda].toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addHours(1);
            else horarios[Aereo.FiltroRender.MaiorSaidaIda] = Date.parse(horarios[Aereo.FiltroRender.MaiorSaidaIda].toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addMinutes(30);
        
            data = Date.parse(horarios[Aereo.FiltroRender.MenorChegadaIda].toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');
            minutos = Date.diff(data, horarios[Aereo.FiltroRender.MenorChegadaIda], "mm");
            if (minutos > 30) horarios[Aereo.FiltroRender.MenorChegadaIda] = Date.parse(horarios[Aereo.FiltroRender.MenorChegadaIda].toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addMinutes(30);
            else horarios[Aereo.FiltroRender.MenorChegadaIda] = Date.parse(horarios[Aereo.FiltroRender.MenorChegadaIda].toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');
        
            data = Date.parse(horarios[Aereo.FiltroRender.MaiorChegadaIda].toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');
            minutos = Date.diff(data, horarios[Aereo.FiltroRender.MaiorChegadaIda], "mm");
            if (minutos > 30) horarios[Aereo.FiltroRender.MaiorChegadaIda] = Date.parse(horarios[Aereo.FiltroRender.MaiorChegadaIda].toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addHours(1);
            else horarios[Aereo.FiltroRender.MaiorChegadaIda] = Date.parse(horarios[Aereo.FiltroRender.MaiorChegadaIda].toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addMinutes(30);
        
            horarios[Aereo.FiltroRender.MenorSaidaIdaSelecionada] = horarios[Aereo.FiltroRender.MenorSaidaIda];
            horarios[Aereo.FiltroRender.MaiorSaidaIdaSelecionada] = horarios[Aereo.FiltroRender.MaiorSaidaIda];
            horarios[Aereo.FiltroRender.MenorChegadaIdaSelecionada] = horarios[Aereo.FiltroRender.MenorChegadaIda];
            horarios[Aereo.FiltroRender.MaiorChegadaIdaSelecionada] = horarios[Aereo.FiltroRender.MaiorChegadaIda];

        }
        
        sliderVoltaMenorValor = new Array(2);
        sliderVoltaMenorValor[0] = true;
        sliderVoltaMenorValor[1] = true;
       
        sliderOptionsItemHorarios.TipoSliderItem = "radio";
        sliderOptionsItemHorarios.idSliderItem = "rdoHorariosSaida";
        sliderOptionsItemHorarios.NameSliderItem = "rdoHorario";
        sliderOptionsItemHorarios.Valor = "Saída";
        sliderOptionsItemHorarios.Link = "javascript:Aereo.FiltroRender.filtraVooSaidaIda()"
        sliderOptionsItemHorarios.Checked = "Checked"
        sb.append(sliderOptionsItemHorarios.getHtml());
        
        sliderOptionsItemHorarios.TipoSliderItem = "radio";
        sliderOptionsItemHorarios.idSliderItem = "rdoHorariosChegada";
        sliderOptionsItemHorarios.NameSliderItem = "rdoHorario";
        sliderOptionsItemHorarios.Valor = "Chegada";
        sliderOptionsItemHorarios.Link = "javascript:Aereo.FiltroRender.filtraVooChegadaIda()"
        sliderOptionsItemHorarios.Checked = ""
        sb.append(sliderOptionsItemHorarios.getHtml());
        
        sliderOptionsHorarios.Items = sb.toString();
        sliderHorarios.SliderOptions = sliderOptionsHorarios.getHtml();
       
        sliderHorarios.idSlider = "divHorarios";
        sliderHorarios.idValorInicial = "divHorarioInicial";
        sliderHorarios.idValorFinal = "divHorarioFinal";
        sliderHorarios.idBotaoSlider1 = "idMenorHorario";
        sliderHorarios.idBotaoSlider2 = "idMaiorHorario";
        sliderHorarios.NomeFiltro = "HORÁRIOS";
        sliderHorarios.ValorInicial = horarios[Aereo.FiltroRender.MenorSaidaIdaSelecionada].toString("HH").capitalize() + "h" + horarios[Aereo.FiltroRender.MenorSaidaIdaSelecionada].toString("mm");
        sliderHorarios.ValorFinal = horarios[Aereo.FiltroRender.MaiorSaidaIdaSelecionada].toString("HH").capitalize() + "h" + horarios[Aereo.FiltroRender.MaiorSaidaIdaSelecionada].toString("mm");    
        
        return sliderHorarios.getHtml();  
    },

    renderFiltroHorariosSlider: function()
    {

        //inicializando o slider
        var horarios = (Aereo.Disponibilidade.Modo == 1 ? Aereo.FiltroRender.HorariosIda : Aereo.FiltroRender.HorariosVolta);
        sliderHorario = new Slider($('divHorarios'), $('idMenorHorario'), moveDirection.horizontal, $('idMaiorHorario'), null);

        MaxRange = Date.diff(horarios[Aereo.FiltroRender.MenorSaidaIda], horarios[Aereo.FiltroRender.MaiorSaidaIda], "mm");
        positionIda = Date.diff(horarios[Aereo.FiltroRender.MenorSaidaIda],horarios[Aereo.FiltroRender.MenorSaidaIdaSelecionada], "mm");
        positionVolta = MaxRange-(Date.diff(horarios[Aereo.FiltroRender.MaiorSaidaIdaSelecionada], horarios[Aereo.FiltroRender.MaiorSaidaIda], "mm"));

        sliderHorario.setRange(0, MaxRange, 15);
        sliderHorario.setPosition2(positionVolta);
        sliderHorario.setPosition(positionIda);
        sliderHorario.onMove = exibirVooHorarioIdaMenor;
        sliderHorario.onMove2 = exibirVooHorarioIdaMaior;
        sliderHorario.onMoveStop = filtrarVooHorarioIdaMenor;
        sliderHorario.onMoveStop2 = filtrarVooHorarioIdaMaior;
    },
    
    filtraVooSaidaIda: function()
    {
        var horarios = (Aereo.Disponibilidade.Modo == 1 ? Aereo.FiltroRender.HorariosIda : Aereo.FiltroRender.HorariosVolta);
        $('divHorarioInicial').innerHTML = horarios[Aereo.FiltroRender.MenorSaidaIdaSelecionada].toString("HH").capitalize() + "h" + horarios[Aereo.FiltroRender.MenorSaidaIdaSelecionada].toString("mm");
        $('divHorarioFinal').innerHTML = horarios[Aereo.FiltroRender.MaiorSaidaIdaSelecionada].toString("HH").capitalize() + "h" + horarios[Aereo.FiltroRender.MaiorSaidaIdaSelecionada].toString("mm");

        sliderHorario.setRange(0, Date.diff(horarios[Aereo.FiltroRender.MenorSaidaIda], horarios[Aereo.FiltroRender.MaiorSaidaIda], "mm"), 15); 
        sliderHorario.setPosition(Date.diff(horarios[Aereo.FiltroRender.MenorSaidaIda], horarios[Aereo.FiltroRender.MenorSaidaIdaSelecionada], "mm"));
        sliderHorario.setPosition2(Date.diff(horarios[Aereo.FiltroRender.MenorSaidaIda], horarios[Aereo.FiltroRender.MaiorSaidaIdaSelecionada], "mm"));
    },

    filtraVooChegadaIda: function()
    {
        var horarios = (Aereo.Disponibilidade.Modo == 1 ? Aereo.FiltroRender.HorariosIda : Aereo.FiltroRender.HorariosVolta);
        $('divHorarioInicial').innerHTML = horarios[Aereo.FiltroRender.MenorChegadaIdaSelecionada].toString("HH").capitalize() + "h" + horarios[Aereo.FiltroRender.MenorChegadaIdaSelecionada].toString("mm");
        $('divHorarioFinal').innerHTML = horarios[Aereo.FiltroRender.MaiorChegadaIdaSelecionada].toString("HH").capitalize() + "h" + horarios[Aereo.FiltroRender.MaiorChegadaIdaSelecionada].toString("mm");

        sliderHorario.setRange(0, Date.diff(horarios[Aereo.FiltroRender.MenorChegadaIda], horarios[Aereo.FiltroRender.MaiorChegadaIda], "mm"), 15); 
        sliderHorario.setPosition(Date.diff(horarios[Aereo.FiltroRender.MenorChegadaIda], horarios[Aereo.FiltroRender.MenorChegadaIdaSelecionada], "mm"));
        sliderHorario.setPosition2(Date.diff(horarios[Aereo.FiltroRender.MenorChegadaIda], horarios[Aereo.FiltroRender.MaiorChegadaIdaSelecionada], "mm"));
    },
    
    renderFiltroPrecos: function(templates,idaVolta)
    {
        var sliderPrecos = templates.slider;
        var precos = (Aereo.Disponibilidade.Modo == 1 ? Aereo.FiltroRender.PrecosIda : Aereo.FiltroRender.PrecosVolta);
        var itCias = availDS.tables.Cias.getIterator("ida_volta");
        var auxMoeda;
        
        if(precos[Aereo.FiltroRender.MaiorPreco] == undefined)
        {
            Aereo.FiltroRender.Moeda = null;
            precos[Aereo.FiltroRender.MenorPreco] = 1000000;
            precos[Aereo.FiltroRender.MaiorPreco] = 0;
                      
            itCias.findByKey(idaVolta);
            for(itCias.moveFirst(); itCias.hasNext(); itCias.moveNext()) {    
                if (Aereo.FiltroRender.Moeda == null || (Aereo.FiltroRender.Moeda == itCias.row.moeda && parseFloat(precos[Aereo.FiltroRender.MenorPreco]) > parseFloat(itCias.row.menorPreco))) {
                    Aereo.FiltroRender.Moeda = itCias.row.moeda;
                    precos[Aereo.FiltroRender.MenorPreco] = itCias.row.menorPreco;
                }
                if (Aereo.FiltroRender.Moeda == null || (Aereo.FiltroRender.Moeda == itCias.row.moeda && parseFloat(precos[Aereo.FiltroRender.MaiorPreco]) < parseFloat(itCias.row.maiorPreco))) {
                    Aereo.FiltroRender.Moeda = itCias.row.moeda;
                    precos[Aereo.FiltroRender.MaiorPreco] = itCias.row.maiorPreco;
                }
            }
            
            if(precos[Aereo.FiltroRender.MaiorPreco] == precos[Aereo.FiltroRender.MenorPreco])precos[Aereo.FiltroRender.MaiorPreco] += 10;
            
            itCias.dispose();
            
            precos[Aereo.FiltroRender.MenorPreco] = Math.floor(precos[Aereo.FiltroRender.MenorPreco]);
            precos[Aereo.FiltroRender.MaiorPreco] = Math.ceil(precos[Aereo.FiltroRender.MaiorPreco]);
            
            if((precos[Aereo.FiltroRender.MenorPreco]+10) > precos[Aereo.FiltroRender.MaiorPreco]) precos[Aereo.FiltroRender.MaiorPreco] += 10 - (precos[Aereo.FiltroRender.MaiorPreco] - precos[Aereo.FiltroRender.MenorPreco]);
            
            precos[Aereo.FiltroRender.MenorPrecoSelecionado] = precos[Aereo.FiltroRender.MenorPreco];
            precos[Aereo.FiltroRender.MaiorPrecoSelecionado] = precos[Aereo.FiltroRender.MaiorPreco];
        }

        auxMoeda = getMoeda(Aereo.FiltroRender.Moeda);
        
        sliderPrecos.idSlider = "divSliderPrecos";
        sliderPrecos.idValorInicial = "divPrecoInicial";
        sliderPrecos.idValorFinal = "divPrecoFinal";
        sliderPrecos.idBotaoSlider1 = "idMenorPreco";
        sliderPrecos.idBotaoSlider2 = "idMaiorPreco";
        sliderPrecos.NomeFiltro = "PREÇO";
        sliderPrecos.SliderOptions = "";
        sliderPrecos.ValorInicial = auxMoeda + " " + Math.floor(precos[Aereo.FiltroRender.MenorPrecoSelecionado]);
        sliderPrecos.ValorFinal = auxMoeda + " " + Math.ceil(precos[Aereo.FiltroRender.MaiorPrecoSelecionado]);
        
        return sliderPrecos.getHtml();
    },


    renderFiltroPrecosSlider: function()
    {
        var precos = (Aereo.Disponibilidade.Modo == 1 ? Aereo.FiltroRender.PrecosIda : Aereo.FiltroRender.PrecosVolta);
        sliderPrecos = new Slider($('divSliderPrecos'), $('idMenorPreco'), moveDirection.horizontal, $('idMaiorPreco'), null);
        var diferenca = precos[Aereo.FiltroRender.MaiorPreco] - precos[Aereo.FiltroRender.MenorPreco];
        var positionInicio = (precos[Aereo.FiltroRender.MenorPrecoSelecionado] - precos[Aereo.FiltroRender.MenorPreco]);
        var positionFinal = diferenca - (precos[Aereo.FiltroRender.MaiorPreco] - precos[Aereo.FiltroRender.MaiorPrecoSelecionado]);

        sliderPrecos.setRange(0, diferenca, 1);
        sliderPrecos.setPosition2(positionFinal);
        sliderPrecos.setPosition(positionInicio);
        sliderPrecos.onMove = exibirVooPrecosMenor;
        sliderPrecos.onMove2 = exibirVooPrecosMaior;
        sliderPrecos.onMoveStop = filtrarVooPrecosMenor;
        sliderPrecos.onMoveStop2 = filtrarVooPrecosMaior;
    },

    renderFiltroDuracao: function(templates,modo)
    {
        var sliderDuracao = templates.slider;
        var sufixo = (modo == 1 ? "Ida" : "Volta");
        var duracao = (modo == 1 ? Aereo.FiltroRender.DuracaoIda : Aereo.FiltroRender.DuracaoVolta);
        var horas;
        var minutos;

        if(duracao[Aereo.FiltroRender.MaiorDuracao] == undefined) {
            duracao[Aereo.FiltroRender.MenorDuracao] = Math.floor(availDS.tables.Duracao.rows[0]["menorDuracao"+sufixo]);
            duracao[Aereo.FiltroRender.MaiorDuracao] = Math.ceil(availDS.tables.Duracao.rows[0]["maiorDuracao"+sufixo]);
         
            if(duracao[Aereo.FiltroRender.MenorDuracao] == duracao[Aereo.FiltroRender.MaiorDuracao]) duracao[Aereo.FiltroRender.MaiorDuracao] += 1;
            
            duracao[Aereo.FiltroRender.MenorDuracaoSelecionada] = duracao[Aereo.FiltroRender.MenorDuracao];
            duracao[Aereo.FiltroRender.MaiorDuracaoSelecionada] = duracao[Aereo.FiltroRender.MaiorDuracao];
            
            if(duracao[Aereo.FiltroRender.MenorDuracao] == duracao[Aereo.FiltroRender.MaiorDuracao]) duracao[Aereo.FiltroRender.MaiorDuracao] += 1; 
        }

        horas = parseInt(duracao[Aereo.FiltroRender.MenorDuracaoSelecionada], 10);
        minutos = Math.floor((duracao[Aereo.FiltroRender.MenorDuracaoSelecionada] - horas) * 60);
        if (horas < 10) horas = "0" + horas;
        if (minutos < 10)  minutos = "0" + minutos;
        
        sliderDuracao.ValorInicial = horas + "h" + minutos;
        
        horas = parseInt(duracao[Aereo.FiltroRender.MaiorDuracaoSelecionada], 10);
        minutos = Math.floor((duracao[Aereo.FiltroRender.MaiorDuracaoSelecionada] - horas) * 60);
        if (horas < 10) horas = "0" + horas;
        if (minutos < 10) minutos = "0" + minutos;

        sliderDuracao.ValorFinal = horas + "h" + minutos;
       
        sliderDuracao.SliderOption = "";
        sliderDuracao.idSlider = "divSliderDuracao";        
        sliderDuracao.idValorInicial = "divDuracaoInicial";
        sliderDuracao.idValorFinal = "divDuracaoFinal";
        sliderDuracao.idBotaoSlider1 = "idMenorDuracao";
        sliderDuracao.idBotaoSlider2 = "idMaiorDuracao";
        sliderDuracao.NomeFiltro = "DURAÇÃO";
        
        return sliderDuracao.getHtml();
    },


    renderFiltroDuracaoSlider: function()
    {
        var duracao = (Aereo.Disponibilidade.Modo == 1 ? Aereo.FiltroRender.DuracaoIda : Aereo.FiltroRender.DuracaoVolta);   
        sliderDuracao = new Slider($('divSliderDuracao'), $('idMenorDuracao'), moveDirection.horizontal, $('idMaiorDuracao'), null);
        var diferenca = (duracao[Aereo.FiltroRender.MaiorDuracao] - duracao[Aereo.FiltroRender.MenorDuracao]) * 100;
        var positionInicio = (duracao[Aereo.FiltroRender.MenorDuracaoSelecionada] - duracao[Aereo.FiltroRender.MenorDuracao]) * 100;
        var positionFinal = diferenca - (duracao[Aereo.FiltroRender.MaiorDuracao] - duracao[Aereo.FiltroRender.MaiorDuracaoSelecionada]) * 100;

        sliderDuracao.setRange(0, diferenca, 8); 
        sliderDuracao.setPosition2(positionFinal);
        sliderDuracao.setPosition(positionInicio);
        sliderDuracao.onMove = exibirVooDuracaoMenor;
        sliderDuracao.onMove2 = exibirVooDuracaoMaior;
        sliderDuracao.onMoveStop = filtrarVooDuracaoMenor;
        sliderDuracao.onMoveStop2 = filtrarVooDuracaoMaior;
    }
};

