﻿
var SEM_ORDEM = 0;          //
var ORDEM_CRESCENTE = 1;    // Tipos de ordenacao    
var ORDEM_DECRESCENTE = 2;  //

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//                              VARIAVEIS E METODOS DO AEREO COMUNS A DIVERSAS PAGINAS
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

var htOrdenacaoAirAvail = new Hashtable();  // estrutura para controle de ordenacao da disponibilidade
var htOrdenacaoMP = new Hashtable(); // estrutura para controle de ordenacao da disponibilidade

// comeco ordenado pelo preco rt crescente
htOrdenacaoAirAvail.add('cias', SEM_ORDEM);
htOrdenacaoAirAvail.add('escalas', SEM_ORDEM);
htOrdenacaoAirAvail.add('precoOW', SEM_ORDEM);
htOrdenacaoAirAvail.add('precoRT', SEM_ORDEM);
htOrdenacaoMP.add('cias', SEM_ORDEM);
htOrdenacaoMP.add('tarifaADT', SEM_ORDEM);
htOrdenacaoMP.add('duracaoIda', SEM_ORDEM);
htOrdenacaoMP.add('dataSaidaIda', SEM_ORDEM);
htOrdenacaoMP.add('dataChegadaVolta', SEM_ORDEM);
//filtros
htOrdenacaoAirAvail.add('preco', SEM_ORDEM);
htOrdenacaoAirAvail.add('duracao', SEM_ORDEM);
htOrdenacaoAirAvail.add('dataSaida', SEM_ORDEM);
htOrdenacaoAirAvail.add('dataChegada', SEM_ORDEM);
//=====================================================================
// Funcao que converte uma data para o formato UTC. Nesse formato a data eh retornada independente de horario de verao evitando assim que o javascript 
// corrija o horario de verao automaticamente
function UTCDateDemo(d)
{
    var d1 = new Date((d.getUTCFullYear()) + "/" + (d.getUTCMonth() + 1) + "/" + (d.getUTCDate()) + " " + d.toString('HH:mm:ss'));

    return(d1);
}

function getDataTableTrecho(numTrecho)
{
    if (numTrecho==1){
        return "OpcoesDeVoo";
    }else{
        return "OpcoesDeVooVolta";
    }
}

function getMoeda(moeda)
{
    switch (moeda)
    {
        case "BRL":
            return "R$";
        case "USD":
            return "US$";
        default:
            return moeda;
    }
}

//Implementacao de sort por duas ou mais coluas
System.Data.DataTable.prototype.sortByColunas = function()
{
    var colunas = arguments;
    var i, j, index, indexobj;
    if(this.__isSort && this.__ultColuna == colunas[0]) {
        for(c=colunas.length-1; c>=0;c--)
        {
            for (i = 1; i < this.rows.length; ++i) {
	            index = this.rows[i];
	            for (j = i; j > 0 && this.rows[j-1][colunas[c]] < index[colunas[c]]; j--)
		            this.rows[j] = this.rows[j-1];
	            this.rows[j] = index;
             }
         }
        this.__isSort=false;
    } else {
        for(c=colunas.length-1; c>=0;c--)
        {
            for (i = 1; i < this.rows.length; ++i) {
	            index = this.rows[i];
	            for (j = i; j > 0 && this.rows[j-1][colunas[c]] > index[colunas[c]]; j--)
		            this.rows[j] = this.rows[j-1];
	            this.rows[j] = index;
             }
         }
        this.__isSort=true;
    }  
    this.__ultColuna = colunas[0];
};

function formatTime(time)
{
    var hour = Math.floor(time);
    var minutes = Math.floor((time-hour)*60).toString();
    return ''+hour+':'+((minutes.length == 2)?minutes:"0"+minutes);
};

function ExibeAguardeComThread(runFunction)
{
    //Exibe aguarde
//    AguardeOnResize();
    //$('divFilterLoading').style.display = 'block'; comentado temporariamente rosimeire
    $('idContainer').className = 'container noSelect';
    
//    
    if(document.selection)
        document.selection.clear();  

    var thread = new Thread();
    thread.run = runFunction;
    thread.destructor = function()
    { 
        //$('divFilterLoading').style.display = 'none' comentado temporariamente; 
        $('idContainer').className = 'container';  
    };
    
    thread.start();
};

