﻿// Filtros Renderizar


Aereo.FiltroRenderMP = {

//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,

    Horarios: new Array(16),
    Precos: new Array(4),
    Duracao: new Array(4),
    ciasAereas: new Array(),
    aeroportos: new Array(),
    paradas: new Array(),
    
    Moeda: "",
    
    MenorSaidaIda: 0,
    MenorSaidaIdaSelecionada: 1,
    MaiorSaidaIda: 2,
    MaiorSaidaIdaSelecionada: 3,

    MenorChegadaIda: 4,
    MenorChegadaIdaSelecionada: 5,
    MaiorChegadaIda: 6,
    MaiorChegadaIdaSelecionada: 7,
    
    MenorSaidaVolta: 8,
    MenorSaidaVoltaSelecionada: 9,
    MaiorSaidaVolta: 10,
    MaiorSaidaVoltaSelecionada: 11,

    MenorChegadaVolta: 12,
    MenorChegadaVoltaSelecionada: 13,
    MaiorChegadaVolta: 14,
    MaiorChegadaVoltaSelecionada: 15,

    MenorDuracao: 0,
    MenorDuracaoSelecionada: 1,
    MaiorDuracao: 2,
    MaiorDuracaoSelecionada: 3,

    MenorPreco: 0,
    MenorPrecoSelecionado: 1,
    MaiorPreco: 2,
    MaiorPrecoSelecionado: 3,
    


    renderFiltroCiasAereas: function(templates,idaVolta)
    {
        
        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
                
        for(var i = 0; i < masterPricerDS.tables['Cias'].rows.count(); i++) {   
            if ((masterPricerDS.tables['Cias'].rows[i]["principal"] == true || masterPricerDS.tables['Cias'].rows[i]["principal"] == "true") && (ciasExibidas.indexOf(masterPricerDS.tables['Cias'].rows[i]["companhia"]) == -1)) {
                //SETA TEMPLATE DROPDOWNITEM
                var filtro = new Array();
                filtro[0] = masterPricerDS.tables['Cias'].rows[i]["companhia"];
                filtro[1] = false;
                Aereo.FiltroRenderMP.ciasAereas[Aereo.FiltroRenderMP.ciasAereas.length] = filtro;
                
                if (masterPricerDS.tables['Cias'].rows[i]['nomeCia'] != null) dropDownItemCiasAereas.idDropDownItem = masterPricerDS.tables['Cias'].rows[i]['nomeCia'].trim();
                if (masterPricerDS.tables['Cias'].rows[i]['imagemPequena']!=null && masterPricerDS.tables.Cias.rows[i]['imagemPequena']!='') dropDownItemCiasAereas.ValorDropDownItem1 =  "<span class='logo'><img src='image/airCompanies/" + masterPricerDS.tables['Cias'].rows[i]['imagemPequena'] + "' alt='' title='' /></span>";
                else dropDownItemCiasAereas.ValorDropDownItem1 = "<span class='logo'>" + dropDownItemCiasAereas.idDropDownItem + "</span>";
                dropDownItemCiasAereas.ValorDropDownItem2 = getMoeda(masterPricerDS.tables['Cias'].rows[i]['moeda']) + " " + masterPricerDS.tables['Cias'].rows[i]['menorPreco'].formatNumber(2, true);
                dropDownItemCiasAereas.Link = "javascript:filtraVooCompanhia('" + masterPricerDS.tables['Cias'].rows[i]['companhia'] + "')";
                dropDownItemCiasAereas.nameDropDownItem = "chkCiaAerea";
                dropDownItemCiasAereas.valueDropDownItem = masterPricerDS.tables['Cias'].rows[i]['companhia'];
                
                sb.append(dropDownItemCiasAereas.getHtml());
                ciasExibidas += masterPricerDS.tables['Cias'].rows[i]["companhia"] + ";";
            }   
        }
        
        //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 origem_destino = -1;
        
        var iataOrigem = masterPricerDS.tables.Trechos.rows[0].origem;
        var iataDestino = "";

        if (masterPricerDS.tables.Trechos.rows.count() > 1) iataDestino = masterPricerDS.tables.Trechos.rows[1].origem;
        else iataDestino = masterPricerDS.tables.Trechos.rows[0].destino;
        aeroportos = new Array();
        
        for(var i = 0; i < masterPricerDS.tables.Aeroportos.rows.count(); i++) {
            if (masterPricerDS.tables.Aeroportos.rows[i]['origem_destino'] > -1) {
            
                var filtro = new Array();
                filtro[0] = masterPricerDS.tables.Aeroportos.rows[i]["iata"];
                filtro[1] = false;
                aeroportos[aeroportos.length] = filtro;

                //SETA TEMPLATE DROPDOWNITEM
                dropDownItemAeroportos.idDropDownItem = "chk" + masterPricerDS.tables.Aeroportos.rows[i]['nome'];
                dropDownItemAeroportos.ValorDropDownItem1 = masterPricerDS.tables.Aeroportos.rows[i]['iata'];
                dropDownItemAeroportos.ValorDropDownItem2 = masterPricerDS.tables.Aeroportos.rows[i]['nome'];
                dropDownItemAeroportos.Link = "javascript:filtraVooAeroporto('" + masterPricerDS.tables.Aeroportos.rows[i]['iata'] + "')";
                dropDownItemAeroportos.Checked = (masterPricerDS.tables.Aeroportos.rows[i]['filtro'] ? "" : "checked");

                switch (masterPricerDS.tables.Aeroportos.rows[i]['origem_destino']) {
                    case 0:
                        if (listaAeroportosOrigem.contains(masterPricerDS.tables.Aeroportos.rows[i]['iataCidade']) == false) {                        
                            listaAeroportosOrigem[listaAeroportosOrigem.length] = masterPricerDS.tables.Aeroportos.rows[i]['iataCidade'];
                            
                            //SETA TEMPLATE DROPDOWNGROUP
                            dropDownGroupAeroportos.NomeGrupo = masterPricerDS.tables.Aeroportos.rows[i]['cidade'] + ", " + masterPricerDS.tables.Aeroportos.rows[i]['pais'];
                            dropDownGroupAeroportos.Items = dropDownItemAeroportos.getHtml();
                            
                            sbAeroportosOrigem.append(dropDownGroupAeroportos.getHtml());
                        } else sbAeroportosOrigem.append(dropDownItemAeroportos.getHtml());                        
                        break;
                    case 1:
                        if (listaAeroportosDestino.contains(masterPricerDS.tables.Aeroportos.rows[i]['iataCidade']) == false) {
                            listaAeroportosDestino[listaAeroportosDestino.length] = masterPricerDS.tables.Aeroportos.rows[i]['iataCidade'];
                            
                            //SETA TEMPLATE DROPDOWNGROUP
                            dropDownGroupAeroportos.NomeGrupo = masterPricerDS.tables.Aeroportos.rows[i]['cidade'] + ", " + masterPricerDS.tables.Aeroportos.rows[i]['pais'];
                            dropDownGroupAeroportos.Items = dropDownItemAeroportos.getHtml();

                            sbAeroportosDestino.append(dropDownGroupAeroportos.getHtml());
                        } else sbAeroportosDestino.append(dropDownItemAeroportos.getHtml());                        
                        break;
                }
            }
        } 
        
        //SETA TEMPLATE DROPDOWN
        dropDownAeroportos.idDropDown = "divAeroportos";
        dropDownAeroportos.idDropDown2 = "divCias";
        dropDownAeroportos.TituloDropDown = "AEROPORTOS";
        dropDownAeroportos.Items = sbAeroportosOrigem.toString() + sbAeroportosDestino.toString();
        
        return dropDownAeroportos.getHtml();  
    },


    renderFiltroParadas: function(templates)
    {
    
        if(masterPricerDS.tables.Paradas.rows.count() <= 0)
        return "";
        
        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
        
        for(var i = 0; i < masterPricerDS.tables.Paradas.rows.count() && i <= 2; i++)
        {
            Aereo.FiltroRenderMP.paradas[masterPricerDS.tables.Paradas.rows[i]["numParadas"]] = false;

            groupChkBoxItemParadas.NroParadas = masterPricerDS.tables.Paradas.rows[i]['numParadas'];
            groupChkBoxItemParadas.Checked = (masterPricerDS.tables.Paradas.rows[i]['filtro'] ? "" : "checked"); 
            groupChkBoxItemParadas.Link = "javascript:filtraVooParada(" + masterPricerDS.tables.Paradas.rows[i]['numParadas'] + ")";
            switch (masterPricerDS.tables.Paradas.rows[i]['numParadas']) {
                case 0:
                    groupChkBoxItemParadas.Descricao = "Sem paradas";
                    break;
                case 1:
                    groupChkBoxItemParadas.Descricao = "1";
                    break;
                default:
                    groupChkBoxItemParadas.Descricao = "2";
                    break;
            }
           
            if (nroParadas == masterPricerDS.tables.Paradas.rows.count() - 1 || masterPricerDS.tables.Paradas.rows[i]['numParadas'] == 2)
            {
                if (masterPricerDS.tables.Paradas.rows[i]['numParadas'] > 0)
                {
                    groupChkBoxItemParadas.Descricao += " ou mais";
                }
                //linhaFiltroParadas.selecionado = "CHECKED";
            }
            
            nroParadas+=1;
            sb.append(groupChkBoxItemParadas.getHtml());
            if (masterPricerDS.tables.Paradas.rows[i]['numParadas'] == 2) break;
        }

        for (var i = 0; i < Aereo.FiltroRenderMP.paradas.length; i++)
        {
            if (Aereo.FiltroRenderMP.paradas[i] == null || Aereo.FiltroRenderMP.paradas[i] != false)
            {
                Aereo.FiltroRenderMP.paradas[i] = false;
            }
        }
        
        groupChkBoxParadas.divGrupoChkBox = "divParadas";
        groupChkBoxParadas.aGrupoChkBox = "divParadas";
        groupChkBoxParadas.NomeGrupoChkBox = "PARADAS";
        groupChkBoxParadas.Items = sb.toString();

        return groupChkBoxParadas.getHtml();  
    },
    
    renderFiltroHorariosIda: function(templates)
    {
   
        var sliderHorariosIda = templates.slider;
        var sliderOptionsHorarios = templates.sliderOptions;
        var sliderOptionsItemHorarios = templates.sliderOptionsItem;
        var data;
        var minutos;
        var sb = new StringBuilder();
        
        var horaSaidaMenor = masterPricerDS.tables.Horarios.rows[0]['menorDataSaidaIda'];
        var horaSaidaMaior = masterPricerDS.tables.Horarios.rows[0]['maiorDataSaidaIda'];
        var horaChegadaMenor = masterPricerDS.tables.Horarios.rows[0]['menorDataChegadaIda'];
        var horaChegadaMaior = masterPricerDS.tables.Horarios.rows[0]['maiorDataChegadaIda'];

        data = Date.parse(horaSaidaMenor.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');
        minutos = Date.diff(data, horaSaidaMenor, "mm");
        if (minutos > 30) horaSaidaMenor = Date.parse(horaSaidaMenor.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addMinutes(30);
        else horaSaidaMenor = Date.parse(horaSaidaMenor.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');
    
        data = Date.parse(horaSaidaMaior.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');
        minutos = Date.diff(data, horaSaidaMaior, "mm");
        if (minutos > 30) horaSaidaMaior = Date.parse(horaSaidaMaior.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addHours(1);
        else horaSaidaMaior = Date.parse(horaSaidaMaior.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addMinutes(30);
        
        data = Date.parse(horaChegadaMenor.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');
        minutos = Date.diff(data, horaChegadaMenor, "mm");
        if (minutos > 30) horaChegadaMenor = Date.parse(horaChegadaMenor.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addMinutes(30);
        else horaChegadaMenor = Date.parse(horaChegadaMenor.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');
    
        data = Date.parse(horaChegadaMaior.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');
        minutos = Date.diff(data, horaChegadaMaior, "mm");
        if (minutos > 30) horaChegadaMaior = Date.parse(horaChegadaMaior.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addHours(1);
        else horaChegadaMaior = Date.parse(horaChegadaMaior.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addMinutes(30);
        
        sliderVoltaMenorValor = new Array(2);
        sliderVoltaMenorValor[0] = true;
        sliderVoltaMenorValor[1] = true;
       
        sliderOptionsItemHorarios.TipoSliderItem = "radio";
        sliderOptionsItemHorarios.idSliderItem = "rdoHorariosSaidaIda";
        sliderOptionsItemHorarios.NameSliderItem = "rdoHorarioIda";
        sliderOptionsItemHorarios.Valor = "Saída";
        sliderOptionsItemHorarios.Link = "javascript:Aereo.FiltroRenderMP.filtraVooSaidaIda()"
        sliderOptionsItemHorarios.Checked = "Checked"
        sb.append(sliderOptionsItemHorarios.getHtml());
        
        sliderOptionsItemHorarios.TipoSliderItem = "radio";
        sliderOptionsItemHorarios.idSliderItem = "rdoHorariosChegadaIda";
        sliderOptionsItemHorarios.NameSliderItem = "rdoHorarioIda";
        sliderOptionsItemHorarios.Valor = "Chegada";
        sliderOptionsItemHorarios.Link = "javascript:Aereo.FiltroRenderMP.filtraVooChegadaIda()"
        sliderOptionsItemHorarios.Checked = ""
        sb.append(sliderOptionsItemHorarios.getHtml());
        
        sliderOptionsHorarios.Items = sb.toString();
        sliderHorariosIda.SliderOptions = sliderOptionsHorarios.getHtml();
       
        sliderHorariosIda.idSlider = "divHorariosIda";
        sliderHorariosIda.idValorInicial = "divHorarioIdaInicial";
        sliderHorariosIda.idValorFinal = "divHorarioIdaFinal";
        sliderHorariosIda.idBotaoSlider1 = "idMenorHorarioIda";
        sliderHorariosIda.idBotaoSlider2 = "idMaiorHorarioIda";
        sliderHorariosIda.NomeFiltro = "IDA";
        sliderHorariosIda.ValorInicial = horaSaidaMenor.toString("HH").capitalize() + "h" + horaSaidaMenor.toString("mm");
        sliderHorariosIda.ValorFinal = horaSaidaMaior.toString("HH").capitalize() + "h" + horaSaidaMaior.toString("mm");    
        
        Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaIda]=horaSaidaMenor;
        Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaIdaSelecionada]=horaSaidaMenor;
        Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaIda]=horaSaidaMaior;
        Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaIdaSelecionada]=horaSaidaMaior;
        Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorChegadaIda]=horaChegadaMenor;
        Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorChegadaIdaSelecionada]=horaChegadaMenor;
        Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorChegadaIda]=horaChegadaMaior;
        Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorChegadaIdaSelecionada]=horaChegadaMaior;
        
        return sliderHorariosIda.getHtml();  
    },
    
    renderFiltroHorariosVolta: function(templates)
    {
   
        var sliderHorariosVolta = templates.slider;
        var sliderOptionsHorarios = templates.sliderOptions;
        var sliderOptionsItemHorarios = templates.sliderOptionsItem;
        var data;
        var minutos;
        var sb = new StringBuilder();
        
        var horaSaidaMenor = masterPricerDS.tables.Horarios.rows[0]['menorDataSaidaVolta'];
        var horaSaidaMaior = masterPricerDS.tables.Horarios.rows[0]['maiorDataSaidaVolta'];
        var horaChegadaMenor = masterPricerDS.tables.Horarios.rows[0]['menorDataChegadaVolta'];
        var horaChegadaMaior = masterPricerDS.tables.Horarios.rows[0]['maiorDataChegadaVolta'];

        data = Date.parse(horaSaidaMenor.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');
        minutos = Date.diff(data, horaSaidaMenor, "mm");
        if (minutos > 30) horaSaidaMenor = Date.parse(horaSaidaMenor.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addMinutes(30);
        else horaSaidaMenor = Date.parse(horaSaidaMenor.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');
    
        data = Date.parse(horaSaidaMaior.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');
        minutos = Date.diff(data, horaSaidaMaior, "mm");
        if (minutos > 30) horaSaidaMaior = Date.parse(horaSaidaMaior.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addHours(1);
        else horaSaidaMaior = Date.parse(horaSaidaMaior.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addMinutes(30);
        
        data = Date.parse(horaChegadaMenor.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');
        minutos = Date.diff(data, horaChegadaMenor, "mm");
        if (minutos > 30) horaChegadaMenor = Date.parse(horaChegadaMenor.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addMinutes(30);
        else horaChegadaMenor = Date.parse(horaChegadaMenor.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');
    
        data = Date.parse(horaChegadaMaior.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss');
        minutos = Date.diff(data, horaChegadaMaior, "mm");
        if (minutos > 30) horaChegadaMaior = Date.parse(horaChegadaMaior.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addHours(1);
        else horaChegadaMaior = Date.parse(horaChegadaMaior.toString("ddMMyyyyHH0000"), 'ddMMyyyyHHmmss').addMinutes(30);
        
        sliderVoltaMenorValor = new Array(2);
        sliderVoltaMenorValor[0] = true;
        sliderVoltaMenorValor[1] = true;
       
        sliderOptionsItemHorarios.TipoSliderItem = "radio";
        sliderOptionsItemHorarios.idSliderItem = "rdoHorariosSaidaVolta";
        sliderOptionsItemHorarios.NameSliderItem = "rdoHorarioVolta";
        sliderOptionsItemHorarios.Valor = "Saída";
        sliderOptionsItemHorarios.Link = "javascript:Aereo.FiltroRenderMP.filtraVooSaidaVolta()"
        sliderOptionsItemHorarios.Checked = "Checked"
        sb.append(sliderOptionsItemHorarios.getHtml());
        
        sliderOptionsItemHorarios.TipoSliderItem = "radio";
        sliderOptionsItemHorarios.idSliderItem = "rdoHorariosChegadaVolta";
        sliderOptionsItemHorarios.NameSliderItem = "rdoHorarioVolta";
        sliderOptionsItemHorarios.Valor = "Chegada";
        sliderOptionsItemHorarios.Link = "javascript:Aereo.FiltroRenderMP.filtraVooChegadaVolta()"
        sliderOptionsItemHorarios.Checked = ""
        sb.append(sliderOptionsItemHorarios.getHtml());
        
        sliderOptionsHorarios.Items = sb.toString();
        sliderHorariosVolta.SliderOptions = sliderOptionsHorarios.getHtml();
       
        sliderHorariosVolta.idSlider = "divHorariosVolta";
        sliderHorariosVolta.idValorInicial = "divHorarioVoltaInicial";
        sliderHorariosVolta.idValorFinal = "divHorarioVoltaFinal";
        sliderHorariosVolta.idBotaoSlider1 = "idMenorHorarioVolta";
        sliderHorariosVolta.idBotaoSlider2 = "idMaiorHorarioVolta";
        sliderHorariosVolta.NomeFiltro = "VOLTA";
        sliderHorariosVolta.ValorInicial = horaSaidaMenor.toString("HH").capitalize() + "h" + horaSaidaMenor.toString("mm");
        sliderHorariosVolta.ValorFinal = horaSaidaMaior.toString("HH").capitalize() + "h" + horaSaidaMaior.toString("mm");    
        
        Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaVolta]=horaSaidaMenor;
        Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaVoltaSelecionada]=horaSaidaMenor;
        Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaVolta]=horaSaidaMaior;
        Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaVoltaSelecionada]=horaSaidaMaior;
        Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorChegadaVolta]=horaChegadaMenor;
        Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorChegadaVoltaSelecionada]=horaChegadaMenor;
        Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorChegadaVolta]=horaChegadaMaior;
        Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorChegadaVoltaSelecionada]=horaChegadaMaior;
        
        return sliderHorariosVolta.getHtml();  
    },

    renderFiltroHorariosSlider: function()
    {

        //inicializando o slider
        sliderHorarioIda = new Slider($('divHorariosIda'), $('idMenorHorarioIda'), moveDirection.horizontal, $('idMaiorHorarioIda'), null);
        sliderHorarioVolta = new Slider($('divHorariosVolta'), $('idMenorHorarioVolta'), moveDirection.horizontal, $('idMaiorHorarioVolta'), null);

        MaxRange = Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaIda], Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaIda], "mm");
        positionIda = Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaIda],Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaIdaSelecionada], "mm");
        positionVolta = MaxRange-(Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaIdaSelecionada], Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaIda], "mm"));

        sliderHorarioIda.setRange(0, MaxRange, 15);
        sliderHorarioIda.setPosition2(positionVolta);
        sliderHorarioIda.setPosition(positionIda);
        sliderHorarioIda.onMove = exibirVooHorarioIdaMenor;
        sliderHorarioIda.onMove2 = exibirVooHorarioIdaMaior;
        sliderHorarioIda.onMoveStop = filtrarVooHorarioIdaMenor;
        sliderHorarioIda.onMoveStop2 = filtrarVooHorarioIdaMaior;
        
        MaxRange = Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaVolta], Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaVolta], "mm");
        positionIda = Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaVolta],Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaVoltaSelecionada], "mm");
        positionVolta = MaxRange-(Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaVoltaSelecionada], Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaVolta], "mm"));

        sliderHorarioVolta.setRange(0, MaxRange, 15);
        sliderHorarioVolta.setPosition2(positionVolta);
        sliderHorarioVolta.setPosition(positionIda);
        sliderHorarioVolta.onMove = exibirVooHorarioVoltaMenor;
        sliderHorarioVolta.onMove2 = exibirVooHorarioVoltaMaior;
        sliderHorarioVolta.onMoveStop = filtrarVooHorarioVoltaMenor;
        sliderHorarioVolta.onMoveStop2 = filtrarVooHorarioVoltaMaior;
    },

    filtraVooSaidaIda: function()
    {
        $('divHorarioIdaInicial').innerHTML = Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaIdaSelecionada].toString("HH").capitalize() + "h" + Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaIdaSelecionada].toString("mm");
        $('divHorarioIdaFinal').innerHTML = Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaIdaSelecionada].toString("HH").capitalize() + "h" + Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaIdaSelecionada].toString("mm");

        sliderHorarioIda.setRange(0, Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaIda], Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaIda], "mm"), 15); 
        sliderHorarioIda.setPosition(Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaIda], Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaIdaSelecionada], "mm"));
        sliderHorarioIda.setPosition2(Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaIda], Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaIdaSelecionada], "mm"));
    },

    filtraVooChegadaIda: function()
    {
        $('divHorarioIdaInicial').innerHTML = Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorChegadaIdaSelecionada].toString("HH").capitalize() + "h" + Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorChegadaIdaSelecionada].toString("mm");
        $('divHorarioIdaFinal').innerHTML = Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorChegadaIdaSelecionada].toString("HH").capitalize() + "h" + Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorChegadaIdaSelecionada].toString("mm");

        sliderHorarioIda.setRange(0, Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorChegadaIda], Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorChegadaIda], "mm"), 15); 
        sliderHorarioIda.setPosition(Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorChegadaIda], Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorChegadaIdaSelecionada], "mm"));
        sliderHorarioIda.setPosition2(Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorChegadaIda], Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorChegadaIdaSelecionada], "mm"));
    },
    
    filtraVooSaidaVolta: function()
    {
        $('divHorarioVoltaInicial').innerHTML = Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaVoltaSelecionada].toString("HH").capitalize() + "h" + Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaVoltaSelecionada].toString("mm");
        $('divHorarioVoltaFinal').innerHTML = Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaVoltaSelecionada].toString("HH").capitalize() + "h" + Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaVoltaSelecionada].toString("mm");

        sliderHorarioVolta.setRange(0, Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaVolta], Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaVolta], "mm"), 15); 
        sliderHorarioVolta.setPosition(Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaVolta], Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaVoltaSelecionada], "mm"));
        sliderHorarioVolta.setPosition2(Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorSaidaVolta], Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorSaidaVoltaSelecionada], "mm"));
    },
    
    filtraVooChegadaVolta: function()
    {
        $('divHorarioVoltaInicial').innerHTML = Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorChegadaVoltaSelecionada].toString("HH").capitalize() + "h" + Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorChegadaVoltaSelecionada].toString("mm");
        $('divHorarioVoltaFinal').innerHTML = Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorChegadaVoltaSelecionada].toString("HH").capitalize() + "h" + Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorChegadaVoltaSelecionada].toString("mm");

        sliderHorarioVolta.setRange(0, Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorChegadaVolta], Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorChegadaVolta], "mm"), 15); 
        sliderHorarioVolta.setPosition(Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorChegadaVolta], Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorChegadaVoltaSelecionada], "mm"));
        sliderHorarioVolta.setPosition2(Date.diff(Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MenorChegadaVolta], Aereo.FiltroRenderMP.Horarios[Aereo.FiltroRenderMP.MaiorChegadaVoltaSelecionada], "mm"));
    },

    
    renderFiltroPrecos: function(templates,idaVolta)
    {
        var sliderPrecos = templates.slider;
        var auxMoeda;
        
        Aereo.FiltroRenderMP.Moeda = null;
        Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MenorPreco] = 1000000;
        Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MaiorPreco] = 0;
                  
        for (var i = 0; i < masterPricerDS.tables.Cias.rows.count(); i++) { 
            if (Aereo.FiltroRenderMP.Moeda == null || (Aereo.FiltroRenderMP.Moeda == masterPricerDS.tables.Cias.rows[i]['moeda'] && parseFloat(Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MenorPreco]) > parseFloat(masterPricerDS.tables.Cias.rows[i]['menorPreco']))) {
                Aereo.FiltroRenderMP.Moeda = masterPricerDS.tables.Cias.rows[i]['moeda'];
                Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MenorPreco] = masterPricerDS.tables.Cias.rows[i]['menorPreco'];
            }
            if (Aereo.FiltroRenderMP.Moeda == null || (Aereo.FiltroRenderMP.Moeda == masterPricerDS.tables.Cias.rows[i]['moeda'] && parseFloat(Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MaiorPreco]) < parseFloat(masterPricerDS.tables.Cias.rows[i]['maiorPreco']))) {
                Aereo.FiltroRenderMP.Moeda = masterPricerDS.tables.Cias.rows[i]['moeda'];
                Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MaiorPreco] = masterPricerDS.tables.Cias.rows[i]['maiorPreco'];
            }
        }
        
        if(Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MaiorPreco] == Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MenorPreco]) Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MaiorPreco] += 10;

        Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MenorPreco] = Math.floor(Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MenorPreco]);
        Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MaiorPreco] = Math.ceil(Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MaiorPreco]);
        
        if((Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MenorPreco]+10) > Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MaiorPreco]) Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MaiorPreco] += 10 - (Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MaiorPreco] - Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MenorPreco]);
        
        Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MenorPrecoSelecionado] = Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MenorPreco];
        Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MaiorPrecoSelecionado] = Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MaiorPreco];

        auxMoeda = getMoeda(Aereo.FiltroRenderMP.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(Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MenorPrecoSelecionado]);
        sliderPrecos.ValorFinal = auxMoeda + " " + Math.ceil(Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MaiorPrecoSelecionado]);
        
        return sliderPrecos.getHtml();
    },


    renderFiltroPrecosSlider: function()
    {
        sliderPrecos = new Slider($('divSliderPrecos'), $('idMenorPreco'), moveDirection.horizontal, $('idMaiorPreco'), null);
        var diferenca = Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MaiorPreco] - Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MenorPreco];
        var positionInicio = (Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MenorPrecoSelecionado] - Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MenorPreco]);
        var positionFinal = diferenca - (Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.MaiorPreco] - Aereo.FiltroRenderMP.Precos[Aereo.FiltroRenderMP.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 horas;
        var minutos;

        Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MenorDuracao] = Math.floor(masterPricerDS.tables.Duracao.rows[0]["menorDuracao"]);
        Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MaiorDuracao] = Math.ceil(masterPricerDS.tables.Duracao.rows[0]["maiorDuracao"]);
     
        if(Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MenorDuracao] == Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MaiorDuracao]) Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MaiorDuracao] += 1;
        
        Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MenorDuracaoSelecionada] = Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MenorDuracao];
        Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MaiorDuracaoSelecionada] = Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MaiorDuracao];
        
        if(Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MenorDuracao] == Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MaiorDuracao]) Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MaiorDuracao] += 1; 

        horas = parseInt(Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MenorDuracaoSelecionada], 10);
        minutos = Math.floor((Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MenorDuracaoSelecionada] - horas) * 60);
        if (horas < 10) horas = "0" + horas;
        if (minutos < 10)  minutos = "0" + minutos;
        
        sliderDuracao.ValorInicial = horas + "h" + minutos;
        
        horas = parseInt(Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MaiorDuracaoSelecionada], 10);
        minutos = Math.floor((Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.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()
    {
        sliderDuracao = new Slider($('divSliderDuracao'), $('idMenorDuracao'), moveDirection.horizontal, $('idMaiorDuracao'), null);
        var diferenca = (Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MaiorDuracao] - Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MenorDuracao]) * 100;
        var positionInicio = (Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MenorDuracaoSelecionada] - Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MenorDuracao]) * 100;
        var positionFinal = diferenca - (Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.MaiorDuracao] - Aereo.FiltroRenderMP.Duracao[Aereo.FiltroRenderMP.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;
    }
};

