﻿//=============================================================================
//         Metodos de render de tabs
//=============================================================================

function apresentaResultados(numeroTab)
{
    renderTabs(numeroTab);
     
     
    try 
    {
        // apresenta o conteúdo da aba
        var tab = tabList.getTabById(numeroTab);
        if (tab != null)
        {
            // salva o contexto do tab renderizado
            var renderedTab = tabList.getRenderedTab();
            if (renderedTab != null)
            {
                renderedTab.saveContextMethod(renderedTab.id);
                
                // sinaliza que o tab não é o tab renderizado
                renderedTab.rendered = false;
            }
            
            // renderiza o novo tab
            tab.renderMethod(numeroTab);
            // sinaliza que o tab é o tab renderizado
            tab.rendered = true;
        }
        else
        {
            if ($('resultadoBusca') != null)
            {
                $('resultadoBusca').innerHTML = "";
            }
            else if ($('ResultItems') != null)
            {
                $('ResultItems').innerHTML = "";
            }
        }
    }
    catch(ex)
    {
    
    }
}

function renderTabs(numeroTab)
{
 	var selecionado = false;
	var sb = new StringBuilder();
	
	try
	{
	    // limita a 4 o nº de abas (incluindo a nova pesquisa) para evitar que se criem duas linhas de abas em computadores 800x600
	    for (var i = 0; i < tabList.count() && i < 4; i++)
	    {				
		    tabList.item(i).tableCellId = i;
		    tabList.edit(tabList.item(i).id, tabList.item(i));
		    if (tabList.item(i).ativo && tabList.item(i).type == getTabType(numeroTab))
		    {
	            sb.append(renderTab(tabList.item(i).id, (tabList.item(i).id == numeroTab)));
	        }
	    }
	}
	catch(ex){}
	
    $('divAbas').innerHTML = sb.toString();
}

function renderTab(id, selecionado)
{
    var abaDataSet = getTabDataSet(id);
    
    var sbOrelha = new StringBuilder();

    var aba = null;
    
    // se houver DataSet, então exibe a aba de resultado
    if (abaDataSet != null)
    {
        // cria a aba
        aba = templates.AbaDeResultado;
        
        switch (abaDataSet.tables.Trechos.rows[0]["tipoDeBusca"])
        {
            case HOTEIS:
                aba.origem = "";
                aba.destino = abaDataSet.tables.Trechos.rows[0]["destino"].capitalize();
                aba.datas = abaDataSet.tables.Trechos.rows[0]["dataIda"].toString("dd MMM").capitalize() + " - " + abaDataSet.tables.Trechos.rows[0]["dataVolta"].toString("dd MMM").capitalize();
                aba.imagemAba = "images/BuscaTrip/seta_v_v.png";

                break;
            case CRUZEIROS:
                aba.origem = "";
                if(abaDataSet.tables.Trechos.rows[0]["NomeDestino"].indexOf('Mostrar') < 0)
                {
                    aba.destino = abaDataSet.tables.Trechos.rows[0]["NomeDestino"].toString();
                }
                else
                {
                    aba.destino = "Todos";
                }
                aba.datas = abaDataSet.tables.Trechos.rows[0]["dataIda"].toString("MMM").capitalize();
                aba.imagemAba = "images/BuscaTrip/seta_v_v.png";
                
                break;
            case AEREO:
            default:
                aba.origem = abaDataSet.tables.Trechos.rows[0]["origem"];
                aba.destino = abaDataSet.tables.Trechos.rows[0]["destino"];

                if (abaDataSet.tables.Trechos.rows.count() == 1)
                {
                    aba.datas = abaDataSet.tables.Trechos.rows[0]["data"].toString("dd MMM").capitalize();
                    aba.imagemAba = "images/BuscaTrip/indicador_abas.gif";
                }
                else if (abaDataSet.tables.Trechos.rows.count() > 1)
                {
                    aba.datas = abaDataSet.tables.Trechos.rows[0]["data"].toString("dd MMM").capitalize() + " - " + abaDataSet.tables.Trechos.rows[1]["data"].toString("dd MMM").capitalize();
                    aba.imagemAba = "images/BuscaTrip/seta_v_v.png";
                }

                break;
        }
        aba.estiloNovaPesquisa = 'display:block;';
        
	    if (selecionado)
	    {
            aba.abaAtiva = "nav_on";
        }
        else
        {
            aba.abaAtiva = "nav_off";
        }  

    }
    else    // caso contrário, exibe a aba de busca
    {
	    if (selecionado)
	    {
            // cria a aba
            aba = templates.AbaDeBuscaSelecionada;
            aba.abaAtiva = "nav_on";
        }
        else
        {
            // cria a aba
            aba = templates.AbaDeBuscaNaoSelecionada;
            aba.abaAtiva = "nav_off_novaBusca";
        }  
    }
    
    // define o link para selecionar a aba
    aba.linkSelecionaAba = "javascript:selectTab(" + id + ")";
    // define o link para fechar a aba
    aba.linkFechaAba = "javascript:closeTab(" + id + ");";
        
    return aba.getHtml();
}

function selectTab(id)
{
    try
    {
//        $('divHeaderConteudoSEO').style.display = "none";
//        $('divFooterConteudoSEO').style.display = "none";
    }
    catch(ex){}

    apresentaResultados(id);
}

function closeTab(id)
{
    // identifica o tipo de busca
    var abaDataSet = getTabDataSet(id);
    var tipoDeBusca = 0;
    switch (abaDataSet.tables.Trechos.rows[0]["tipoDeBusca"])
    {
        case HOTEIS:
            tipoDeBusca = HOTEIS;
            break;
        case CRUZEIROS:
            tipoDeBusca = CRUZEIROS;
            break;    
        case AEREO:
        default:
            tipoDeBusca = AEREO;
            break;
    }
    
    // exibe a tab de busca
    var searchTab = tabList.getTabByMode(tipoDeBusca, BUSCA);
    
    tabList.remove(id);
    
    apresentaResultados(searchTab != null ? searchTab.id : -1);
}

function validateTabsVisibility()
{
	// caso seja a primeira busca (nº de abas igual a 2 [resultado da busca e nova pesquisa]) 
	// esconde os links de outros produtos e não exibe as abas
	if (tabList.count() == 2)
	{
//	    $("divLinksProdutosHeader").style.display = "none";
//	    $('divAbasContainer').style.display = "none";
//	    $('divAbas').style.display = "none";
	}
	else
	{
	    $("divLinksProdutosHeader").style.display = "block";
	    $('divAbasContainer').style.display = "block";
	    $('divAbas').style.display = "block";
	}
}

function showTabs()
{
    $("divLinksProdutosHeader").style.display = "block";
    $('divAbasContainer').style.display = "block";
    $('divAbas').style.display = "block";
}