var ThreadSettings = new Object();
ThreadSettings.queue = new Array();
ThreadSettings.delay = 1000;
ThreadSettings.launch = 10;

ThreadSettings.addThread = function(thread)
{
    var index = ThreadSettings.queue.length;
    ThreadSettings.queue[index] = thread;
    return index;
};

ThreadSettings.run = function()
{
    if(ThreadSettings.queue.length < 500)
    {
        /* executa os processos */
        for(var i=0; i < ThreadSettings.queue.length; i++)
        {
            /* verifica se a thread não foi removida ou esta dormindo */
            /* alert(i+" >> "+ThreadSettings.queue[i].sleepTime); */
            if(ThreadSettings.queue[i] != null)
            {
                if(ThreadSettings.queue[i].sleepTime <= 0)
                {
                    setTimeout("ThreadSettings.queue["+i+"].background()",ThreadSettings.launch);
                }
                else
                {
                    /* alert(ThreadSettings.queue[i].sleepTime); */
                    ThreadSettings.queue[i].sleepTime -= ThreadSettings.delay;
                }
            }
        }
    }
    else
    {
        /* executa garbade collector */
        var clearQueue = new Array();
        for(var i=0; i < ThreadSettings.queue.length; i++)
        {
            if(ThreadSettings.queue[i] != null)
            {
                clearQueue[i] = ThreadSettings.queue[i];
            }
        }
        ThreadSettings.queue[i] = clearQueue;
    }
    setTimeout("ThreadSettings.run()",ThreadSettings.delay);
};

ThreadSettings.remove = function(index)
{
    /* remove a Thread */
    ThreadSettings.queue[index] = null;
};

ThreadSettings.sleep = function(index,time)
{
    /* sleep */
    ThreadSettings.queue[index].sleepTime = time;
};

ThreadSettings.run();

Thread = function()
{
    this.runnning = false;
    this.retValue = false;
    
    this.index = 0;
    this.sleepTime = 0;
    this.start = function() 
    {
        this.index = ThreadSettings.addThread(this);
    };
    this.background = function()
    {
        if (this.runnning == false)
        {
            this.runnning = true;
            
            retValue = this.run();
        }
        
        if (retValue == true)
        {
            this.end();
        }
        else
        {
            this.start();
        }
    } ;
    this.run = function() {};
    this.end = function() 
    {
        this.destructor();ThreadSettings.remove(this.index);
    };
    this.destructor = function() {};
    this.sleep = function(time) 
    {
        ThreadSettings.sleep(this.index,time);
    };
};

function ExibeAguarde()
{
//    AguardeOnResize();
//    $('divLoading').className = 'showLoad';
};

function CancelaAguarde()
{
//    $('divLoading').className = 'hideLoad';
};

function selOrdenar(Array)
{
    //debugger;
    var indexSep = Array.toString().split(",");
    var campo1 = indexSep[0];
    var campo2 = indexSep[1];
    var campo3 = indexSep[2];
    
    if (Aereo.LayoutGeral.isMasterPricer) 
    {
        Aereo.MasterPricer.ordenaVoo(campo1,campo2, campo3);
    }
    else 
    {
        Aereo.Disponibilidade.ordenaVoo(campo1,campo2);
    }
};


function pegaNomeCabine(codCabine)
{
    switch(codCabine)
    {
        case "F":
            return "Primeira";
        case "C":
            return "Executiva";
        default:
            return "Econ&ocirc;mica";
    }
};

function escreveNomeCabine(sigla)
{
    switch(sigla)
    {
        default:
        case 'Y':
            return 'Econ&ocirc;mica';
        case 'C':
            return 'Executiva';
        case 'F':
            return 'Primeira classe';
    }
};
//confirmar com a Rosi
function confirmarVoosEscolhidos(isMP)
{
    if(isMP)
        {
            var filteredDS = pegaDadosTarifada(true); 
        }
        else
        {
            var filteredDS = pegaDadosTarifada(false); 
        }
      SiteGeral.FiltrarDataSet(filteredDS, confirmarVoosEscolhidos_callback);


};

