﻿// Filtros Renderizar
Aereo.FiltroRender = 
{
    HorariosIda: new Array(16),
    HorariosVolta: new Array(16),

    renderFiltroCiasAereas: function(templates,idaVolta)
    {
        //debugger 
        var filtroPorCia = templates.Externo;        //Template de Aeroportos
        var PorCiaExterno = templates.PorCia;       //Template de Itens
        var CheckboxItemCias = templates.CiaItem;   //Template de dropDownItem

        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);
        
        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) 
                {
                    CheckboxItemCias.idDropDownItem = itCias.row.nomeCia.trim();
                }
                
                if (itCias.row.imagemPequena!=null && itCias.row.imagemPequena!='')
                {
                    CheckboxItemCias.ValorDropDownItem1 =  "image/airCompanies/" + itCias.row.imagemPequena;
                }
                else 
                {
                    CheckboxItemCias.ValorDropDownItem1 = "";
                }
                
                CheckboxItemCias.Link = "javascript:filtraVooCompanhia('" + itCias.row.companhia + "')";
                CheckboxItemCias.nameDropDownItem = "chkCiaAerea";
                CheckboxItemCias.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) ) 
                    CheckboxItemCias.styleDivDropDown = "none";
                else    
                    CheckboxItemCias.styleDivDropDown = "";
                
                
                sb.append(CheckboxItemCias.getHtml());
                ciasExibidas += itCias.row.companhia + ";";
            }   
        }
        itCias.dispose();
        
        //SETA TEMPLATE DROPDOWN
        return sb.toString();  
    },

    renderFiltroAeroportos: function(templates,idaVolta)
    {
        var filtroPorAeroporto = templates.Externo;             //Template de Aeroportos
        var PorAeroportoExterno = templates.PorAeroporto;       //Template de Itens
        var CheckboxItemAeroportos = templates.AeroportoItem;   //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
                CheckboxItemAeroportos.idDropDownItem = itAeroportos.row.nome;
                CheckboxItemAeroportos.ValorDropDownItem1 = itAeroportos.row.iata;
                CheckboxItemAeroportos.ValorDropDownItem2 = itAeroportos.row.nome;
                CheckboxItemAeroportos.Link = "javascript:filtraVooAeroporto('" + itAeroportos.row.iata + "')";
                CheckboxItemAeroportos.Checked = (itAeroportos.row.filtro ? "" : "checked");
                CheckboxItemAeroportos.nameDropDownItem = "chk_Aeroportos" ;
                

                PorAeroportoExterno.styleDivDropDown = (itAeroportos.row.filtro ? "none" : "");
                
                switch (itAeroportos.row.origem_destino) 
                {
                    case 0:
                        if (listaAeroportosOrigem.contains(itAeroportos.row.iataCidade) == false) 
                        {                        
                            listaAeroportosOrigem[listaAeroportosOrigem.length] = itAeroportos.row.iataCidade;
                            
                            PorAeroportoExterno.AeroportoItem = CheckboxItemAeroportos.getHtml();
                            sbAeroportosOrigem.append(PorAeroportoExterno.getHtml());
                        } 
                        else 
                        {
                            PorAeroportoExterno.AeroportoItem = CheckboxItemAeroportos.getHtml();
                            sbAeroportosOrigem.append(PorAeroportoExterno.getHtml());
                        }
                        break;
                    case 1:
                        if (listaAeroportosDestino.contains(itAeroportos.row.iataCidade) == false) 
                        {
                            listaAeroportosDestino[listaAeroportosDestino.length] = itAeroportos.row.iataCidade;
                            
                            PorAeroportoExterno.AeroportoItem = CheckboxItemAeroportos.getHtml();
                            sbAeroportosDestino.append(PorAeroportoExterno.getHtml());
                        } 
                        else 
                        {
                            PorAeroportoExterno.AeroportoItem = CheckboxItemAeroportos.getHtml();
                            sbAeroportosDestino.append(PorAeroportoExterno.getHtml());                        
                        }
                                                    
                        break;
                }
            }
        } 
        itAeroportos.dispose();
        
        return sbAeroportosOrigem.toString() + sbAeroportosDestino.toString();
    },
    renderFiltroHorarios: function(templates,modo)
    {
        if(availDS.tables.OpcoesDeVoo == null) return;
    
        var sb = new StringBuilder();
        
        var dadosTrecho = SiteGeral.getDadosTrecho().value;
 
        templates.PorHorario.HorarioInicialManha = dadosTrecho.rows[0].data.toString('00:00:000');
        
        if (dadosTrecho.rows.count() > 1)
        {
            templates.PorHorario.HorarioFinalManha = dadosTrecho.rows[1].data.toString('12:00:000');
        }
        else
        {
            templates.PorHorario.HorarioFinalManha = dadosTrecho.rows[0].data.toString('12:00:000');
        }
        
        templates.PorHorario.HorarioInicialTarde = dadosTrecho.rows[0].data.toString('12:00:000');
        if (dadosTrecho.rows.count() > 1)
        {
            templates.PorHorario.HorarioFinalTarde = dadosTrecho.rows[1].data.toString('17:00:000');
        }
        else
        {
            templates.PorHorario.HorarioFinalTarde = dadosTrecho.rows[0].data.toString('17:00:000');
        }
        
        templates.PorHorario.HorarioInicialNoite = dadosTrecho.rows[0].data.toString('17:00:000');
        if (dadosTrecho.rows.count() > 1)
        {
            templates.PorHorario.HorarioFinalNoite = dadosTrecho.rows[1].data.toString('23:59:000');
        }
        else
        {
            templates.PorHorario.HorarioFinalNoite = dadosTrecho.rows[0].data.toString('23:59:000');
        }
        
        return templates.PorHorario.getHtml();  
    }
};


