﻿
Aereo.FiltroMasterPricer = {
    getDataTableOpcaoVoo: function(modo)
    {
        if(modo==1)
            return availDS.tables.OpcoesDeVoo;
        else
            return availDS.tables.OpcoesDeVooVolta;
    },

    filtraVooCompanhiaMP: function(indexCia)
    {           
        ExibeAguardeComThread(function(){return filtraVooCompanhiaMP_background(indexCia);});
    },

    filtraVooCompanhiaMP_background: function(indexCia)
    {        
        var tblCias = Aereo.MasterPricer.masterPricerDS.tables["Cias"];
        
        var i;
        
        for(i=0; i < tblCias.rows.count(); i++)
        {
            ciasAereas[indexCia][1] = !ciasAereas[indexCia][1];
            
            var tblOpcao = Aereo.MasterPricer.masterPricerDS.tables["OpcoesMP"];
            
            for (var i = 0; i < tblOpcao.rows.count(); i++)
            {
                if (tblOpcao.rows[i]['ciaPrincipal'].indexOf(ciasAereas[indexCia][0]) > -1){
                    if (ciasAereas[indexCia][1] == true){
                        if (tblOpcao.rows[i]['filtrarPorCias'] == 0){
                            tblOpcao.rows[i]['filtrosAplicados']++;
                        }
                        tblOpcao.rows[i]['filtrarPorCias']++;
                    }
                    else{
                        if (tblOpcao.rows[i]['filtrarPorCias'] == 1){
                            tblOpcao.rows[i]['filtrosAplicados']--;
                        }
                        tblOpcao.rows[i]['filtrarPorCias']--;
                    }
                }
            }

            paginaAtual = 1;
        }
        ordenaResultadoMasterPricer(Aereo.MasterPricer.ultimoOrdenacao[0], Aereo.MasterPricer.ultimoOrdenacao[1]);
        Aereo.MasterPricer.mostraMasterPricer();
               
        return true;
    },

    filtraVooAeroportoMP: function(indexAeroporto)
    {
        ExibeAguardeComThread(function() {return filtraVooAeroportoMP_background(indexAeroporto);});
    },

    filtraVooAeroportoMP_background: function(indexAeroporto)
    {
        try 
        {
            // -----------------------------------------------------------
            // Verificando se o filtro já está aplicado em cada aeroporto
            var stateFiltro;
            var itAeros = masterPricerDS.tables["Aeroportos"].getIterator('iata');
            itAeros.findByKey(indexAeroporto);
            for(itAeros.moveFirst(); itAeros.hasNext(); itAeros.moveNext())
                stateFiltro = itAeros.row.filtro = !itAeros.row.filtro;
            itAeros.dispose();
            // -----------------------------------------------------------
            
            var tblOpcao = Aereo.MasterPricer.masterPricerDS.tables["OpcoesMP"];
            var filtrarOpcao = false;

            for (var i = 0; i < tblOpcao.rows.count(); i++)
            {  
                switch (indexAeroporto)
                {
                    case tblOpcao.rows[i]['iataOrigemIda']:
                        filtrarOpcao = true;
                        break;
                    case tblOpcao.rows[i]['iataDestinoIda']:
                        filtrarOpcao = true;
                        break;
                    case tblOpcao.rows[i]['iataOrigemVolta']:
                        filtrarOpcao = true;
                        break;
                    case tblOpcao.rows[i]['iataDestinoVolta']:
                        filtrarOpcao = true;
                        break;
                    default:
                        filtrarOpcao = false;
                        break;
                }
                if (filtrarOpcao == true){
                    if (stateFiltro == true){
                        if (tblOpcao.rows[i]['filtrarPorAeroportos'] == 0){
                            tblOpcao.rows[i]['filtrosAplicados']++;
                        }
                        tblOpcao.rows[i]['filtrarPorAeroportos']++;
                    }
                    else{
                        if (tblOpcao.rows[i]['filtrarPorAeroportos'] == 1){
                            tblOpcao.rows[i]['filtrosAplicados']--;
                        }
                        tblOpcao.rows[i]['filtrarPorAeroportos']--;
                    }
                }
            }
            
            // atualiza a página atual para exibir a primeira página
            paginaAtual = 1;
ordenaResultadoMasterPricer(Aereo.MasterPricer.ultimoOrdenacao[0], Aereo.MasterPricer.ultimoOrdenacao[1]);
            //mostra os resultados filtrados na tela
            Aereo.MasterPricer.mostraMasterPricer();
            
            return true;
        }
        catch (ex) { }
        
        return false;
    },


    exibirVooPrecosMenor: function(pos)
    {
        if (isNaN(pos) == false)
        {
            var auxMenorPreco = precos[idxMenorPreco] + pos;
            
            var auxMoeda = getMoeda(moeda);
            

            $("divPrecoInicial").innerHTML = auxMoeda + " " + Math.floor(auxMenorPreco);
        }
    },

    exibirVooPrecosMaior: function(pos)
    {
        if (isNaN(pos) == false)
        {
            var range = precos[idxMaiorPreco] - precos[idxMenorPreco];
            var auxMaiorPreco = precos[idxMaiorPreco] + (pos - range);
            
            var auxMoeda = getMoeda(moeda);
           

            $("divPrecoFinal").innerHTML = auxMoeda + " " + Math.ceil(auxMaiorPreco);
        }
    },

    filtrarVooPrecosMenor: function(pos)
    {
        if (isNaN(pos) == false)
        {
            var filtrarVoos = false;
            
            if (precos[idxMenorPrecoSelecionado] != precos[idxMenorPreco] + pos)
            {
                precos[idxMenorPrecoSelecionado] = precos[idxMenorPreco] + pos;

                var auxMoeda = getMoeda(moeda);
                

                $("divPrecoInicial").innerHTML = auxMoeda + " " + Math.floor(precos[idxMenorPrecoSelecionado]);

                filtrarVoos = true;
            }

            if (filtrarVoos == true)
            {
                ExibeAguardeComThread(function() {return filtrarVooPrecos_background();});
            }
        }
    },

    filtrarVooPrecosMaior: function(pos)
    {
        if (isNaN(pos) == false)
        {
            var filtrarVoos = false;
            
            var range = precos[idxMaiorPreco] - precos[idxMenorPreco];
            if (precos[idxMaiorPrecoSelecionado] != (precos[idxMaiorPreco] + (pos - range)))
            {
                precos[idxMaiorPrecoSelecionado] = precos[idxMaiorPreco] + (pos - range);

                var auxMoeda = getMoeda(moeda);
               

                $("divPrecoFinal").innerHTML = auxMoeda + " " + Math.ceil(precos[idxMaiorPrecoSelecionado]);

                filtrarVoos = true;
            }
            
            if (filtrarVoos == true)
            {
                ExibeAguardeComThread(function() {return filtrarVooPrecos_background();});
            }
        }
    },

    filtrarVooPrecos_background: function()
    {
        try
        {
            var tblOpcao = Aereo.MasterPricer.masterPricerDS.tables.OpcoesMP;
            
            var menorPreco = parseFloat(precos[idxMenorPrecoSelecionado]);
            var maiorPreco = parseFloat(precos[idxMaiorPrecoSelecionado]);
            
            for (var i = 0; i < tblOpcao.rows.count(); i++)
            {
                var tarifaADT = parseFloat(tblOpcao.rows[i]['tarifaADT']);
                
                // 0 = somente ida; 1 = ida & volta;
                if ((tarifaADT >= menorPreco && tarifaADT <= maiorPreco))
                {
                    if (tblOpcao.rows[i]['filtrarPorPrecos'] == 1)
                    {
                        tblOpcao.rows[i]['filtrosAplicados']--;
                    }
                    tblOpcao.rows[i]['filtrarPorPrecos'] = 0;
                }
                else 
                {
                    if (tblOpcao.rows[i]['filtrarPorPrecos'] == 0)
                    {
                        tblOpcao.rows[i]['filtrosAplicados']++;
                    }
                    tblOpcao.rows[i]['filtrarPorPrecos'] = 1;
                }
            }
            
            // atualiza a página atual para exibir a primeira página
            paginaAtual = 1;
ordenaResultadoMasterPricer(Aereo.MasterPricer.ultimoOrdenacao[0], Aereo.MasterPricer.ultimoOrdenacao[1]);
            //mostra os resultados filtrados na tela
            Aereo.MasterPricer.mostraMasterPricer();
        }
        catch (ex) { }
            
        return true;
    },


//-----------------------------------------------------------------
// HORÁRIOS - Exibição
//-----------------------------------------------------------------
    exibirVooHorarioMenorIda: function(pos)
    {
        if (isNaN(pos) == false)
        {
            var auxMenorSaidaIda = horaMenorSaidaIda.addMinutes(pos);
            $("divHorarioInicialIda").innerHTML = auxMenorSaidaIda.toString("ddd HH").capitalize() 
                                                  + "h" + auxMenorSaidaIda.toString("mm");   
        }
    },

    exibirVooHorarioMaiorIda: function(pos)
    {
        if (isNaN(pos) == false)
        {
            var range = Date.diff(horaMenorSaidaIda, horaMaiorSaidaIda, "mm");
            var auxMaiorSaidaIda = horaMaiorSaidaIda.addMinutes(pos - range);
            $("divHorarioFinalIda").innerHTML = auxMaiorSaidaIda.toString("ddd HH").capitalize() 
                                                + "h" + auxMaiorSaidaIda.toString("mm");
        }
    },

    exibirVooHorarioMenorVolta: function(pos)
    {
        if (isNaN(pos) == false)
        {
            var auxMenorSaidaVolta = horaMenorSaidaVolta.addMinutes(pos);
            $("divHorarioInicialVolta").innerHTML = auxMenorSaidaVolta.toString("ddd HH").capitalize() 
                                                    + "h" + auxMenorSaidaVolta.toString("mm");   
        }
    },

    exibirVooHorarioMaiorVolta: function(pos)
    {
        if (isNaN(pos) == false)
        {
            var range = Date.diff(horaMenorSaidaIda, horaMaiorSaidaIda, "mm");
            var auxMaiorSaidaVolta = horaMaiorSaidaVolta.addMinutes(pos - range);
            $("divHorarioFinalVolta").innerHTML = auxMaiorSaidaVolta.toString("ddd HH").capitalize() 
                                                  + "h" + auxMaiorSaidaVolta.toString("mm");
        }
    },
//-----------------------------------------------------------------
//-----------------------------------------------------------------


//-----------------------------------------------------------------
// HORÁRIOS - Filtros
//-----------------------------------------------------------------
    filtrarVooHorarioMenorIda: function(pos)
    {
        if (isNaN(pos) == false)
        {
            var filtrarVoos = false;
            
            if (horaMenorSaidaSelecionadoIda.compare(horaMenorSaidaIda.addMinutes(pos)) != 0)
            {
                filtrarVoos = true;
                horaMenorSaidaSelecionadoIda = horaMenorSaidaIda.addMinutes(pos);
                $("divHorarioInicialIda").innerHTML = horaMenorSaidaSelecionadoIda.toString("ddd HH").capitalize() 
                                          + "h" + horaMenorSaidaSelecionadoIda.toString("mm");
            }

            if (filtrarVoos == true)
            {
                ExibeAguardeComThread(function() {return filtrarVooHorario("Ida");});
            }
        }
    },

    filtrarVooHorarioMaiorIda: function(pos)
    {
        if (isNaN(pos) == false)
        {
            var filtrarVoos = false;
           
            var range = Date.diff(horaMenorSaidaIda, horaMaiorSaidaIda, "mm");
            if (horaMaiorSaidaSelecionadoIda.compare(horaMaiorSaidaIda.addMinutes(pos - range)) != 0)
            {
                filtrarVoos = true;
                horaMaiorSaidaSelecionadoIda = horaMaiorSaidaIda.addMinutes(pos - range);
                $("divHorarioFinalIda").innerHTML = horaMaiorSaidaSelecionadoIda.toString("ddd HH").capitalize() 
                                                    + "h" + horaMaiorSaidaSelecionadoIda.toString("mm");
            }
            if (filtrarVoos == true)
            {
                ExibeAguardeComThread(function() {return filtrarVooHorario("Ida");});
            }
        }
    },

    filtrarVooHorarioMenorVolta: function(pos)
    {
        if (isNaN(pos) == false)
        {
            var filtrarVoos = false;
            
            if (horaMenorSaidaSelecionadoVolta.compare(horaMenorSaidaVolta.addMinutes(pos)) != 0)
            {
                filtrarVoos = true;
                horaMenorSaidaSelecionadoVolta = horaMenorSaidaVolta.addMinutes(pos);
                $("divHorarioInicialVolta").innerHTML = horaMenorSaidaSelecionadoVolta.toString("ddd HH").capitalize() 
                                                        + "h" + horaMenorSaidaSelecionadoVolta.toString("mm");
            }

            if (filtrarVoos == true)
            {
                ExibeAguardeComThread(function() {return filtrarVooHorario("Volta");});
            }
        }
    },

    filtrarVooHorarioMaiorVolta: function(pos)
    {
        if (isNaN(pos) == false)
        {
            var filtrarVoos = false;
           
            var range = Date.diff(horaMenorSaidaVolta, horaMaiorSaidaVolta, "mm");
            if (horaMaiorSaidaSelecionadoVolta.compare(horaMaiorSaidaVolta.addMinutes(pos - range)) != 0)
            {
                filtrarVoos = true;
                horaMaiorSaidaSelecionadoVolta = horaMaiorSaidaVolta.addMinutes(pos - range);
                $("divHorarioFinalVolta").innerHTML = horaMaiorSaidaSelecionadoVolta.toString("ddd HH").capitalize()
                                                      + "h" + horaMaiorSaidaSelecionadoVolta.toString("mm");
            }
            if (filtrarVoos == true)
            {
                ExibeAguardeComThread(function() {return filtrarVooHorario("Volta");});
            }
        }
    },

    filtrarVooHorario: function(idaVolta)
    {
        try
        {
            var tblOpcao = Aereo.MasterPricer.masterPricerDS.tables.OpcoesMP;
            for (var i = 0; i < tblOpcao.rows.count(); i++)
            {
                
                if ( tblOpcao.rows[i]['dataSaidaIda'] <= horaMenorSaidaSelecionadoIda 
                  || tblOpcao.rows[i]['dataSaidaIda'] >= horaMaiorSaidaSelecionadoIda 
                  || tblOpcao.rows[i]['dataSaidaVolta'] <= horaMenorSaidaSelecionadoVolta 
                  || tblOpcao.rows[i]['dataSaidaVolta'] >= horaMaiorSaidaSelecionadoVolta)
                {
                    if (tblOpcao.rows[i]['filtrarPorDatas'] == 0)
                        tblOpcao.rows[i]['filtrosAplicados']++;

                    tblOpcao.rows[i]['filtrarPorDatas'] = 1;   
                }
                else 
                {
                    if (tblOpcao.rows[i]['filtrarPorDatas'] == 1)
                        tblOpcao.rows[i]['filtrosAplicados']--;

                    tblOpcao.rows[i]['filtrarPorDatas'] = 0;
                }
            }
            
            // atualiza a página atual para exibir a primeira página
            paginaAtual = 1;
ordenaResultadoMasterPricer(Aereo.MasterPricer.ultimoOrdenacao[0], Aereo.MasterPricer.ultimoOrdenacao[1]);
            //mostra os resultados filtrados na tela
            Aereo.MasterPricer.mostraMasterPricer();
        }
        catch (ex) { }
            
        return true;
    },
//-----------------------------------------------------------------
//-----------------------------------------------------------------


    exibirVooDuracaoMenor: function(pos)
    {
        if (isNaN(pos) == false)
        {
            var auxMenorDuracao = duracao[idxMenorDuracao] + (pos / 100);
            
            var horas = parseInt(auxMenorDuracao, 10);
            if (horas < 10)
            {
                horas = "0" + horas;
            }
            var minutos = Math.floor((auxMenorDuracao - horas) * 60);
            if (minutos < 10)
            {
                minutos = "0" + minutos;
            }

            $("divDuracaoInicial").innerHTML = horas + "h" + minutos;
        }
    },

    exibirVooDuracaoMaior: function(pos)
    {
        if (isNaN(pos) == false)
        {
            var range = duracao[idxMaiorDuracao] - duracao[idxMenorDuracao];
            var auxMaiorDuracao = duracao[idxMaiorDuracao] + ((pos / 100) - range);
            
            var horas = parseInt(auxMaiorDuracao, 10);
            if (horas < 10)
            {
                horas = "0" + horas;
            }
            var minutos = Math.floor((auxMaiorDuracao - horas) * 60);
            if (minutos < 10)
            {
                minutos = "0" + minutos;
            }

            $("divDuracaoFinal").innerHTML = horas + "h" + minutos;
        }
    },

    filtrarVooDuracaoMenor: function(pos)
    {
        if (isNaN(pos) == false)
        {
            var filtrarVoos = false;
            
            if (duracao[idxMenorDuracaoSelecionada] != (duracao[idxMenorDuracao] + (pos / 100)))
            {
                duracao[idxMenorDuracaoSelecionada] = duracao[idxMenorDuracao] + (pos / 100);

                var horas = parseInt(duracao[idxMenorDuracaoSelecionada], 10);
                if (horas < 10)
                {
                    horas = "0" + horas;
                }
                var minutos = Math.floor((duracao[idxMenorDuracaoSelecionada] - horas) * 60);
                if (minutos < 10)
                {
                    minutos = "0" + minutos;
                }

                $("divDuracaoInicial").innerHTML = horas + "h" + minutos;
                
                filtrarVoos = true;
            }
            
            if (filtrarVoos == true)
            {
                ExibeAguardeComThread(function() {return filtrarVooDuracao_background();});
            }
        }
    },

    filtrarVooDuracaoMaior: function(pos)
    {
        if (isNaN(pos) == false)
        {
            var filtrarVoos = false;
            
            var range = duracao[idxMaiorDuracao] - duracao[idxMenorDuracao];
            if (duracao[idxMaiorDuracaoSelecionada] != (duracao[idxMaiorDuracao] + ((pos / 100) - range)))
            {
                duracao[idxMaiorDuracaoSelecionada] = duracao[idxMaiorDuracao] + ((pos / 100) - range);

                var horas = parseInt(duracao[idxMaiorDuracaoSelecionada], 10);
                if (horas < 10)
                {
                    horas = "0" + horas;
                }
                var minutos = Math.floor((duracao[idxMaiorDuracaoSelecionada] - horas) * 60);
                if (minutos < 10)
                {
                    minutos = "0" + minutos;
                }

                $("divDuracaoFinal").innerHTML = horas + "h" + minutos;
                
                filtrarVoos = true;
            }
            
            if (filtrarVoos == true)
            {
                ExibeAguardeComThread(function() {return filtrarVooDuracao_background();});
            }
        }
    },

    filtrarVooDuracao_background: function()
    {
        try
        {
            var tblOpcao = Aereo.MasterPricer.masterPricerDS.tables.OpcoesMP;
            
            var menorDuracao = parseFloat(duracao[idxMenorDuracaoSelecionada].toFixed(2));
            var maiorDuracao = parseFloat(duracao[idxMaiorDuracaoSelecionada].toFixed(2));

            for (var i = 0; i < tblOpcao.rows.count(); i++)
            {
                var duracaoIda = parseFloat(tblOpcao.rows[i]['duracaoIda'].toFixed(2));
                var duracaoVolta = parseFloat(tblOpcao.rows[i]['duracaoVolta'].toFixed(2));
                
                // 0 = somente ida; 1 = ida & volta;
                if ((duracaoIda >= menorDuracao && duracaoIda <= maiorDuracao) && (duracaoVolta >= menorDuracao && duracaoVolta <= maiorDuracao))
                {
                    if (tblOpcao.rows[i]['filtrarPorDuracao'] == 1)
                    {
                        tblOpcao.rows[i]['filtrosAplicados']--;
                    }
                    tblOpcao.rows[i]['filtrarPorDuracao'] = 0;
                }
                else 
                {
                    if (tblOpcao.rows[i]['filtrarPorDuracao'] == 0)
                    {
                        tblOpcao.rows[i]['filtrosAplicados']++;
                    }
                    tblOpcao.rows[i]['filtrarPorDuracao'] = 1;
                }
            }
            
            // atualiza a página atual para exibir a primeira página
            paginaAtual = 1;
ordenaResultadoMasterPricer(Aereo.MasterPricer.ultimoOrdenacao[0], Aereo.MasterPricer.ultimoOrdenacao[1]);
            //mostra os resultados filtrados na tela
            Aereo.MasterPricer.mostraMasterPricer();
        }
        catch (ex) { }
            
        return true;
    },

//Limpa todos os Filtros
    ExibirTodosVoos: function()
    {
        ExibeAguardeComThread(function() {return ExibirTodosVoos_background();});
    },

    ExibirTodosVoos_background: function()
    {
        try
        {
            var tblOpcao = masterPricerDS.tables.OpcoesMP;
        
            // preenche os filtros
            //renderFiltros(true);

            // limpa o filtro de paradas
            for (var i = 0; i < paradas.length; i++)
            {
                paradas[i] = false;
            }
            
            // limpa o filtros de cias aéreas
            for (var i = 0; i < ciasAereas.length; i++)
            {
                ciasAereas[i][1] = false;    
            }
                
            for (var i = 0; i < aeroportos.length; i++)
            {
                aeroportos[i][1] = false;    
            }
                
            // limpa os horário selecionados
            horaMenorSaidaSelecionadoIda = horaMenorSaidaIda;
            horaMaiorSaidaSelecionadoIda = horaMaiorSaidaIda; 
            horaMenorSaidaSelecionadoVolta = horaMenorSaidaVolta;
            horaMaiorSaidaSelecionadoVolta = horaMaiorSaidaVolta;
            
            // limpa a duração selecionada
            duracao[idxMenorDuracaoSelecionada] = duracao[idxMenorDuracao];
            duracao[idxMaiorDuracaoSelecionada] = duracao[idxMaiorDuracao];

            // limpa os preços selecionados
            precos[idxMenorPrecoSelecionado] = precos[idxMenorPreco];
            precos[idxMaiorPrecoSelecionado] = precos[idxMaiorPreco];
            
            // limpa todos os filtros das opções MP
            for (var i = 0; i < tblOpcao.rows.count(); i++)
            {
                // limpa o número de filtros aplicados 
                tblOpcao.rows[i]['filtrosAplicados'] = 0;
                
                // opções excluídas
                tblOpcao.rows[i]['exibirOpcao'] = true;
                // paradas
                tblOpcao.rows[i]['filtrarPorParadas'] = 0;
                // horários
                tblOpcao.rows[i]['filtrarPorDatas'] = 0;
                // cias aéreas
                tblOpcao.rows[i]['filtrarPorCias'] = 0;
                // aeroportos
                tblOpcao.rows[i]['filtrarPorAeroportos'] = 0;
                // duração
                tblOpcao.rows[i]['filtrarPorDuracao'] = 0;
                // preços
                tblOpcao.rows[i]['filtrarPorPrecos'] = 0;
            }
            ordenaResultadoMasterPricer(Aereo.MasterPricer.ultimoOrdenacao[0], Aereo.MasterPricer.ultimoOrdenacao[1]);
            Aereo.MasterPricer.mostraMasterPricer();
        }
        catch (ex) { }
            
        return true;
    },


    somenteVooCompanhia: function(indexCia)
    {           
        ExibeAguardeComThread(function() {return somenteVooCompanhia_background(indexCia);});
    },

    somenteVooCompanhia_background: function(indexCia)
    {
        try 
        {
            var tblOpcao = Aereo.MasterPricer.masterPricerDS.tables.OpcoesMP;
        
            var chkCiasAereas = document.getElementsByName("chkCiaAerea");
            for (var i = 0; i < ciasAereas.length; i++)
            {
                if (chkCiasAereas[i].value != indexCia)
                {
                    if (ciasAereas[i][1] == false)
                    {
                        chkCiasAereas[i].checked = false;
                        ciasAereas[i][1] = true;
                    }
                }else{
                    chkCiasAereas[i].checked = true;
                    ciasAereas[i][1] = false;
                }
            }

            //chkCiasAereas[indexCia].checked = true;
            //ciasAereas[indexCia][1] = false;
            
            for (var i = 0; i < tblOpcao.rows.count(); i++)
            {
    //            if (ds.tables.OpcoesMP.rows[i]['cias'].indexOf(ciasAereas[indexCia][0]) > -1)
                if (tblOpcao.rows[i]['ciaPrincipal'].indexOf(indexCia) > -1)
                {
                    if (tblOpcao.rows[i]['filtrarPorCias'] == 1)
                    {
                        tblOpcao.rows[i]['filtrosAplicados']--;
                    }
                    tblOpcao.rows[i]['filtrarPorCias'] = 0;
                }
                else
                {
                    if (tblOpcao.rows[i]['filtrarPorCias'] == 0)
                    {
                        tblOpcao.rows[i]['filtrosAplicados']++;
                    }
                    tblOpcao.rows[i]['filtrarPorCias'] = 1;
                }
            }
            
            // atualiza a página atual para exibir a primeira página
            paginaAtual = 1;
            
            //Ordena por preco
            tblOpcao.sort('tarifaADT');
ordenaResultadoMasterPricer(Aereo.MasterPricer.ultimoOrdenacao[0], Aereo.MasterPricer.ultimoOrdenacao[1]);
            Aereo.MasterPricer.mostraMasterPricer();
        }
        catch (ex) { }
            
        return true;
    },

    limparFiltrosVoos: function()
    {
        var tblOpcao = Aereo.MasterPricer.masterPricerDS.tables.OpcoesMP;
            
        // limpa todos os filtros das opções MP
        for (var i = 0; i < tblOpcao.rows.count(); i++)
        {
            // limpa o número de filtros aplicados 
            tblOpcao.rows[i]['filtrosAplicados'] = 0;
            
            // opções excluídas
            tblOpcao.rows[i]['exibirOpcao'] = true;
            // paradas
            tblOpcao.rows[i]['filtrarPorParadas'] = 0;
            // horários
            tblOpcao.rows[i]['filtrarPorDatas'] = 0;
            // cias aéreas
            tblOpcao.rows[i]['filtrarPorCias'] = 0;
            // aeroportos
            tblOpcao.rows[i]['filtrarPorAeroportos'] = 0;
            // duração
            tblOpcao.rows[i]['filtrarPorDuracao'] = 0;
            // preços
            tblOpcao.rows[i]['filtrarPorPrecos'] = 0;
        }
    }

}