//verificar 
function pegaDadosTarifada(isMP)
{
    var newDS;
    if(isMP)
        newDS = copyFilteredMasterPricerDS();
    else
        newDS = copyFilteredAvailDS();
        
     return newDS;
    
};

function copyFilteredMasterPricerDS()
{
    //debugger;
    var itOpcaoVoos;
    var itOpcaoMP;
    var itOpcaoMPVoo;
    var itVoos;
    var itClasses;
    var newDS = new DataSet();
    newDS = masterPricerDS.clone();

    tiraOrdenacaoMasterPricerDS();

    itOpcaoMP = masterPricerDS.tables["OpcoesMP"].getIterator("escolha");
    itOpcaoMPVoo = masterPricerDS.tables["OpcoesMP_OpcoesDeVoo"].getIterator("codOpcaoMP");
    itOpcaoVoos = masterPricerDS.tables["OpcoesDeVoo"].getIterator("codOpcaoDeVoo");
    itVoos = masterPricerDS.tables["Voos"].getIterator("codOpcaoDeVoo");
    itClasses = masterPricerDS.tables["ClassesDeReserva"].getIterator("codVoo");
    
    // trechos
    for(var i=0; i<masterPricerDS.tables["Trechos"].rows.length; i++)
    {
        newDS.tables["Trechos"].addRow(masterPricerDS.tables["Trechos"].rows[i]);
    }
    
    itOpcaoMP.findByKey(true);
    for( itOpcaoMP.moveFirst(); itOpcaoMP.hasNext(); itOpcaoMP.moveNext() )
    {
        newDS.tables["OpcoesMP"].addRow(itOpcaoMP.row);
        
        itOpcaoMPVoo.findByKey(itOpcaoMP.row.codOpcaoMP);
        for( itOpcaoMPVoo.moveFirst(); itOpcaoMPVoo.hasNext(); itOpcaoMPVoo.moveNext() )
        {
            newDS.tables["OpcoesMP_OpcoesDeVoo"].addRow(itOpcaoMPVoo.row);
            
            itOpcaoVoos.findByKey(itOpcaoMPVoo.row.codOpcaoDeVoo);
            newDS.tables["OpcoesDeVoo"].addRow(itOpcaoVoos.row);
            
            itVoos.findByKey(itOpcaoVoos.row.codOpcaoDeVoo);
            for( itVoos.moveFirst(); itVoos.hasNext(); itVoos.moveNext() )
            {
                newDS.tables["Voos"].addRow(itVoos.row);

                itClasses.findByKey( itVoos.row.codVoo );

                newDS.tables["ClassesDeReserva"].addRow(itClasses.row);
            }
        }    
    }

    itClasses.dispose();
    itOpcaoMPVoo.dispose();    
    itVoos.dispose();
    itOpcaoVoos.dispose();
    itOpcaoMP.dispose();

    reordenaMasterPricerDS();

    return newDS;
};

function copyFilteredAvailDS()
{
//debugger;
    var itOpcaoVoos;
    var itOpcaoVoos_Tarifas;
    var itTarifas;
    var itVoos;
    var itClasses;
    
    var newDS = new DataSet();
    newDS = availDS.clone();

    for(var i=0; i<availDS.tables["Trechos"].rows.length; i++)
    {
        // trechos
        newDS.tables["Trechos"].addRow(availDS.tables["Trechos"].rows[i]);
        
        var codTrecho = availDS.tables["Trechos"].rows[i].codTrecho;
        tiraOrdenacaoAvailDS(codTrecho);
        
        itOpcaoVoos = availDS.tables[getDataTableTrecho(codTrecho)].getIterator("escolha");
        
        itOpcaoVoos_Tarifas = availDS.tables["OpcoesDeVoos_Tarifas"].getIterator("codOpcaoDeVoo");
        itTarifas = availDS.tables["Tarifas"].getIterator("codTarifa");
        
        itVoos = availDS.tables["Voos"].getIterator("codOpcaoDeVoo");
        itClasses = availDS.tables["ClassesDeReserva"].getIterator("codVoo");
        
        itOpcaoVoos.findByKey(true);
        for( itOpcaoVoos.moveFirst(); itOpcaoVoos.hasNext(); itOpcaoVoos.moveNext() )
        {
            // opções de vôos
            newDS.tables[getDataTableTrecho(codTrecho)].addRow(itOpcaoVoos.row);

            // tarifas
            itOpcaoVoos_Tarifas.findByKey( itOpcaoVoos.row.codOpcaoDeVoo );
            for( itOpcaoVoos_Tarifas.moveFirst(); itOpcaoVoos_Tarifas.hasNext(); itOpcaoVoos_Tarifas.moveNext() )
            {
                newDS.tables["OpcoesDeVoos_Tarifas"].addRow(itOpcaoVoos_Tarifas.row);    
                
                itTarifas.findByKey( itOpcaoVoos_Tarifas.row.codTarifaMenorValorRT );
                for( itTarifas.moveFirst(); itTarifas.hasNext(); itTarifas.moveNext() )
                {
                    newDS.tables["Tarifas"].addRow(itTarifas.row);    
                }
            }
            
            // vôos
            itVoos.findByKey( itOpcaoVoos.row.codOpcaoDeVoo );
            for( itVoos.moveFirst(); itVoos.hasNext(); itVoos.moveNext() )
            {
                newDS.tables["Voos"].addRow(itVoos.row);
                
                // classes de vôos
                itClasses.findByKey( itVoos.row.codVoo );
                for( itClasses.moveFirst(); itClasses.hasNext(); itClasses.moveNext() )
                {
                    if(itClasses.row.escolha)
                    {
                        newDS.tables["ClassesDeReserva"].addRow(itClasses.row);
                        break;
                    }
                }
            }
        }
        itVoos.dispose();
        itClasses.dispose();
        itTarifas.dispose();
        itOpcaoVoos_Tarifas.dispose();
        itOpcaoVoos.dispose();

        reordenaAvailDS();
    }
    
    return newDS;
};

function tiraOrdenacaoAvailDS(numTrecho)
{
    availDS.tables[getDataTableTrecho(numTrecho)].sort('codOpcaoDeVoo');
};

function reordenaAvailDS()
{
    var numeroOrdenacoes;
    var colunaOrdenacao;

    if(htOrdenacaoAirAvail.getValue('cias') == ORDEM_CRESCENTE)
    {
        numeroOrdenacoes = 1;
        colunaOrdenacao = 'cias';
    }
    else if(htOrdenacaoAirAvail.getValue('cias') == ORDEM_DECRESCENTE)
    {
        numeroOrdenacoes = 2;
        colunaOrdenacao = 'cias';
    }
    else if(htOrdenacaoAirAvail.getValue('escalas') == ORDEM_CRESCENTE)
    {
        numeroOrdenacoes = 1;
        colunaOrdenacao = 'escalas';
    }
    else if(htOrdenacaoAirAvail.getValue('escalas') == ORDEM_DECRESCENTE)
    {
        numeroOrdenacoes = 2;
        colunaOrdenacao = 'escalas';
    }
    else if(htOrdenacaoAirAvail.getValue('precoOW') == ORDEM_CRESCENTE)
    {
        numeroOrdenacoes = 1;
        colunaOrdenacao = 'precoOW';
    }
    else if(htOrdenacaoAirAvail.getValue('precoOW') == ORDEM_DECRESCENTE)
    {
        numeroOrdenacoes = 2;
        colunaOrdenacao = 'precoOW';
    }
    else if(htOrdenacaoAirAvail.getValue('precoRT') == ORDEM_CRESCENTE)
    {
        numeroOrdenacoes = 1;
        colunaOrdenacao = 'precoRT';
    }
    else if(htOrdenacaoAirAvail.getValue('precoRT') == ORDEM_DECRESCENTE)
    {
        numeroOrdenacoes = 2;
        colunaOrdenacao = 'precoRT';    
    }else if(htOrdenacaoAirAvail.getValue('preco') == ORDEM_CRESCENTE)
    {
        numeroOrdenacoes = 1;
        colunaOrdenacao = 'preco';
    }
    else if(htOrdenacaoAirAvail.getValue('preco') == ORDEM_DECRESCENTE)
    {
        numeroOrdenacoes = 2;
        colunaOrdenacao = 'preco';
    }else if(htOrdenacaoAirAvail.getValue('duracao') == ORDEM_CRESCENTE)
    {
        numeroOrdenacoes = 1;
        colunaOrdenacao = 'duracao';
    }
    else if(htOrdenacaoAirAvail.getValue('duracao') == ORDEM_DECRESCENTE)
    {
        numeroOrdenacoes = 2;
        colunaOrdenacao = 'duracao';
    }else if(htOrdenacaoAirAvail.getValue('dataSaida') == ORDEM_CRESCENTE)
    {
        numeroOrdenacoes = 1;
        colunaOrdenacao = 'dataSaida';
    }
    else if(htOrdenacaoAirAvail.getValue('dataSaida') == ORDEM_DECRESCENTE)
    {
        numeroOrdenacoes = 2;
        colunaOrdenacao = 'dataSaida';
    }else if(htOrdenacaoAirAvail.getValue('dataChegada') == ORDEM_CRESCENTE)
    {
        numeroOrdenacoes = 1;
        colunaOrdenacao = 'dataChegada';
    }
    else if(htOrdenacaoAirAvail.getValue('dataChegada') == ORDEM_DECRESCENTE)
    {
        numeroOrdenacoes = 2;
        colunaOrdenacao = 'dataChegada';
    }
     
    for(var i=0; i<numeroOrdenacoes; i++)
        availDS.tables['OpcoesDeVoo'].sort(colunaOrdenacao);
};

function tiraOrdenacaoMasterPricerDS()
{
    masterPricerDS.tables["OpcoesMP"].sort('codOpcaoMP');
};

function reordenaMasterPricerDS()
{
    var tipoOrdenacao;
    var colunaOrdenacao;

    if(htOrdenacaoMP.getValue('cias') == ORDEM_CRESCENTE)
    {
        tipoOrdenacao = false;
        colunaOrdenacao = 'cias';
    }
    else if(htOrdenacaoMP.getValue('cias') == ORDEM_DECRESCENTE)
    {
        tipoOrdenacao = true;
        colunaOrdenacao = 'cias';
    }
    else if(htOrdenacaoMP.getValue('tarifaADT') == ORDEM_CRESCENTE)
    {
        tipoOrdenacao = false;
        colunaOrdenacao = 'tarifaADT';
    }
    else if(htOrdenacaoMP.getValue('tarifaADT') == ORDEM_DECRESCENTE)
    {
        tipoOrdenacao = true;
        colunaOrdenacao = 'tarifaADT';
    }
    else if(htOrdenacaoMP.getValue('duracaoIda') == ORDEM_CRESCENTE)
    {
        tipoOrdenacao = false;
        colunaOrdenacao = 'duracaoIda';
    }
    else if(htOrdenacaoMP.getValue('duracaoIda') == ORDEM_DECRESCENTE)
    {
        tipoOrdenacao = true;
        colunaOrdenacao = 'duracaoIda';
    }
    else if(htOrdenacaoMP.getValue('dataSaidaIda') == ORDEM_CRESCENTE)
    {
        tipoOrdenacao = false;
        colunaOrdenacao = 'dataSaidaIda';
    }
    else if(htOrdenacaoMP.getValue('dataSaidaIda') == ORDEM_DECRESCENTE)
    {
        tipoOrdenacao = true;
        colunaOrdenacao = 'dataSaidaIda';    
    }else if(htOrdenacaoMP.getValue('dataChegadaVolta') == ORDEM_CRESCENTE)
    {
        tipoOrdenacao = false;
        colunaOrdenacao = 'dataChegadaVolta';
    }
    else if(htOrdenacaoMP.getValue('dataChegadaVolta') == ORDEM_DECRESCENTE)
    {
        tipoOrdenacao = true;
        colunaOrdenacao = 'dataChegadaVolta';
    }else
    {
        tipoOrdenacao = true;
        colunaOrdenacao = 'codOpcaoMP';
    }
     
    //for(var i=0; i<tipoOrdenacao; i++)
    masterPricerDS.tables['OpcoesDeVoo'].sort(colunaOrdenacao, tipoOrdenacao);
};

// Rosimeire - 2009-05-27
function BoxMensagem(Mensagem, divTransparenteId, divMensagemId)
{
    document.getElementById(divTransparenteId).style.display = '';

    dialog(Mensagem, divMensagemId);
};

// incluido a pedido do Victor rapi10
// by Leandro Lopes
function escondertelefone() {

 document.getElementById("telefoneSaoPaulo").style.display="none";

 document.getElementById("telefoneSalvador").style.display="none";

 document.getElementById("telefoneBrasilia").style.display="none";

 document.getElementById("telefoneRecife").style.display="none";

 document.getElementById("telefoneCampinas").style.display="none";

 document.getElementById("telefoneBeloHorizonte").style.display="none";

 document.getElementById("telefonePortoAlegre").style.display="none";

 document.getElementById("telefoneFlorianopolis").style.display="none";

 document.getElementById("telefoneCuritiba").style.display="none";
}

function mostrartelefone(value) { 

 escondertelefone();

 document.getElementById(value).style.display="inline";

};

function calculaTotalHorasMinutos(_time)
{
    var totalHoras;
    var _hours = 0;
    var _weeks = 0;
    var _days = 0;
    var _mins = 0;
    var _secs = 0;

    _weeks = Math.floor(_time / (1000 * 60 * 60 * 24 * 7));
    _time -= _weeks * (1000 * 60 * 60 * 24 * 7);


    _days = Math.floor(_time / (1000 * 60 * 60 * 24));
    _time -= _days * (1000 * 60 * 60 * 24);


    _hours = Math.floor(_time / (1000 * 60 * 60));
    _time -= _hours * (1000 * 60 * 60);
            

    _mins = Math.floor(_time / (1000 * 60));
    _time -= _mins * (1000 * 60);


    _secs = Math.floor(_time / 1000);
    _time -= _secs * 1000;
    
    totalHoras = _hours + "h" + _mins + "min" + _secs + "s";
    
    return totalHoras;
}

function calculaDiferencaHoras(_departure, _arrival, _typeToReturn)
{
    
    var timediff;
    var timeReturn;
    
    if(_departure.getTime() > _arrival.getTime())
    {
        timediff = _departure.getTime() - _arrival.getTime();
    }
    else
    {
        timediff = _arrival.getTime() - _departure.getTime();
    }
    
    
        weeks = Math.floor(timediff / (1000 * 60 * 60 * 24 * 7));
        timediff -= weeks * (1000 * 60 * 60 * 24 * 7);
        

        days = Math.floor(timediff / (1000 * 60 * 60 * 24));
        timediff -= days * (1000 * 60 * 60 * 24);
        
        
        hours = Math.floor(timediff / (1000 * 60 * 60));
        timediff -= hours * (1000 * 60 * 60);
                

        mins = Math.floor(timediff / (1000 * 60));
        timediff -= mins * (1000 * 60);
        

        secs = Math.floor(timediff / 1000);
        timediff -= secs * 1000;    
        
        

    if(_typeToReturn == "week")
    {
        timeReturn = weeks;
    }

    if(_typeToReturn == "days")
    {    
        timeReturn = days;
    }
    
    if(_typeToReturn == "hours")
    {    
        timeReturn = hours;
    }
    
    if(_typeToReturn == "mins")
    {    
        timeReturn = mins;
    }
    
    if(_typeToReturn == "secs")
    {    
        timeReturn = secs;
    }
    
    return timeReturn;
};

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////ALterado por Thiago ---Metodos utilizados em MasterPrice e Disponibilidade////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


function saveEmailReceberOfertas( )
{

    var email = $('txtEmailOfertas');
    var estado = $('selEstadoEmailOfertas');
    
    for(var i=0; i < estado.length; i++)
    {
        if( estado.options[i].selected == true )
        {
            estado = estado.options[i];
            break;
        }
    }
    
    if( !(email.value.isEmail()) )
    {
        alert('Digite um email válido');
        email.focus() ;
    }
    else
    {
       SiteGeral.saveEmailReceberOfertas(email.value, estado.innerHTML, saveEmailReceberOfertas_callback);
    }
}

function saveEmailReceberOfertas_callback(res)
{
    if(res.error==null)
    {
        alert('Email cadastrado com sucesso.');
    }
    else
    {
        alert('Não foi possível adicionar seu email em nossa base de dados.');
    }
}


//Disponibilidade

function enviarOfertasPorEmail()
{
    var emailsSend = $('txtEmailOfertasAmigos').value;
    var emailFrom = $('txtEmailFrom').value;
    var nomeFrom = $('txtNameFrom').value;
    var receberOfertas = $('chkRecberOfertas').checked;
    var assunto = "Ofertas";
    
  //master Price/Disponibilidada
    var htmlBodyEmail = MontaCompartilheResultados(nomeFrom, emailFrom, location.href ); 
    SiteGeral.sendOfertasPorEmail(htmlBodyEmail, emailsSend, emailFrom, nomeFrom, receberOfertas, assunto, enviarOfertasPorEmail_callback);
    
}


//disponibilidade
function MontaCompartilheResultados(nomeFrom, emailFrom, locationHref)
{
        // variaveis
        var tEmail = new Template("Aereo");
        var sResultado = new StringBuilder();
        var ds; 
        var t;
        
        if(Aereo.LayoutGeral.isMasterPricer)
        {
           ds = masterPricerDS;
           t = tEmail.MasterPricer.email; ;
        }
        else
        {
            ds = availDS;
           t = tEmail.Disponibilidade.email; ;
        }
    
        var somenteIda = ds.tables.Trechos.rows.count() == 1; 
        //template email criado
        t.NOME_REMETENTE      = nomeFrom;
        t.EMAIL_REMENTENTE    = emailFrom;
        t.LOCATION_HREF       = locationHref;
        t.CIDADE_ORIGEM       = ds.tables.Trechos.rows[0].cidadeOrigem;
        t.CIDADE_DESTINO      = ds.tables.Trechos.rows[0].cidadeDestino;       
        t.DATA_PARTIDA        = ds.tables.Trechos.rows[0].data;
        
        if(!somenteIda)
        {        
            t.DATA_RETORNO    = ds.tables.Trechos.rows[1].data;
        }
        else
        {        
            t.DATA_RETORNO = "";
        }
        
        
        sResultado.append(t.getHtml());  

      
        return sResultado;
 
};


function enviarOfertasPorEmail_callback(res)
{
    if(res.error==null)
    {
        if(!res.value)
        {
            alert('Não foi possível enviar sua oferta.');
        }
        else
        {
            alert('Oferta enviada com sucesso.');
        }
    }
    else
    {
        alert('Não foi possível enviar sua oferta.');
        
    }
}

function setCodOpcaoDeVoo(_cod)
{
    _codOpcaoDeVoo = _cod;
}

function setCodrecho(_codT)
{
    _codTrecho = _codT;
}

///////////////////////////////-----------------------------Fim confirmarVoosEscolhidosMP-------------------------------------------//////////////////////////////////////




function confirmarVoosEscolhidos_callback(res)
{
    if(res.error == null)
    {
        if(res.value != null)
        {
        
            if(res.value == false)
            {
                alert('Erro ao tentar pegar os dados para Tarifar : res.value == false');
            }
            else
            {
               var DirrootSeguro =  SiteGeral.GetDirRootSeguro().value; 
    
                window.location = DirrootSeguro + 'pagamento-passagens.aspx';
            }            
        }
        else
        {
            alert('Erro ao tentar pegar os dados para Tarifar: res.value == null');
        }
    }
    else
    {
        alert('Erro ao tentar pegar os dados para Tarifar: ' + res.error.message);
    }
}


///////////////////////////////-----------------------------Fim confirmarVoosEscolhidosMP-------------------------------------------//////////////////////////////////////

