﻿function objTarifaAereo() {
    this.CodTarifaAereoPacote;
    this.RT_OW;
};

function jDetalhes() {

    //variaveis privativas 
    var jDS;

    var jDS_Tkts;

    var jRP;
    var tmpCNT;
    var HT_Tkts;

    var tmpUI;

    var _motorViagem;

    var jCal;

    var _codPacoteVB;
    var _codOPC_MHMT;

    var vlrOpc1 = 0;
    var vlrOpc2 = 0;
    var vlrOpc3 = 0;
    var _codLocalidadeDe;


    //-- By Wagner - Controle Aereo Default setado
    var _codAereoDefault = null;
    var _temAereo = false;
    var _temRodoviario = false;
    var _codOpcaoPrimeiraRodo;
    var arrayObjAereo = [];

    //HTML render(pNomeTemplate)
    var render = {
        main: function() {
            //tmpCNT.DetVMMI.CNT_Detalhe.DetPaxs = render.passageiros();
            //            return '<div style="text-align: center;" align="center">' + 
            //                   '<img src="http://novovb.vaibrasil.com.br/images/loading_vb.gif" alt="Carregando" title="Por favor, aguarde." />' +
            //                   '</div>';
            return '';
        },
        results: function() {

            //detaque localidade destino
            //valida se tem imagem do pacote, caso contrario pega da localidade
            if (jDS.getTotRegs("ImagensPacote") > 0) {
                tmpCNT.DetVMMI.CNT_Detalhe.locThumb = jDS.getDrValue("ImagensPacote", 0, "PathImg") + jDS.getDrValue("ImagensPacote", 0, "UrlImagem");

            } else {
                tmpCNT.DetVMMI.CNT_Detalhe.locThumb = jDS.getDrValue("Localidades", jDS.findRow("Localidades", "CodCidade", Portlet.getViagem().codLocalidadePara), "UrlImagem");
            }
            tmpCNT.DetVMMI.CNT_Detalhe.locNome = jDS.getDrValue("Localidades", jDS.findRow("Localidades", "CodCidade", Portlet.getViagem().codLocalidadePara), "Nome");
            var vLocDesc = jDS.getDrValue("Localidades", jDS.findRow("Localidades", "CodCidade", Portlet.getViagem().codLocalidadePara), "Descricao");
            if (vLocDesc.length > 300) { vLocDesc = vLocDesc.substring(0, 300) + '...'; };
            vLocDesc = vLocDesc.replace('size="2"', "");
            tmpCNT.DetVMMI.CNT_Detalhe.locDescricao = vLocDesc;

            //resumo da viagem
            tmpCNT.DetVMMI.CNT_Detalhe.Titulo = jDS.getDrValue("Pacotes", 0, "Nome");
            tmpCNT.DetVMMI.CNT_Detalhe.locOrigem = jDS.getDrValue("Localidades", jDS.findRow("Localidades", "CodCidade", Portlet.getViagem().codLocalidadeDe), "Nome");
            tmpCNT.DetVMMI.CNT_Detalhe.locDestino = jDS.getDrValue("Localidades", jDS.findRow("Localidades", "CodCidade", Portlet.getViagem().codLocalidadePara), "Nome");



            if (Portlet.getViagem().dataEmbarque == null) {
                tmpCNT.DetVMMI.CNT_Detalhe.dataSaida = "favor selecionar data";
            }
            else {
                tmpCNT.DetVMMI.CNT_Detalhe.dataSaida = Portlet.getViagem().dataEmbarque.toString('dd/MM/yyyy');
            };

            var sbSelPx = new StringBuilder();
            for (var px = 0; px < 2; px++) {
                if (px + 1 == Portlet.getViagem().Paxes.totPaxes()) {
                    sbSelPx.appendFormat('<option value="{0}" selected="selected">{1}</option>', px + 1, px + 1);
                }
                else {
                    sbSelPx.appendFormat('<option value="{0}">{1}</option>', px + 1, px + 1);
                };
            };

            tmpCNT.DetVMMI.CNT_Detalhe.selTotPax = sbSelPx.toString();
            tmpCNT.DetVMMI.CNT_Detalhe.totDias = jDS.getDrValue("Pacotes", 0, "NumerosDias");

            tmpCNT.DetVMMI.CNT_Detalhe.DetDetalhes = render.detalhesPacote();
            tmpCNT.DetVMMI.CNT_Detalhe.DetPaxs = render.passageiros();

            tmpCNT.DetVMMI.CNT_Detalhe.DetOpcsMH = render.opcsMH();
            tmpCNT.DetVMMI.CNT_Detalhe.DetOpcsMT = render.opcsMT();
            tmpCNT.DetVMMI.CNT_Detalhe.DetOpcsSVC = render.opcsSVC();
            tmpCNT.DetVMMI.CNT_Detalhe.temAereoRodoviario = '';
            tmpCNT.DetVMMI.CNT_Detalhe.displayOpcoes = '';

            //-- Tratamento se tem aéreo e/ou rodoviario - by Wagner 17/08/2010
            if (_temAereo && _temRodoviario) {
                tmpCNT.DetVMMI.CNT_Detalhe.temAereoRodoviario = '<br /><br /><div style="padding-left: 15px; padding-right:15px;"><div style="padding-top: 6px; padding-left: 15px; height:20px; font-weight:bold; background: #ECF9FD"><input checked="checked" type="radio" name="mt" id="mta" value="aereo"> <label for="mta">Aéreo</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" name="mt" id="mtr" value="rodoviario"> <label for="mtr">Rodoviário</label></div></div>';
                //-- Seta aéreo como default

                tmpCNT.DetVMMI.CNT_Detalhe.displayOpcoes = 'none';
            };


            //acerta os estilos das abas de configuracao
            if (jDS.getDrValue("Pacotes", 0, "Aereo") > 0 || parseInt(jDS.getTotRegs("OpcoesRodoviarioPacote")) > 0) {
                tmpCNT.DetVMMI.CNT_Detalhe.selConfMT_STL = '';
            } else {
                tmpCNT.DetVMMI.CNT_Detalhe.selConfMT_STL = 'display:none;';
            }
            if (jDS.getDrValue("Pacotes", 0, "Hospedagem") > 0) {
                tmpCNT.DetVMMI.CNT_Detalhe.selConfMH_STL = '';
            } else {
                tmpCNT.DetVMMI.CNT_Detalhe.selConfMH_STL = 'display:none';
            }
            if (jDS.getDrValue("Pacotes", 0, "Servico") > 0) {
                tmpCNT.DetVMMI.CNT_Detalhe.selConfSVC_STL = '';
            } else {
                tmpCNT.DetVMMI.CNT_Detalhe.selConfSVC_STL = 'display:none;';
            }
            tmpCNT.DetVMMI.CNT_Detalhe.selConfPAX_STL = '';
            //tmpCNT.DetVMMI.CNT_Detalhe.DetAgencias = render.agencias();


            return tmpCNT.DetVMMI.CNT_Detalhe.getHtml();

        },
        // Passageiros
        passageiros: function() {
            var ttPaxes = jDS.getTotRegs("PassageirosPedidoVB");
            tmpCNT.DetVMMI.CNT_DetPaxs.Paxs = "";
            for (var i = 0; i < ttPaxes; i++) {
                tmpCNT.DetVMMI.CNT_DetPaxs.Paxs += render.passageirosItens(i);
            };
            return tmpCNT.DetVMMI.CNT_DetPaxs.getHtml();
        },
        passageirosItens: function(pNumPax) {
            tmpCNT.DetVMMI.CNT_DetPax.CodPax = pNumPax + 1;
            tmpCNT.DetVMMI.CNT_DetPax.ID = pNumPax;
            tmpCNT.DetVMMI.CNT_DetPax.nome = Portlet.getViagem().Paxes.getPax(pNumPax).nome;
            tmpCNT.DetVMMI.CNT_DetPax.sobreNome = Portlet.getViagem().Paxes.getPax(pNumPax).sobreNome;
            tmpCNT.DetVMMI.CNT_DetPax.idade = Portlet.getViagem().Paxes.getPax(pNumPax).getIdade();
            return tmpCNT.DetVMMI.CNT_DetPax.getHtml();
        },
        //opcoes hotel MH
        opcsMH: function() {

            tmpCNT.DetVMMI.CNT_DetOpcsMH.OpcsMH = render.opcMH();
            return tmpCNT.DetVMMI.CNT_DetOpcsMH.getHtml();
        },
        opcMH: function() {
            var sb = new StringBuilder();
            var totOpcs = jDS.getTotRegs("OpcoesHoteisPacote");
            var totIOpcs = jDS.getTotRegs("ItensOpcaoHoteisPacote");
            var totCatOpcs = jDS.getTotRegs("CategoriasOpcaoHoteisPacote");


            for (var i = 0; i < totOpcs; i++) {
                var codOpcao = jDS.getDrValue("OpcoesHoteisPacote", i, "CodOpcaoHotelPacote");
                
                sb.append("<tr><td>");
                //sb.append("<input name='opcMH' id='opcMH" + codOpcao + "' type='radio' value='" + codOpcao + "'>" + jDS.getDrValue("OpcoesHoteisPacote",i,"Nome") + "</input>");
                sb.appendFormat("<input name='opcMH' id='opcMH{0}' type='radio' value='{0}' {2}  /><label style='padding-left:5px;' for='opcMH{0}'>{1}</label>", codOpcao, jDS.getDrValue("OpcoesHoteisPacote", i, "Nome"), (jDS.getDrValue("OpcoesHoteisPacote", i, "Selected") == 1 ? "checked = 'checked'" : ""));
                sb.append("</td><td>");
                //prepara os itens da opcao
                var vTRCidades = new StringBuilder();
                var vTRImgs = new StringBuilder();
                var vTRHTL = new StringBuilder();
                var vTROps = new StringBuilder();

                var adicionouOpcao = false;
                for (var io = 0; io < totIOpcs; io++) {

                    if (jDS.getDrValue("ItensOpcaoHoteisPacote", io, "CodOpcaoHotelPacote") == codOpcao && adicionouOpcao == false) {

                        adicionouOpcao = true;

                        vTRCidades.appendFormat("<td><span>{0}</span></td>", jDS.getDrValue("ItensOpcaoHoteisPacote", io, "NomeCidadeDestino"));
                        vTRImgs.appendFormat("<td><img height='113' width='145'  src='{0}' alt='{1}'/></td>", (jDS.getDrValue("ItensOpcaoHoteisPacote", io, "ImagemHotel") != '' ? jDS.getDrValue("ItensOpcaoHoteisPacote", io, "ImagemHotel") : "/images/noImg.jpg"), jDS.getDrValue("ItensOpcaoHoteisPacote", io, "NomeFantasia"));
                        vTRHTL.appendFormat("<td><span>{0}</span></td>", jDS.getDrValue("ItensOpcaoHoteisPacote", io, "NomeFantasia"));
                        //sb.appendFormat("<div><span>{0}</span><img src='{1}'/><span>{2}</span></div>",jDS.getDrValue("ItensOpcaoHoteisPacote",io,"NomeCidadeDestino"),jDS.getDrValue("ItensOpcaoHoteisPacote",io,"ImagemHotel"),jDS.getDrValue("ItensOpcaoHoteisPacote",io,"NomeFantasia"));
                        var codCategoria = jDS.getDrValue("ItensOpcaoHoteisPacote", io, "CodOpcaoHotelDestinoPacote")
                        vTROps.appendFormat("<td><select id='opcMHSub{0}'>", codCategoria);
                        //vTROps.appendFormat("<td><select id='opcMHSub{0}'><option value='{0},0'>Selecione Categoria e Pensão</option>", codCategoria)

                        for (var c = 0; c < totCatOpcs; c++) {
                            if (jDS.getDrValue("CategoriasOpcaoHoteisPacote", c, "CodOpcaoHotelDestinoPacote") == codCategoria) {
                                var CodItemOpcaoHotelDestinoPacote = jDS.getDrValue("CategoriasOpcaoHoteisPacote", c, "CodItemOpcaoHotelDestinoPacote");
                                vTROps.appendFormat("<option value='{3},{0}' {4}>{1}-{2}</option>", CodItemOpcaoHotelDestinoPacote, jDS.getDrValue("CategoriasOpcaoHoteisPacote", c, "TipoAcomodacao"), jDS.getDrValue("CategoriasOpcaoHoteisPacote", c, "TipoRefeicao"), codCategoria, (jDS.getDrValue("CategoriasOpcaoHoteisPacote", c, "Selected") == 1 ? "selected='selected'" : ""));

                            };
                        };
                        vTROps.append("</select></td>");
                    };
                };
                sb.appendFormat("<table><tr>{0}</tr><tr>{1}</tr><tr>{2}</tr><tr>{3}</tr></table>", vTRCidades.toString(), vTRImgs.toString(), vTRHTL.toString(), vTROps.toString());
                sb.append("</td></tr>");
            }


            /*for (var i = 0; i < totOpcs; i++) {
            var codOpcao = jDS.getDrValue("OpcoesHoteisPacote", i, "CodOpcaoHotelPacote");
            sb.append("<tr><td>");
            //sb.append("<input name='opcMH' id='opcMH" + codOpcao + "' type='radio' value='" + codOpcao + "'>" + jDS.getDrValue("OpcoesHoteisPacote",i,"Nome") + "</input>");
            sb.appendFormat("<input name='opcMH' id='opcMH{0}' type='radio' value='{0}' {2}  /><label style='padding-left:5px;' for='opcMH{0}'>{1}</label>", codOpcao, jDS.getDrValue("OpcoesHoteisPacote", i, "Nome"), (jDS.getDrValue("OpcoesHoteisPacote", i, "Selected") == 1 ? "checked = 'checked'" : ""));
            sb.append("</td><td>");
            //prepara os itens da opcao
            var vTRCidades = new StringBuilder();
            var vTRImgs = new StringBuilder();
            var vTRHTL = new StringBuilder();
            var vTROps = new StringBuilder();

                for (var io = 0; io < totOpcs; io++) {

                    if (jDS.getDrValue("ItensOpcaoHoteisPacote", io, "CodOpcaoHotelPacote") == codOpcao) {

                        vTRCidades.appendFormat("<td><span>{0}</span></td>", jDS.getDrValue("ItensOpcaoHoteisPacote", io, "NomeCidadeDestino"));
            vTRImgs.appendFormat("<td><img height='113' width='145'  src='{0}' alt='{1}'/></td>", (jDS.getDrValue("ItensOpcaoHoteisPacote", io, "ImagemHotel") != '' ? jDS.getDrValue("ItensOpcaoHoteisPacote", io, "ImagemHotel") : "/images/noImg.jpg"), jDS.getDrValue("ItensOpcaoHoteisPacote", io, "NomeFantasia"));
            vTRHTL.appendFormat("<td><span>{0}</span></td>", jDS.getDrValue("ItensOpcaoHoteisPacote", io, "NomeFantasia"));
            //sb.appendFormat("<div><span>{0}</span><img src='{1}'/><span>{2}</span></div>",jDS.getDrValue("ItensOpcaoHoteisPacote",io,"NomeCidadeDestino"),jDS.getDrValue("ItensOpcaoHoteisPacote",io,"ImagemHotel"),jDS.getDrValue("ItensOpcaoHoteisPacote",io,"NomeFantasia"));
            var codCategoria = jDS.getDrValue("ItensOpcaoHoteisPacote", io, "CodOpcaoHotelDestinoPacote")
            vTROps.appendFormat("<td><select id='opcMHSub{0}'>", codCategoria);
            //vTROps.appendFormat("<td><select id='opcMHSub{0}'><option value='{0},0'>Selecione Categoria e Pensão</option>", codCategoria)
            for (var c = 0; c < totCatOpcs; c++) {
            if (jDS.getDrValue("CategoriasOpcaoHoteisPacote", c, "CodOpcaoHotelDestinoPacote") == codCategoria) {
            var CodItemOpcaoHotelDestinoPacote = jDS.getDrValue("CategoriasOpcaoHoteisPacote", c, "CodItemOpcaoHotelDestinoPacote");
            vTROps.appendFormat("<option value='{3},{0}' {4}>{1}-{2}</option>", CodItemOpcaoHotelDestinoPacote, jDS.getDrValue("CategoriasOpcaoHoteisPacote", c, "TipoAcomodacao"), jDS.getDrValue("CategoriasOpcaoHoteisPacote", c, "TipoRefeicao"), codCategoria, (jDS.getDrValue("CategoriasOpcaoHoteisPacote", c, "Selected") == 1 ? "selected='selected'" : ""));

                            };
            };
            vTROps.append("</select></td>");
            };
            };
            sb.appendFormat("<table><tr>{0}</tr><tr>{1}</tr><tr>{2}</tr><tr>{3}</tr></table>", vTRCidades.toString(), vTRImgs.toString(), vTRHTL.toString(), vTROps.toString());
            sb.append("</td></tr>");
            }*/
            return sb.toString();
        },
        opcsMT: function() {

            tmpCNT.DetVMMI.CNT_DetOpcsMT.OpcsMT = render.opcMT();
            return tmpCNT.DetVMMI.CNT_DetOpcsMT.getHtml();
        },
        opcMT: function() {
            //debugger;
            var sb = new StringBuilder();
            var totOpcs = jDS.getTotRegs("OpcoesAereoPacote");
            var totIOpcs = jDS.getTotRegs("ItensOpcaoAereoPacote");
            //var totCatOpcs = jDS.getTotRegs("CategoriasOpcaoHoteisPacote");
            var primOpc = false;

            //-- Seta o Trecho DEFAUL caso não exista - By Wagner Vieira 19/04/2010
            //debugger;
            //--- caso nao tenha aereo nao passa no if que seta o trecho defaul - By Luciano Hackl 08/06/2010
            if (totOpcs != 0) {
                _temAereo = true; // By Wagner

                if (_codAereoDefault == null) {
                    if (Portlet.getViagem().codLocalidadeDe != 0) {
                        for (var i = 0; i < totOpcs; i++) {
                            if (jDS.getDrValue("ItensOpcaoAereoPacote", i, "CodCidadeOrigem") == Portlet.getViagem().codLocalidadeDe) {
                                var codTrechoDefault = parseInt(jDS.getDrValue("ItensOpcaoAereoPacote", i, "CodTrechoAereoPacote"));
                                _codAereoDefault = jDS.findRow("ItensOpcaoAereoPacote", "CodTrechoAereoPacote", codTrechoDefault);
                                jDS.setDrValue("ItensOpcaoAereoPacote", _codAereoDefault, "Selected", 1);
                            };
                        };
                    }
                    else {
                        if (jDS.getDrValue("OpcoesAereoPacote", 0, "CodTrechoAereoPacoteDefault") != null) {
                            var codTrechoDefault = parseInt(jDS.getDrValue("OpcoesAereoPacote", 0, "CodTrechoAereoPacoteDefault"));
                            if (!isNaN(codTrechoDefault)) {
                                _codAereoDefault = jDS.findRow("TarifasAereoPacote", "CodTrechoAereoPacote", codTrechoDefault);
                                jDS.setDrValue("TarifasAereoPacote", _codAereoDefault, "Selected", 1);
                            }
                            else {
                                //-- Se não tiver nenhuma default, seta a primeira
                                jDS.setDrValue("TarifasAereoPacote", 0, "Selected", 1);
                                //_codAereoDefault = jDS.getDrValue("TarifasAereoPacote", 0, "CodTrechoAereoPacote");
                            };
                        };
                    }
                };
            };

            sb.append('<tr><td colspan="2"><table id="tableOptAereo" style="width:100%">');

            arrayObjAereo = [];
            for (var i = 0; i < totOpcs; i++) {
                var codOpcao = jDS.getDrValue("OpcoesAereoPacote", i, "CodOpcoesAereoPacote");
                //sb.append("<tr><td>");
                //sb.append("<input name='opcMT' id='opcMT" + codOpcao + "' type='checkbox' value='" + codOpcao + "'>" + jDS.getDrValue("OpcoesAereoPacote",i,"Nome") + "</input>");
                //sb.append("</td><td>");
                //prepara os itens da opcao
                //sb.append("<select id='opcMTSub"+codOpcao+"'>");
                for (var io = 0; io < totIOpcs; io++) {
                    if (jDS.getDrValue("ItensOpcaoAereoPacote", io, "CodOpcoesAereoPacote") == codOpcao) {
                        var totTarifas = jDS.getTotRegs("TarifasAereoPacote");
                        var vcodTrechoAereoPacote = jDS.getDrValue("ItensOpcaoAereoPacote", io, "CodTrechoAereoPacote");

                        /* Controle se o usuário mudou de opcao de aereo */
                        if (_codAereoDefault != null) {
                            for (var trf = 0; trf < totTarifas; trf++) {
                                jDS.setDrValue("TarifasAereoPacote", trf, "Selected", 0);
                            };
                            //-- Seta o default a clicada pelo usuario na troca do aereo
                            jDS.setDrValue("TarifasAereoPacote", _codAereoDefault, "Selected", 1);
                        };
                        /* End controle */

                        for (var trf = 0; trf < totTarifas; trf++) {
                            if (jDS.getDrValue("TarifasAereoPacote", trf, "CodTrechoAereoPacote") == vcodTrechoAereoPacote) {
                                if (primOpc == false) {
                                    sb.append("<tr style='border-bottom:1px solid #4AC4EB;'><td colspan='2'><strong>Aéreo</strong></td></tr>");
                                    primOpc = true;
                                }

                                sb.append("<tr><td>");
                                sb.append("<input name='opcMT' id='opcMTSubSub" + jDS.getDrValue("TarifasAereoPacote", trf, "CodTarifaAereoPacote") + "' type='radio' value='" + codOpcao + "," + jDS.getDrValue("ItensOpcaoAereoPacote", io, "CodTrechoAereoPacote") + "," + jDS.getDrValue("TarifasAereoPacote", trf, "CodTarifaAereoPacote") + "' " + (jDS.getDrValue("TarifasAereoPacote", trf, "Selected") == 1 ? "checked='checked'" : "") + "/><label style='padding-left:5px;' for='opcMTSubSub" + jDS.getDrValue("TarifasAereoPacote", trf, "CodTarifaAereoPacote") + "'>" + jDS.getDrValue("OpcoesAereoPacote", i, "Nome") + "</label>");
                                sb.append("</td><td>");

                                var objA = new objTarifaAereo();
                                objA.CodTarifaAereoPacote = parseInt(jDS.getDrValue("TarifasAereoPacote", trf, "CodTarifaAereoPacote"));

                                //sb.appendFormat("<span id='{0}'>{3} - vôo de {1} para {2}</span>", codOpcao + ',' + jDS.getDrValue("ItensOpcaoAereoPacote", io, "CodTrechoAereoPacote"), jDS.getDrValue("ItensOpcaoAereoPacote", io, "NomeCidadeOrigem"), jDS.getDrValue("ItensOpcaoAereoPacote", io, "NomeCidadeDestino"), jDS.getDrValue("TarifasAereoPacote", trf, "Nome"));
                                if (jDS.getDrValue("ItensOpcaoAereoPacote", io, "NomeCidadeDestino_Volta") == "") {
                                    objA.RT_OW = true;
                                    sb.appendFormat("<span id='{0}'>SAÍDA:{1}/{2} {3}</span>", codOpcao + ',' + jDS.getDrValue("ItensOpcaoAereoPacote", io, "CodTrechoAereoPacote"), jDS.getDrValue("ItensOpcaoAereoPacote", io, "NomeCidadeOrigem").trim(), jDS.getDrValue("ItensOpcaoAereoPacote", io, "NomeCidadeDestino").trim(), jDS.getDrValue("ItensOpcaoAereoPacote", io, "CiaAerea"), jDS.getDrValue("ItensOpcaoAereoPacote", io, "CiaAerea_Volta"));
                                }
                                else {
                                    objA.RT_OW = false;
                                    sb.appendFormat("<span id='{0}'>SAÍDA:{1}/{2} {3} VOLTA:{2}/{1} {4}</span>", codOpcao + ',' + jDS.getDrValue("ItensOpcaoAereoPacote", io, "CodTrechoAereoPacote"), jDS.getDrValue("ItensOpcaoAereoPacote", io, "NomeCidadeOrigem").trim(), jDS.getDrValue("ItensOpcaoAereoPacote", io, "NomeCidadeDestino").trim(), jDS.getDrValue("ItensOpcaoAereoPacote", io, "CiaAerea"), jDS.getDrValue("ItensOpcaoAereoPacote", io, "CiaAerea_Volta"));
                                };

                                arrayObjAereo.push(objA);

                                //Eliminar exibição do valor
                                //sb.appendFormat("</td><td>{0}</td></tr>",(parseFloat(jDS.getDrValue("TarifasAereoPacote",trf,"ValorADT"))<=0?"---":jDS.getDrValue("TarifasAereoPacote",trf,"SimboloMoeda") + ' ' + parseFloat(jDS.getDrValue("TarifasAereoPacote",trf,"ValorADT"))));
                                sb.append("</td></tr>");

                                //sb.appendFormat("<option id='' value='{0}'>{3} - vôo de {1} para {2}</option>",codOpcao + ',' + jDS.getDrValue("ItensOpcaoAereoPacote",io,"CodTrechoAereoPacote"),jDS.getDrValue("ItensOpcaoAereoPacote",io,"NomeCidadeOrigem"),jDS.getDrValue("ItensOpcaoAereoPacote",io,"NomeCidadeDestino"),jDS.getDrValue("TarifasAereoPacote",trf,"Nome"));
                            };
                        };
                    };
                };
                //sb.append("</select><select id='opcMTSubSub"+codOpcao+"'><option>selecione voo para ver as opções</option></select>");
                //sb.append("</td><td>valor</td></tr>");
            };

            sb.append('</table></td></tr>');

            var totOpcsRodo = parseInt(jDS.getTotRegs("OpcoesRodoviarioPacote"));

            if (totOpcsRodo > 0)
                _temRodoviario = true;


            sb.append('<tr><td colspan="2"><table id="tableOptRodoviario" style="width:100%">');

            //var totCatOpcs = jDS.getTotRegs("CategoriasOpcaoHoteisPacote");
            for (var i = 0; i < totOpcsRodo; i++) {
                var codOpcao = jDS.getDrValue("OpcoesRodoviarioPacote", i, "CodOpcaoRodoviarioPacote");
                var checked = '';

                if (i == 0) {
                    sb.append("<tr style='border-bottom:1px solid #4AC4EB;'><td colspan='2'><strong>Rodoviário</strong></td></tr>");
                    checked = "checked='checked'";

                    //-- Seta primeiro como selected
                    _codOpcaoPrimeiraRodo = codOpcao;
                };

                sb.append("<tr><td>");
                sb.appendFormat("<input name='opcRO' id='opcRO{0}' " + checked + " type='radio' value='{0}' {2}/><label for='opcRO{0}' style='padding-left:5px;'>{1}</label>", codOpcao, jDS.getDrValue("OpcoesRodoviarioPacote", i, "Nome"), "");
                sb.append("</td><td>");
                sb.appendFormat("<span id='txtRO{0}'>{3} Transporte Rodoviário de {1} para {2}</span>", codOpcao, jDS.getDrValue("OpcoesRodoviarioPacote", i, "NomeCidadeOrigem"), jDS.getDrValue("OpcoesRodoviarioPacote", i, "NomeCidadeDestino"), jDS.getDrValue("OpcoesRodoviarioPacote", trf, "Descricao_HTML"));
                //Eliminar exibição do valor
                //sb.appendFormat("</td><td>{0}</td></tr>",(parseFloat(jDS.getDrValue("TarifasAereoPacote",trf,"ValorADT"))<=0?"---":jDS.getDrValue("TarifasAereoPacote",trf,"SimboloMoeda") + ' ' + parseFloat(jDS.getDrValue("TarifasAereoPacote",trf,"ValorADT"))));
                sb.append("</td></tr>");
            }
            sb.append('</table></td></tr>');

            return sb.toString();

        },
        opcsSVC: function() {

            tmpCNT.DetVMMI.CNT_DetOpcsSVC.OpcsSVC = render.opcSVC();
            return tmpCNT.DetVMMI.CNT_DetOpcsSVC.getHtml();
        },
        opcSVC: function() {
            var sb = new StringBuilder();
            var totOpcs = jDS.getTotRegs("OpcoesServicosPacote");
            var totIOpcs = jDS.getTotRegs("ItensOpcaoServicosPacote");
            var markupAcoplado = (jDS.getDrValue("Pacotes", 0, "MarkupAcoplado") != "" ? parseFloat(jDS.getDrValue("Pacotes", 0, "MarkupAcoplado")) : 1);
            //debugger;
            //var totCatOpcs = jDS.getTotRegs("CategoriasOpcaoHoteisPacote");
            for (var i = 0; i < totOpcs; i++) {
                var codOpcao = jDS.getDrValue("OpcoesServicosPacote", i, "CodGrupoServicoPacote");
                //sb.append("<tr><td>");
                //sb.append("<input name='opcSCV' id='opcSVC" + codOpcao + "' type='checkbox' value='" + codOpcao + "'>" + jDS.getDrValue("OpcoesServicosPacote",i,"NomeGrupoServicoPacote") + "</input>");
                //sb.append("</td><td>");
                //prepara os itens da opcao

                for (var io = 0; io < totIOpcs; io++) {
                    if (jDS.getDrValue("ItensOpcaoServicosPacote", io, "CodGrupoServicoPacote") == codOpcao) {

                        sb.append("<tr><td>");
                        sb.append("<input name='itemSCV' id='itemSVC" + jDS.getDrValue("ItensOpcaoServicosPacote", io, "CodServicoPacote") + "' type='checkbox' value='" + codOpcao + "," + jDS.getDrValue("ItensOpcaoServicosPacote", io, "CodServicoPacote") + "'/><label style='padding-left:5px;' for='itemSVC" + jDS.getDrValue("ItensOpcaoServicosPacote", io, "CodServicoPacote") + "'>" + jDS.getDrValue("ItensOpcaoServicosPacote", io, "Titulo") + (jDS.getDrValue("ItensOpcaoServicosPacote", io, "Incluso_Opcional") == "true" ? " (* Opcional)" : " (* Incluso)") + "</label>");
                        sb.append("</td><td>");

                        //var valorServicoNovo = (parseFloat(jDS.getDrValue("ItensOpcaoServicosPacote", io, "ValorADT")) / markupAcoplado);
                        var valorServicoNovo = parseFloat(jDS.getDrValue("ItensOpcaoServicosPacote", io, "ValorADT"));
                        //sb.appendFormat("<input name='itemSVC' id='itemSVC{0}' type='radio' id='' value='{0}'>{1}</input>",jDS.getDrValue("ItensOpcaoServicosPacote",io,"CodServicoPacote"),jDS.getDrValue("ItensOpcaoServicosPacote",io,"Titulo")+"("+(jDS.getDrValue("ItensOpcaoServicosPacote",io,"ValorADT"))+")");
                        //sb.appendFormat("<span style='display:block;clear:both;'>{0}</span>", jDS.getDrValue("ItensOpcaoServicosPacote", io, "Descricao_HTML") + '&nbsp;' + (jDS.getDrValue("ItensOpcaoServicosPacote", io, "Incluso_Opcional") == "true" ? "(" + (parseFloat(jDS.getDrValue("ItensOpcaoServicosPacote", io, "ValorADT")) <= 0 ? "---" : jDS.getDrValue("ItensOpcaoServicosPacote", io, "SimboloMoeda") + " " + valorServicoNovo.formatNumber(2)) + ")" : ""));
                        sb.appendFormat("<span style='display:block;clear:both;'>{0}</span>", jDS.getDrValue("ItensOpcaoServicosPacote", io, "Descricao_HTML") + '&nbsp;' + (jDS.getDrValue("ItensOpcaoServicosPacote", io, "Incluso_Opcional") == "true" ? "(" + (parseFloat(jDS.getDrValue("ItensOpcaoServicosPacote", io, "ValorADT")) <= 0 ? "---" : "R$" + " " + valorServicoNovo.formatNumber(2)) + ")" : ""));


                        //Eliminar coluna valor
                        //sb.appendFormat("</td><td id='vlrSVC{0}'>{1}</td></tr>",codOpcao,(parseFloat(jDS.getDrValue("ItensOpcaoServicosPacote",io,"ValorADT"))<=0?"---":jDS.getDrValue("ItensOpcaoServicosPacote",io,"SimboloMoeda") + " " + parseFloat(jDS.getDrValue("ItensOpcaoServicosPacote",io,"ValorADT")).formatNumber(2)));
                        sb.append("</td></tr>"); //,codOpcao,(parseFloat(jDS.getDrValue("ItensOpcaoServicosPacote",io,"ValorADT"))<=0?"---":jDS.getDrValue("ItensOpcaoServicosPacote",io,"SimboloMoeda") + " " + parseFloat(jDS.getDrValue("ItensOpcaoServicosPacote",io,"ValorADT")).formatNumber(2)));

                    }
                }

                //sb.appendFormat("</td><td id='vlrSVC{0}'>valor</td></tr>",codOpcao);
            }
            return sb.toString();

        },
        //conteudo das abas
        abaConteudo: function(pNomeAba) {
            var retVal = "";
            switch (pNomeAba) {
                case "Descricao":
                    retVal = "<strong>Pacote: </strong>" + jDS.getDrValue("Pacotes", 0, "Nome") + "<br/>";
                    retVal += "<strong>Operadora: </strong>" + jDS.getDrValue("Pacotes", 0, "Operadora") + "<br/>";
                    retVal += "<strong>Duração: </strong>" + jDS.getDrValue("Pacotes", 0, "NumeroNoites") + " noites / " + jDS.getDrValue("Pacotes", 0, "NumerosDias") + " dias<br/>";
                    retVal += "<strong>Observações: </strong>" + jDS.getDrValue("Pacotes", 0, "Observacoes") + "<br/>";
                    //retVal += "<strong>Transporte: </strong>" + jDS.getDrValue("Pacotes",0,"Aereo") + "<br/>";
                    //retVal += "<strong>Serviços: </strong>" + jDS.getDrValue("Pacotes",0,"Servico") + "<br/>";

                    break;
                case "Inclui":
                    retVal = jDS.getDrValue("Pacotes", 0, "Incluidos");
                    break;
                case "NaoInclui":
                    retVal = jDS.getDrValue("Pacotes", 0, "NaoIncluidos");
                    break;
                case "Condicoes":
                    retVal = jDS.getDrValue("Pacotes", 0, "TermosCondicoes");
                    break;
                case "Requisitos":
                    retVal = jDS.getDrValue("Pacotes", 0, "Requisitos");
                    break;
                case "Observacoes":
                    retVal = jDS.getDrValue("Pacotes", 0, "Observacoes");
                    break;
                case "FormaPagto":
                    retVal = jDS.getDrValue("PacotesVB", 0, "FormaPagamento");
                    break;
                case "Roteiro":
                    var totRot = jDS.getTotRegs("RoteirosPacote");
                    retVal = "<table>";
                    for (var i = 0; i < totRot; i++) {
                        retVal += "<tr>";
                        retVal += "<td style='width:50px;'><strong>Dia :" + jDS.getDrValue("RoteirosPacote", i, "Dia") + "</strong></td>";
                        retVal += "<td><strong>" + jDS.getDrValue("RoteirosPacote", i, "Titulo") + "</strong></td>";
                        retVal += "</tr>";
                        retVal += "<tr>";
                        retVal += "<td style='width:20px;background:transparent url(/css/img/ViajaMais/qdr_detalhe_seta.gif) no-repeat;background-position:20px 0;'>&nbsp;</td>";
                        retVal += "<td style='padding-left:20px;'>" + jDS.getDrValue("RoteirosPacote", i, "Descricao") + "</td>";
                        retVal += "</tr>";
                    }
                    retVal += "</table>";
                default:
                    break;
            };
            return "<span>" + retVal + "</span>";
        },
        detTituloCategoria: function() {
            var tit = "";
            switch (_codOPC_MHMT) {
                case 1:
                    tit = "Turistica - Apto Duplo";
                    break;
                case 2:
                    tit = "Superior - Apto Duplo";
                    break;
                case 3:
                    tit = "Luxo - Apto Duplo";
                    break;
                default:
                    tit = "Turistica - Apto Duplo";
                    break;
            };
            tit = 'Detalhes do Pacote';
            return tit;
        },
        detalhesPacote: function() {
            tmpCNT.DetVMMI.CNT_DetConteudo.Categoria = render.detTituloCategoria();
            tmpCNT.DetVMMI.CNT_DetConteudo.abaArea = render.abaConteudo("Descricao");
            return tmpCNT.DetVMMI.CNT_DetConteudo.getHtml();
        },
        agencias: function() {
            //tmpCNT.DetVMMI.CNT_DetAgencias.Agencias = render.agencia();
            var ttAgs = jDS.getTotRegs("AgenciasVB");
            tmpCNT.DetVMMI.CNT_DetAgencias.Agencias = "";
            for (var i = 0; i < ttAgs; i++) {
                tmpCNT.DetVMMI.CNT_DetAgencias.Agencias += render.agencia(i);
            };
            return tmpCNT.DetVMMI.CNT_DetAgencias.getHtml();
        },
        agencia: function(pNumReg) {

            if (pNumReg % 2 == 0) {
                tmpCNT.DetVMMI.CNT_DetAgencia.classe = "";

            }
            else {
                tmpCNT.DetVMMI.CNT_DetAgencia.classe = "cor";
            };
            tmpCNT.DetVMMI.CNT_DetAgencia.NomeFantasia = jDS.getDrValue("AgenciasVB", pNumReg, "NomeFantasia");
            tmpCNT.DetVMMI.CNT_DetAgencia.Endereco = jDS.getDrValue("AgenciasVB", pNumReg, "Logradouro");
            tmpCNT.DetVMMI.CNT_DetAgencia.Contato = jDS.getDrValue("AgenciasVB", pNumReg, "Contato");
            tmpCNT.DetVMMI.CNT_DetAgencia.Bairro = jDS.getDrValue("AgenciasVB", pNumReg, "Complemento");
            return tmpCNT.DetVMMI.CNT_DetAgencia.getHtml();
        }
    };

    //DOM node ctrlRefs
    var ctrlRefs = {
        siteConteudo: function() { return $('siteCentro'); },
        conteudoQuadroArea: function() { return $('cntQdrAreaEscolha'); },
        btnEtapa: function(pNumEtapa) { return $('btnEtapa' + pNumEtapa); },
        resultArea: function() { return $("resultArea"); },
        resultPane: function() { return $("resultPane"); },
        tabInsumo: function(pCodInsumoPacote) { return $("abaInsumo_" + pCodInsumoPacote); },
        calendarArea: function() { return $("calendario"); },
        abaDetalhe: function(pNomeAba) { return $('aba' + pNomeAba); },
        abaInclui: function() { return $('abaInclui'); },
        abaNaoInclui: function() { return $('abaNaoInclui'); },
        abaCondicoes: function() { return $('abaCondicoes'); },
        abaRoteiro: function() { return $('abaRoteiro'); },
        abaFormaPagto: function() { return $('abaFormaPagto'); },
        abaArea: function() { return $('abaArea'); },
        txtNome: function(pNumPax) { return $('txtNome_' + pNumPax); },
        txtSobrenome: function(pNumPax) { return $('txtSobrenome_' + pNumPax); },
        txtIdade: function(pNumPax) { return $('txtIdade_' + pNumPax); },
        selSexo: function(pNumPax) { return $('selSexo_' + pNumPax); },
        //txtEmailContato:function(){return $('txtEmailContato');},
        //txtFoneContato:function(){return $('txtFoneContato');},
        selOpc: function(pNumOpc) { return $('idOpc_' + pNumOpc); },
        qdrTopo: function() { return $('titCategoria'); },
        valorTotal: function() { return $('valorTotal'); },
        btnConfirmar: function() { return $('btnConfirmar'); },
        dataEmbarque: function() { return $('dtEmbarque'); },
        selTotPax: function() { return $('selTotPax'); },
        btnAlterar: function() { return $('btnAlterar'); },
        btnAlterarPNL: function() { return $('btnAlterarPNL'); },
        btnAlterarOK: function() { return $('btnAlterarOK'); },
        btnAlterarCancel: function() { return $('btnAlterarCancel'); },
        btnAumentaFnt: function() { return $('btnMaior'); },
        btnDiminuiFnt: function() { return $('btnMenor'); },
        btnSaibaMais: function() { return $('btnSaibaMais'); },
        selConf: function(pNomeArea) { return $('selConf' + pNomeArea); },
        //abaConf:function(pNomeArea){return $('divConf'+pNomeArea);},
        divConf: function(pNomeArea) { return $('divConf' + pNomeArea); },
        opcMT: function(pCodRef) { return $('opcMT' + pCodRef); },
        opcMTSub: function(pCodRef) { return $('opcMTSub' + pCodRef); },
        opcMTSubSub: function(pCodRef) { return $('opcMTSubSub' + pCodRef); },
        opcMH: function(pCodRef) { return $('opcMH' + pCodRef); },
        opcMHSub: function(pCodRef) { return $('opcMHSub' + pCodRef); },
        opcSVC: function(pCodRef) { return $('opcSVC' + pCodRef); },
        vlrSVC: function(pCodRef) { return $('vlrSVC' + pCodRef); },
        opcSVCSub: function(pCodRef) { return $('itemSVC' + pCodRef); },
        valorTotal: function() { return $('spValorPacote'); },
        locOrigem: function() { return $('idLocOrigem'); },
        locDestino: function() { return $('idLocDestino'); },
        opcRO: function(pCodRef) { return $('opcRO' + pCodRef); }

    };


    //void startEbv()
    var startEnv = {
        main: function() {
            ctrlRefs.siteConteudo().innerHTML = render.main();

        },
        btnEtapas: function() {
            ctrlRefs.btnEtapa('1').onclick = function() { on.clickBtnEtapa(1); };
            ctrlRefs.btnEtapa('2').onclick = function() { on.clickBtnEtapa(2); };
            ctrlRefs.btnEtapa('3').onclick = function() { on.clickBtnEtapa(3); };
        },
        pesquisa: function() {
            $server.doDetTeste(Portlet.getPedido().codPacote, doDetalhesCB);
        },
        detalhes: function() {
            //acerta os parametros da viagem
            Portlet.getViagem().codLocalidadeDe = jDS.getDrValue("Pacotes", 0, "CidadeOrigem");
            Portlet.getViagem().codLocalidadePara = jDS.getDrValue("Pacotes", 0, "CidadeDestino");
            ctrlRefs.siteConteudo().innerHTML = render.results();

            //-- Tratamento se tem aéreo e/ou rodoviario - by Wagner 17/08/2010
            if (_temAereo && _temRodoviario) {
                //-- Coloca as funções nos cliques dos radios aereo e rodoviario
                $('mta').onclick = function() { on.clickAereoHotel(this.value); };
                $('mtr').onclick = function() { on.clickAereoHotel(this.value); };

                //-- Como o aéreo é Default, exibe a div do aéreo
                $('tableOptAereo').style.display = '';
                $('tableOptRodoviario').style.display = 'none';
            };

            if (_codOpcaoPrimeiraRodo != undefined) {
                on.clickOpcRod($('opcRO' + _codOpcaoPrimeiraRodo));
            };

            startEnv.btnEtapas();
            startEnv.abasDetalhes();
            startEnv.abasConf();
            startEnv.paxes();
            //startEnv.tarifas();
            startEnv.calendar();
            startEnv.ticketsRef();
            ctrlRefs.btnConfirmar().onclick = function() { on.clickConfirmar(); };
            startEnv.btnSaibaMais();
            ctrlRefs.btnAumentaFnt().onclick = function() { Portlet.exec.AumentaFonte(); };
            ctrlRefs.btnDiminuiFnt().onclick = function() { Portlet.exec.DiminuiFonte(); };

            startEnv.drawValor();
        },
        abasConf: function() {
            ctrlRefs.selConf('Detalhes').onclick = function() { on.clickAbaConf('Detalhes'); };
            ctrlRefs.selConf('MH').onclick = function() { on.clickAbaConf('MH'); };
            ctrlRefs.selConf('MT').onclick = function() { on.clickAbaConf('MT'); };
            ctrlRefs.selConf('SVC').onclick = function() { on.clickAbaConf('SVC'); };
            ctrlRefs.selConf('PAX').onclick = function() { on.clickAbaConf('PAX'); };
            //ctrlRefs.abaDetalhe('Roteiro').onclick = function(){on.clickAbaDetalhe('Roteiro');};

        },
        abasDetalhes: function() {
            ctrlRefs.abaDetalhe('Descricao').onclick = function() { on.clickAbaDetalhe('Descricao'); };
            ctrlRefs.abaDetalhe('Inclui').onclick = function() { on.clickAbaDetalhe('Inclui'); };
            ctrlRefs.abaDetalhe('NaoInclui').onclick = function() { on.clickAbaDetalhe('NaoInclui'); };
            ctrlRefs.abaDetalhe('Condicoes').onclick = function() { on.clickAbaDetalhe('Condicoes'); };
            ctrlRefs.abaDetalhe('FormaPagto').onclick = function() { on.clickAbaDetalhe('FormaPagto'); };
            ctrlRefs.abaDetalhe('Roteiro').onclick = function() { on.clickAbaDetalhe('Roteiro'); };

        },
        paxes: function() {
            //acerta alteraçoes nos nomes e idades dos passageiros
            var ttPaxes = jDS.getTotRegs("PassageirosPedidoVB");
            for (var i = 0; i < ttPaxes; i++) {
                ctrlRefs.txtNome(i).codPax = i;
                ctrlRefs.txtNome(i).onchange = function() { on.changeNomePax(this.codPax, this.value) };

                ctrlRefs.txtSobrenome(i).codPax = i;
                ctrlRefs.txtSobrenome(i).onchange = function() { on.changeSnomePax(this.codPax, this.value) };

                ctrlRefs.txtIdade(i).codPax = i;
                ctrlRefs.txtIdade(i).onchange = function() { on.changeIdadePax(this.codPax, this.value) };

                ctrlRefs.selSexo(i).codPax = i;
                ctrlRefs.selSexo(i).onchange = function() { on.changeSexoPax(this.codPax, this.value) };

            };

            ctrlRefs.selTotPax().onchange = function() { on.changeTotPax(this.value); };
            startEnv.btnAlterarPaxes();
        },
        btnAlterarPaxes: function() {
            //ctrlRefs.btnAlterar().onclick = function(){on.btnAlterarPaxes();};
            //ctrlRefs.btnAlterarOK().onclick = function(){on.btnAlterarPaxesOK();};

        },
        tarifas: function() {
            //selecao das tarifas
            if (jDS.getDrValue("PacotesVB", 0, "MH_Turistico") != "") {
                ctrlRefs.selOpc(1).opc = 1;
                ctrlRefs.selOpc(1).onclick = function() { on.selOpc(this.opc); };
            }
            if (jDS.getDrValue("PacotesVB", 0, "MH_Superior") != "") {
                ctrlRefs.selOpc(2).opc = 2;
                ctrlRefs.selOpc(2).onclick = function() { on.selOpc(this.opc); };
            }
            if (jDS.getDrValue("PacotesVB", 0, "MH_Luxo") != "") {
                ctrlRefs.selOpc(3).opc = 3;
                ctrlRefs.selOpc(3).onclick = function() { on.selOpc(this.opc); };
            }
        },
        calendar: function() {
            //            if(jCal==null)
            //            {
            jCal = new jFolhinha(ctrlRefs.calendarArea());
            jCal.onClick = function(pdata) { on.clickDataEmbarque(pdata); };
            var ttDatas = jDS.getTotRegs("SaidasPacote");
            for (var i = 0; i < ttDatas; i++) {
                var dtSai = jDS.getDrValue("SaidasPacote", i, "DataSaida");
                jCal.addDay(dtSai, "saidas");
            };

            //            }
            jCal.exec.drawCalendar();
        },
        btnSaibaMais: function() {
            ctrlRefs.btnSaibaMais().onclick = function() {
                on.clickSaibaMais(Portlet.getViagem().codLocalidadePara);
            };
        },
        ticketsRef: function() {
            var tmpPed = Portlet.getPedido();

            tmpPed.clearTicketRef();
            //adiciona tickets para Transporte
            var totOpcsMT = jDS.getTotRegs("OpcoesAereoPacote");
            var totIOpcs = jDS.getTotRegs("ItensOpcaoAereoPacote");
            var totTarifas = jDS.getTotRegs("TarifasAereoPacote");
            for (var i = 0; i < totOpcsMT; i++) {
                var codOpcao = jDS.getDrValue("OpcoesAereoPacote", i, "CodOpcoesAereoPacote");
                var tktRef = tmpPed.addTicketRef("MT", codOpcao);
                tktRef.subOptions = new Array();
                //adiciona as sub-opcoes (voos)
                for (var io = 0; io < totIOpcs; io++) {
                    if (jDS.getDrValue("ItensOpcaoAereoPacote", io, "CodOpcoesAereoPacote") == codOpcao) {
                        var subOpcVoo = new Object();
                        subOpcVoo.selected = false;
                        subOpcVoo.codRef = jDS.getDrValue("ItensOpcaoAereoPacote", io, "CodTrechoAereoPacote");
                        subOpcVoo.description = jDS.getDrValue("ItensOpcaoAereoPacote", io, "NomeCidadeOrigem") + '-' + jDS.getDrValue("ItensOpcaoAereoPacote", io, "NomeCidadeDestino");
                        //adiciona as sub-opcoes (tarifa + cia)
                        subOpcVoo.subOptions = new Array();
                        for (var trf = 0; trf < totTarifas; trf++) {
                            if (jDS.getDrValue("TarifasAereoPacote", trf, "CodTrechoAereoPacote") == subOpcVoo.codRef) {
                                var subOpcTarifa = new Object();
                                subOpcTarifa.selected = false;
                                subOpcTarifa.codRef = jDS.getDrValue("TarifasAereoPacote", trf, "CodTarifaAereoPacote");
                                subOpcTarifa.description = jDS.getDrValue("TarifasAereoPacote", trf, "NomeCiaAerea") + '-' + jDS.getDrValue("TarifasAereoPacote", trf, "Classe");

                                subOpcVoo.subOptions.push(subOpcTarifa);

                                ctrlRefs.opcMTSubSub(subOpcTarifa.codRef).onclick = function() {
                                    on.clickOpcMTSubSub(this.value);
                                }
                            }
                        }
                        tktRef.subOptions.push(subOpcVoo);
                    }
                }
                //binda o change (seleciona ou deselociona a opcao
                //                ctrlRefs.opcMT(codOpcao).onclick = function(){
                //                    on.clickOpcMT(this.value);
                //                }
                //                ctrlRefs.opcMTSub(codOpcao).onchange = function(){
                //                    on.clickOpcMTSub(this.value);
                //                }
                //                ctrlRefs.opcMTSubSub(codOpcao).onchange = function(){
                //                    on.clickOpcMTSubSub(this.value);
                //                }                               
            }

            var totOpcsRodo = jDS.getTotRegs("OpcoesRodoviarioPacote");
            for (var i = 0; i < totOpcsRodo; i++) {
                var codOpcao = jDS.getDrValue("OpcoesRodoviarioPacote", i, "CodOpcaoRodoviarioPacote");
                ctrlRefs.opcRO(codOpcao).onclick = function() {
                    on.clickOpcRod(this);
                };
            };

            //adiciona tickets para Hospedagem
            var totOpcsMH = jDS.getTotRegs("OpcoesHoteisPacote");
            var totIOpcsMH = jDS.getTotRegs("ItensOpcaoHoteisPacote");
            var totCatOpcsMH = jDS.getTotRegs("CategoriasOpcaoHoteisPacote");
            for (var i = 0; i < totOpcsMH; i++) {
                var codOpcao = jDS.getDrValue("OpcoesHoteisPacote", i, "CodOpcaoHotelPacote");
                var tktRef = tmpPed.addTicketRef("MH", codOpcao);
                tktRef.subOptions = new Array();

                var adicionouOpcao = false;

                //adiciona as sub-opcoes (grupo de hoteis)
                for (var io = 0; io < totIOpcsMH; io++) {
                    if (jDS.getDrValue("ItensOpcaoHoteisPacote", io, "CodOpcaoHotelPacote") == codOpcao && adicionouOpcao == false) {

                        adicionouOpcao = true;

                        var codCategoria = jDS.getDrValue("ItensOpcaoHoteisPacote", io, "CodOpcaoHotelDestinoPacote")
                        var subOpcHTL = new Object();
                        //ja deixa a opcao do hotel selecionada
                        subOpcHTL.selected = true;
                        subOpcHTL.codRef = codCategoria;
                        subOpcHTL.description = '';
                        subOpcHTL.NomeCidade = jDS.getDrValue("ItensOpcaoHoteisPacote", io, "NomeCidadeDestino");
                        subOpcHTL.NomeHotel = jDS.getDrValue("ItensOpcaoHoteisPacote", io, "NomeFantasia");
                        subOpcHTL.ImagemHotel = jDS.getDrValue("ItensOpcaoHoteisPacote", io, "ImagemHotel");

                        //binda o change, do select da categoria + pensao
                        ctrlRefs.opcMHSub(codCategoria).onchange = function() {
                            on.clickOpcMHSub(this.value);
                        };

                        //adiciona as opcoes de tarifa para o hotel
                        subOpcHTL.subOptions = new Array();
                        for (var c = 0; c < totCatOpcsMH; c++) {
                            if (jDS.getDrValue("CategoriasOpcaoHoteisPacote", c, "CodOpcaoHotelDestinoPacote") == codCategoria) {
                                var trfHotel = new Object();
                                trfHotel.selected = false;
                                trfHotel.codRef = jDS.getDrValue("CategoriasOpcaoHoteisPacote", c, "CodOpcaoHotelDestinoPacote");
                                trfHotel.description = jDS.getDrValue("CategoriasOpcaoHoteisPacote", c, "TipoAcomodacao") + '-' + jDS.getDrValue("CategoriasOpcaoHoteisPacote", c, "TipoRefeicao");
                                subOpcHTL.subOptions.push(trfHotel);
                            }
                        }
                        tktRef.subOptions.push(subOpcHTL);
                    }
                }

                //binda o change, da escolha do grupo de hoteis
                ctrlRefs.opcMH(codOpcao).onclick = function() {
                    on.clickOpcMH(this.value);
                };
            }

            //adiciona tickets para Servico
            var totOpcsSVC = jDS.getTotRegs("OpcoesServicosPacote");
            var totIOpcsSVC = jDS.getTotRegs("ItensOpcaoServicosPacote");
            for (var i = 0; i < totOpcsSVC; i++) {
                var codOpcao = jDS.getDrValue("OpcoesServicosPacote", i, "CodGrupoServicoPacote");
                var tktRef = tmpPed.addTicketRef("SVC", codOpcao);
                tktRef.subOptions = new Array();
                //adiciona as subopcoes do grupo de servicos
                for (var io = 0; io < totIOpcsSVC; io++) {
                    if (jDS.getDrValue("ItensOpcaoServicosPacote", io, "CodGrupoServicoPacote") == codOpcao) {
                        var subOpcSVC = new Object();
                        //ja deixa a opcao do hotel selecionada
                        subOpcSVC.selected = false;
                        subOpcSVC.codRef = jDS.getDrValue("ItensOpcaoServicosPacote", io, "CodServicoPacote");
                        subOpcSVC.description = jDS.getDrValue("ItensOpcaoServicosPacote", io, "Descricao_HTML");
                        tktRef.subOptions.push(subOpcSVC);

                        //valida se é incluso ou opcional
                        var vFlagIncluso = jDS.getDrValue("ItensOpcaoServicosPacote", io, "Incluso_Opcional");
                        var vFlagSelected = jDS.getDrValue("ItensOpcaoServicosPacote", io, "Selected");
                        if (vFlagIncluso == "false") {
                            //seta o controle read only
                            ctrlRefs.opcSVCSub(subOpcSVC.codRef).disabled = true;
                        }
                        if (vFlagSelected == 1) {
                            //seta o controle read only
                            ctrlRefs.opcSVCSub(subOpcSVC.codRef).checked = true;
                        }

                        //binda o change
                        ctrlRefs.opcSVCSub(subOpcSVC.codRef).onclick = function() {
                            //on.clickSubOpcSVC(this.value);
                            on.clickSubOpcSVC(this);
                        }
                    }
                }
                //binda o change
                //                ctrlRefs.opcSVC(codOpcao).onclick = function(){
                //                    on.clickOpcSVC(this.value);
                //                }
            }
        },
        calcValor: function() {
            var valorTotal = 0;

            var vlrSvcs = 0;
            var vlrTrsp = 0;
            var vlrHosp = 0;
            //servicos
            var totIOpcsSVC = parseInt(jDS.getTotRegs("ItensOpcaoServicosPacote"));


            for (var io = 0; io < totIOpcsSVC; io++) {
                if (jDS.getDrValue("ItensOpcaoServicosPacote", io, "Selected") == 1) {
                    vlrSvcs += parseFloat(jDS.getDrValue("ItensOpcaoServicosPacote", io, "ValorADT") * parseInt(Portlet.getViagem().Paxes.totPaxes()));
                }
            }

            var utilizaAereo = false, utilizaRodo = false;

            if (_temAereo && _temRodoviario) {
                if ($('mta').checked) {
                    utilizaAereo = true;
                    utilizaRodo = false;
                }
                else {
                    utilizaRodo = true;
                    utilizaAereo = false;
                }
            }
            else {
                if (_temAereo) {
                    utilizaAereo = true;
                    utilizaRodo = false;
                };

                if (_temRodoviario) {
                    utilizaRodo = true;
                    utilizaAereo = false;
                };
            };

            // ------------ transporte aereo ----------------
            if (utilizaAereo) {
                var totTarifas = parseInt(jDS.getTotRegs("TarifasAereoPacote"));

                if (totTarifas > 0)
                    _temAereo = true;

                for (var io = 0; io < totTarifas; io++) {
                    if (jDS.getDrValue("TarifasAereoPacote", io, "Selected") == 1) {
                        vlrTrsp += parseFloat(jDS.getDrValue("TarifasAereoPacote", io, "ValorADT") * parseInt(Portlet.getViagem().Paxes.totPaxes()));
                    }
                }
            };

            // --------------- rodoviario ----------------------
            if (utilizaRodo) {
                var totOpcsRodo = parseInt(jDS.getTotRegs("OpcoesRodoviarioPacote"));

                if (totOpcsRodo > 0)
                    _temRodoviario = true;

                for (var i = 0; i < totOpcsRodo; i++) {
                    var codOpcao = jDS.getDrValue("OpcoesRodoviarioPacote", i, "CodOpcaoRodoviarioPacote");
                    if (jDS.getDrValue("OpcoesRodoviarioPacote", i, "Selected") == "true") {
                        vlrTrsp += parseFloat(jDS.getDrValue("OpcoesRodoviarioPacote", i, "Valor") * parseInt(Portlet.getViagem().Paxes.totPaxes()));
                    }
                }
            };

            //hospedagem
            var totHospedagem = 0;
            var totDiarias = parseInt(jDS.getDrValue("Pacotes", 0, "NumeroNoites"));
            var totOpcoes = jDS.getTotRegs("OpcoesHoteisPacote");
            var totItensOpcoes = jDS.getTotRegs("ItensOpcaoHoteisPacote");
            var totCategorias = jDS.getTotRegs("CategoriasOpcaoHoteisPacote");
            var markupAcoplado = (jDS.getDrValue("Pacotes", 0, "MarkupAcoplado") != "" ? parseFloat(jDS.getDrValue("Pacotes", 0, "MarkupAcoplado")) : 1);

            var vcodTarifarioHotel = 0;
            var vcodTipoAcomodacao = 0;
            var vcodTipoAlimentacao = 0;
            var vvalorPessoaHotel = 0;
            var vvalorDiariaHotel = 0;
            var vCodOpcaoHotelPacote = 0;
            var vCodOpcaoHotelDestinoPacote = 0;

            for (var ic = 0; ic < totOpcoes; ic++) {
                if (jDS.getDrValue("OpcoesHoteisPacote", ic, "Selected") == 1) {
                    vCodOpcaoHotelPacote = jDS.getDrValue("OpcoesHoteisPacote", ic, "CodOpcaoHotelPacote");

                    for (var it = 0; it < totItensOpcoes; it++) {
                        if (jDS.getDrValue("ItensOpcaoHoteisPacote", it, "CodOpcaoHotelPacote") == vCodOpcaoHotelPacote) {

                            vCodOpcaoHotelDestinoPacote = jDS.getDrValue("ItensOpcaoHoteisPacote", it, "CodOpcaoHotelDestinoPacote");

                            for (var io = 0; io < totCategorias; io++) {

                                //if ((jDS.getDrValue("CategoriasOpcaoHoteisPacote", io, "CodOpcaoHotelDestinoPacote") == vCodOpcaoHotelDestinoPacote) && jDS.getDrValue("CategoriasOpcaoHoteisPacote", io, "Selected") == 1) {
                                if ((jDS.getDrValue("CategoriasOpcaoHoteisPacote", io, "CodOpcaoHotelDestinoPacote") == vCodOpcaoHotelDestinoPacote)) {

                                    var codCat = ($("opcMHSub" + vCodOpcaoHotelDestinoPacote).options[$("opcMHSub" + vCodOpcaoHotelDestinoPacote).options.selectedIndex].value).split(',')[1];

                                    var indiceCat = 0;
                                    for (var cat = 0; cat < totCategorias; cat++) {
                                        if (jDS.getDrValue("CategoriasOpcaoHoteisPacote", cat, "CodItemOpcaoHotelDestinoPacote") == codCat) {
                                            indiceCat = cat;
                                            jDS.setDrValue("CategoriasOpcaoHoteisPacote", cat, "Selected", 1);
                                            break;
                                        }
                                    }

                                    vcodTarifarioHotel = jDS.getDrValue("CategoriasOpcaoHoteisPacote", indiceCat, "CodTarifarioHotel");
                                    vcodTipoAcomodacao = jDS.getDrValue("CategoriasOpcaoHoteisPacote", indiceCat, "CodTipoAcomodacao");
                                    vcodTipoAlimentacao = jDS.getDrValue("CategoriasOpcaoHoteisPacote", indiceCat, "CodTipoAlimentacao");
                                    //break;
                                    //totHospedagem += parseFloat( jDS.getDrValue("ItensOpcaoHoteisPacote",io,"MinDBL"));

                                    if (vcodTarifarioHotel > 0) {
                                        var totTarifas = jDS.getTotRegs("TarifasHotelPacote");
                                        for (var trf = 0; trf < totTarifas; trf++) {

                                            if ((jDS.getDrValue("TarifasHotelPacote", trf, "CodTarifarioHotel") == vcodTarifarioHotel) && (jDS.getDrValue("TarifasHotelPacote", trf, "CodTipoAcomodacao") == vcodTipoAcomodacao) && (jDS.getDrValue("TarifasHotelPacote", trf, "CodTipoAlimentacao") == vcodTipoAlimentacao)) {


                                                //achou a tarifa, valida capacidade
                                                switch (Portlet.getViagem().Paxes.totPaxes()) {
                                                    case 1:
                                                        vvalorDiariaHotel = (parseFloat(jDS.getDrValue("TarifasHotelPacote", trf, "SGL")) > 0 ? parseFloat(jDS.getDrValue("TarifasHotelPacote", trf, "SGL")) : parseFloat(jDS.getDrValue("TarifasHotelPacote", trf, "DBL")) * 2);
                                                        break;
                                                    case 2:
                                                        vvalorDiariaHotel = parseFloat(jDS.getDrValue("TarifasHotelPacote", trf, "DBL"));
                                                        break;
                                                    case 3:
                                                        vvalorDiariaHotel = (parseFloat(jDS.getDrValue("TarifasHotelPacote", trf, "TPL")) > 0 ? parseFloat(jDS.getDrValue("TarifasHotelPacote", trf, "TPL")) : parseFloat(jDS.getDrValue("TarifasHotelPacote", trf, "DBL")));
                                                        break;
                                                    case 4:
                                                        vvalorDiariaHotel = (parseFloat(jDS.getDrValue("TarifasHotelPacote", trf, "QDP")) > 0 ? parseFloat(jDS.getDrValue("TarifasHotelPacote", trf, "QDP")) : parseFloat(jDS.getDrValue("TarifasHotelPacote", trf, "DBL")));
                                                        break;
                                                    default:
                                                        vvalorDiariaHotel = 0;
                                                        break;
                                                }
                                                //se tem valor sai do loop
                                                if (vvalorDiariaHotel > 0) {
                                                    break;
                                                }

                                            }
                                        };

                                        if (vvalorDiariaHotel > 0) {
                                            var totalTaxaServico = parseFloat(jDS.getDrValue("TarifasHotelPacote", trf, "TAXASERVICO"));
                                            var totalTaxaOutras = parseFloat(jDS.getDrValue("TarifasHotelPacote", trf, "OUTRAS"));
                                            var totalTaxaISS = parseFloat(jDS.getDrValue("TarifasHotelPacote", trf, "ISS"));

                                            //totHospedagem += (((vvalorDiariaHotel * totDiarias) + (totalTaxaServico + totalTaxaOutras + totalTaxaISS)) * parseInt(Portlet.getViagem().Paxes.totPaxes()));
                                            //totHospedagem = (((vvalorDiariaHotel * totDiarias) + (totalTaxaServico + totalTaxaOutras + totalTaxaISS)) * parseInt(Portlet.getViagem().Paxes.totPaxes()));
                                            //totHospedagem = ((vvalorDiariaHotel * totDiarias) * parseInt(Portlet.getViagem().Paxes.totPaxes()));
                                            totHospedagem = ((vvalorDiariaHotel) * parseInt(Portlet.getViagem().Paxes.totPaxes()));
                                            //atualiza o campo temporario de valor
                                            jDS.setDrValue("CategoriasOpcaoHoteisPacote", io, "ValorTemporario", ((vvalorDiariaHotel * totDiarias) * parseInt(Portlet.getViagem().Paxes.totPaxes())));

                                        } else {
                                            jDS.setDrValue("CategoriasOpcaoHoteisPacote", io, "ValorTemporario", 0);
                                        };
                                    };
                                };
                            };
                        };
                    };
                };
            };

            vlrHosp = totHospedagem;
            //debugger;
            //total
            // valorTotal = (valorTotal * Portlet.getViagem().Paxes.totPaxes());
            valorTotal = vlrHosp + vlrTrsp + vlrSvcs;
            //valorTotal = (valorTotal / markupAcoplado);

            return valorTotal;

        },
        drawValor: function() {
            var totTarifas = jDS.getTotRegs("TarifasAereoPacote");
            var totIOpcs = jDS.getTotRegs("ItensOpcaoAereoPacote");

            //-- By Wagner e Grassi | Limpa todas as Default - 09/03/2010                
            if (_codAereoDefault != null) {
                for (var trf = 0; trf < totTarifas; trf++) {
                    jDS.setDrValue("TarifasAereoPacote", trf, "Selected", 0);
                };
                //-- Seta o default a clicada pelo usuario na troca do aereo
                jDS.setDrValue("TarifasAereoPacote", _codAereoDefault, "Selected", 1);
            };

            var valorTotal = 0;
            valorTotal = startEnv.calcValor();



            if (valorTotal > 0) {

                //-- Renderiza valor total
                ctrlRefs.valorTotal().innerHTML = "R$" + ' ' + (valorTotal.formatNumber(2)); //jDS.getDrValue("Pacotes",0,"SimboloMoeda") + ' ' + (valorTotal.formatNumber(2));                

                var utilizaAereo = false, utilizaRodo = false;

                if (_temAereo && _temRodoviario) {
                    if ($('mta').checked) {
                        utilizaAereo = true;
                        utilizaRodo = false;
                    }
                    else {
                        utilizaRodo = true;
                        utilizaAereo = false;
                    }
                }
                else {
                    if (_temAereo) {
                        utilizaAereo = true;
                        utilizaRodo = false;
                    };

                    if (_temRodoviario) {
                        utilizaRodo = true;
                        utilizaAereo = false;
                    };
                };

                //-- Se está usando o aéreo
                if (utilizaAereo) {
                    for (var trf = 0; trf < totTarifas; trf++) {

                        if (jDS.getDrValue("TarifasAereoPacote", trf, "Selected") == 1) {
                            for (var io = 0; io < totIOpcs; io++) {
                                if (jDS.getDrValue("TarifasAereoPacote", trf, "CodTrechoAereoPacote") == jDS.getDrValue("ItensOpcaoAereoPacote", io, "CodTrechoAereoPacote")) {
                                    ctrlRefs.locOrigem().innerHTML = jDS.getDrValue("ItensOpcaoAereoPacote", io, "NomeCidadeOrigem");
                                    if (jDS.getDrValue("ItensOpcaoAereoPacote", io, "NomeCidadeOrigem") != "")
                                        $("saindoDeDetalhes").style.display = "";

                                    Portlet.getViagem().codLocalidadeDe = jDS.getDrValue("ItensOpcaoAereoPacote", io, "CodCidadeOrigem"); //-- Add By Wagner e Grassi - 14/04/2010
                                    ctrlRefs.locDestino().innerHTML = jDS.getDrValue("ItensOpcaoAereoPacote", io, "NomeCidadeDestino");
                                };
                            };
                        };
                    };
                };

                //-- Se está usando o rodoviario
                if (utilizaRodo) {
                    var totRod = parseInt(jDS.getTotRegs("OpcoesRodoviarioPacote"));

                    for (var i = 0; i < totRod; i++) {
                        if (jDS.getDrValue("OpcoesRodoviarioPacote", i, "Selected") == "true") {
                            ctrlRefs.locOrigem().innerHTML = jDS.getDrValue("OpcoesRodoviarioPacote", i, "NomeCidadeOrigem");
                            if (jDS.getDrValue("OpcoesRodoviarioPacote", i, "NomeCidadeOrigem") != "")
                                $("saindoDeDetalhes").style.display = "";

                            Portlet.getViagem().codLocalidadeDe = jDS.getDrValue("OpcoesRodoviarioPacote", i, "CodCidadeOrigem");
                            ctrlRefs.locDestino().innerHTML = jDS.getDrValue("OpcoesRodoviarioPacote", i, "NomeCidadeDestino");
                        };
                    };
                };
            }
            else {
                ctrlRefs.valorTotal().innerHTML = "Configure sua viagem";
            };
        }
    };

    //tratativas de eventos da UI
    var on = {
        clickBla: function() { },
        filter: function() { },
        sort: function() { },
        clickAereoHotel: function(pValue) {
            if (pValue == "aereo") {
                $("tableOptAereo").style.display = "";
                $("tableOptRodoviario").style.display = "none";
            }
            else {
                $("tableOptAereo").style.display = "none";
                $("tableOptRodoviario").style.display = "";
            };
            startEnv.drawValor();
        },
        voltaLogin: function(res) {
            if (res) {
                on.clickConfirmar();
            }
            else {
                alert('área restrita, favor efetuar Login');
            };

        },
        clickBtnEtapa: function(pNumEtapa) {
            switch (pNumEtapa) {
                case 1:
                    Portlet.goTo.home();
                    break;
                case 2:
                    Portlet.goTo.pesquisa();
                    break;
                case 3:
                    Portlet.goTo.detalhes();
                    break;
                case 4:
                    Portlet.goTo.reserva();
                    break;
                default:
                    break;
            }
        },

        /*
        changeEmailContato: function(pvalor){
        jDS.setDrValue("PedidoVB",0,"emailContato",pvalor);
        //Portlet.getViagem().Paxes.getPax
        },
        changeFoneContato: function(pvalor){
        jDS.setDrValue("PedidoVB",0,"foneContato",pvalor);
        },
        */

        changeNomePax: function(pnumpax, pvalor) {
            jDS.setDrValue("PassageirosPedidoVB", pnumpax, "nome", pvalor);
            Portlet.getViagem().Paxes.getPax(pnumpax).nome = pvalor;
        },
        changeSnomePax: function(pnumpax, pvalor) {
            jDS.setDrValue("PassageirosPedidoVB", pnumpax, "sobrenome", pvalor);
            Portlet.getViagem().Paxes.getPax(pnumpax).sobreNome = pvalor;
        },
        changeIdadePax: function(pnumpax, pvalor) {
            jDS.setDrValue("PassageirosPedidoVB", pnumpax, "idade", pvalor);
            Portlet.getViagem().Paxes.getPax(pnumpax).setIdade(pvalor);
        },
        changeSexoPax: function(pnumpax, pvalor) {
            jDS.setDrValue("PassageirosPedidoVB", pnumpax, "sexo", pvalor);
            Portlet.getViagem().Paxes.getPax(pnumpax).sexoPax = pvalor;
        },
        changeTotPax: function(pnumpax) {
            //debugger;
            Portlet.getViagem().totPaxes = parseInt(pnumpax);
            Portlet.getViagem().Paxes.addPaxes(parseInt(pnumpax));
            var vCodPacoteVB = Portlet.getPedido().codPacote;
            var vTotPax = Portlet.getViagem().Paxes.totPaxes();
            var vDataSaida = Portlet.getViagem().dataInicio;
            _codPacoteVB = vCodPacoteVB;

            clPacotesVMMI.doDetalhes(vCodPacoteVB, parseInt(vTotPax), Date.parse(vDataSaida, "dd/MM/yyyy"), _codLocalidadeDe, doTarifadaCB);

        },
        btnAlterarPaxes: function() {
            ctrlRefs.btnAlterarPNL().className = "btnAlterarOn";
        },
        btnAlterarPaxesOK: function() {
            ctrlRefs.btnAlterarPNL().className = "btnAlterarOff";
        },
        clickDataEmbarque: function(pData) {
            Portlet.getViagem().dataEmbarque = pData;
            ctrlRefs.dataEmbarque().innerHTML = pData.toString('dd/MM/yyyy');
            //alert(pData);
        },
        clickAbaConf: function(pIDAba) {
            ctrlRefs.divConf('Detalhes').style.display = "none";
            ctrlRefs.divConf('MH').style.display = "none";
            ctrlRefs.divConf('MT').style.display = "none";
            ctrlRefs.divConf('SVC').style.display = "none";
            ctrlRefs.divConf('PAX').style.display = "none";

            ctrlRefs.selConf('Detalhes').className = "";
            ctrlRefs.selConf('MH').className = "";
            ctrlRefs.selConf('MT').className = "";
            ctrlRefs.selConf('SVC').className = "";
            ctrlRefs.selConf('PAX').className = "";
            //ctrlRefs.divConf('Roteiro').className = "";
            ctrlRefs.divConf(pIDAba).style.display = "";
            ctrlRefs.selConf(pIDAba).className = "ativo";
            //ctrlRefs.divConf().innerHTML = render.abaConteudo(pIDAba); // "<span>"+ pIDAba +"</span>";
        },
        clickAbaDetalhe: function(pIDAba) {
            ctrlRefs.abaDetalhe('Descricao').className = "";
            ctrlRefs.abaDetalhe('Inclui').className = "";
            ctrlRefs.abaDetalhe('NaoInclui').className = "";
            ctrlRefs.abaDetalhe('Condicoes').className = "";
            ctrlRefs.abaDetalhe('FormaPagto').className = "";
            ctrlRefs.abaDetalhe('Roteiro').className = "";
            ctrlRefs.abaDetalhe(pIDAba).className = "ativo";
            ctrlRefs.abaArea().innerHTML = render.abaConteudo(pIDAba); // "<span>"+ pIDAba +"</span>";
        },
        selOpc: function(pNumOpc) {
            //alert("selecionou" + pNumOpc);
            _codOPC_MHMT = pNumOpc;
            var tit = "";
            var vlrTotal = 0;
            switch (_codOPC_MHMT) {
                case 1:
                    tit = "Turistica - Apto Duplo (preço por pessoa)";
                    vlrTotal = vlrOpc1;
                    break;
                case 2:
                    tit = "Superior - Apto Duplo (preço por pessoa)";
                    vlrTotal = vlrOpc2;
                    break;
                case 3:
                    tit = "Luxo - Apto Duplo (preço por pessoa)";
                    vlrTotal = vlrOpc3;
                    break;
                default:
                    tit = "Turistica - Apto Duplo (preço por pessoa)";
                    vlrTotal = 0;
                    break;
            }
            ctrlRefs.qdrTopo().innerHTML = tit;
            //ctrlRefs.valorTotal().innerHTML = "R$" + vlrTotal.formatNumber(2,true);
            on.clickAbaDetalhe('Descricao');
            Portlet.getViagem().codOpcaoSel = _codOPC_MHMT;
        },
        clickOpcMT: function(pCodRef) {
            var tr = Portlet.getPedido().getTicketRef("MT", pCodRef);
            var vlr = $get('opcMT' + pCodRef);
            tr.selected = vlr;

        },
        clickOpcMTSub: function(pCodRef) {

            var splCods = pCodRef.split(',');
            var tr = Portlet.getPedido().getTicketRef("MT", splCods[0]);
            for (var i = 0; i < tr.subOptions.length; i++) {
                if (tr.subOptions[i].codRef == splCods[1]) {
                    //é o item selecionado, sete e pega suboptions
                    tr.subOptions[i].selected = true;
                    var combo = ctrlRefs.opcMTSubSub(splCods[0]);
                    combo.innerHTML = '';
                    combo.addOption('', 'selecione a tarifa desejada', '0');
                    for (var s = 0; s < tr.subOptions[i].subOptions.length; s++) {
                        //adiciona os itens no combo SubSub
                        combo.addOption('', tr.subOptions[i].subOptions[s].description, pCodRef + ',' + tr.subOptions[i].subOptions[s].codRef);
                    }
                } else {
                    //não é o item selecionado, desmarca selecao
                    tr.subOptions[i].selected = false;
                }
            }

        },
        clickOpcMTSubSub: function(pCodRef) {

            //            var splCods = pCodRef.split(',');
            //            var tr = Portlet.getPedido().getTicketRef("MT",splCods[0]);
            //            for(var i=0;i<tr.subOptions.length;i++){
            //                if(tr.subOptions[i].codRef == splCods[1]){
            //                    for(var s=0;s<tr.subOptions[i].subOptions.length;s++){
            //                        if(tr.subOptions[i].subOptions[s].codRef == splCods[2]){
            //                            tr.subOptions[i].subOptions[s].selected = true;
            //                        }else{
            //                            //não é o item selecionado, desmarca selecao
            //                            tr.subOptions[i].subOptions[s].selected = false;
            //                        }
            //                    }
            //                }
            //            }

            /**/


            var dtTemp = jDS.getDataTable('TarifasAereoPacote');
            //debugger;
            //pega o registro da opcao selecionada
            var splCods = pCodRef.split(',');
            var codReg = jDS.findRow("TarifasAereoPacote", "CodTarifaAereoPacote", splCods[2]);
            var codGrupo = dtTemp.rows[codReg].CodTrechoAereoPacote;
            var valor = dtTemp.rows[codReg].ValorADT;
            for (var i = 0; i < dtTemp.rows.length; i++) {
                var dr = dtTemp.rows[i];
                if (dr.CodTrechoAereoPacote == codGrupo) {
                    dr.Selected = 0;
                };

                //-- By Wagner e Grassi | Add linha abaixo para limpar valores de Aéreo - 09/03/2010                
                jDS.setDrValue("TarifasAereoPacote", i, "Selected", 0);

            };
            jDS.setDrValue("TarifasAereoPacote", jDS.findRow("TarifasAereoPacote", "CodTarifaAereoPacote", splCods[2]), "Selected", 1);
            _codAereoDefault = parseInt(jDS.findRow("TarifasAereoPacote", "CodTarifaAereoPacote", splCods[2]));
            startEnv.drawValor();


        },

        clickOpcRod: function(pCntRef) {
            var vCodRef = pCntRef.value;
            var vSelInd = pCntRef.checked;

            var dtTemp = jDS.getDataTable('OpcoesRodoviarioPacote');

            //pega o registro da opcao selecionada
            var codReg = jDS.findRow("OpcoesRodoviarioPacote", "CodOpcaoRodoviarioPacote", vCodRef);

            //exclusivo
            for (var i = 0; i < dtTemp.rows.length; i++) {
                var dr = dtTemp.rows[i];
                if (dr.CodOpcaoRodoviarioPacote == vCodRef) {
                    //mas deixa não selecionar nada
                    dr.Selected = vSelInd;
                } else {
                    ctrlRefs.opcRO(dr.CodOpcaoRodoviarioPacote.toString()).checked = false;
                    dr.Selected = false;
                }
            }

            //jDS.setDrValue("OpcoesRodoviarioPacote",codReg,"Selected",vSelInd);
            startEnv.drawValor();


        },
        clickOpcMH: function(pCodRef) {
            //debugger;
            var tr = Portlet.getPedido().getTicketRef("MH", pCodRef);
            var vlr = $get('opcMH' + pCodRef);
            if (vlr == true) {
                tr.selected = 1;
            } else {
                tr.selected = 0;
            }
            //alert('CodRef: ' + pCodRef + ', vlr: ' + vlr);
            var dtTemp = jDS.getDataTable('OpcoesHoteisPacote');
            for (var i = 0; i < dtTemp.rows.length; i++) {
                var dr = dtTemp.rows[i];
                if (dr.CodOpcaoHotelPacote == pCodRef) {
                    dr.Selected = 1;
                    var dtTemp1 = jDS.getDataTable('ItensOpcaoHoteisPacote');
                    for (var i1 = 0; i1 < dtTemp1.rows.length; i1++) {
                        var dr1 = dtTemp1.rows[i1];
                        if (dr1.CodOpcaoHotelPacote == pCodRef) {
                            dr1.Selected = 1;
                        } else {
                            dr1.Selected = 0;
                        }
                    };


                } else {
                    dr.Selected = 0;
                }
            };

            startEnv.drawValor();
        },
        clickOpcMHSub: function(pCodRef) {
            //debugger;
            //pega o codigo da SubOpcao de MH
            var splCods = pCodRef.split(',');
            var vCodSubOpc = parseInt(splCods[0]);
            var vCodSubSubOpc = parseInt(splCods[1]);

            //jDS.getDrValue("CategoriasOpcaoHoteisPacote",jDS.findRow("CategoriasOpcaoHoteisPacote","CodItemOpcaoHotelDestinoPacote", pCodRef),"CodOpcaoHotelDestinoPacote");

            var dtTemp = jDS.getDataTable('CategoriasOpcaoHoteisPacote');
            for (var i = 0; i < dtTemp.rows.length; i++) {
                var dr = dtTemp.rows[i];
                if (dr.CodOpcaoHotelDestinoPacote == vCodSubOpc) {
                    if (dr.CodItemOpcaoHotelDestinoPacote == vCodSubSubOpc) {
                        dr.Selected = 1;
                    } else {
                        dr.Selected = 0;
                    };
                };
            };

            startEnv.drawValor();

        },
        clickOpcSVC: function(pCodRef) {
            var tr = Portlet.getPedido().getTicketRef("SVC", pCodRef);
            var vlr = $get('opcSVC' + pCodRef);
            tr.selected = vlr;


            // debugger;

        },
        clickSubOpcSVC: function(pCodRef) {

            var vCodRef = pCodRef.value;
            var vSelInd = pCodRef.checked;
            var dtTemp = jDS.getDataTable('ItensOpcaoServicosPacote');
            //pega o registro da opcao selecionada
            var splCods = vCodRef.split(',');
            var codReg = jDS.findRow("ItensOpcaoServicosPacote", "CodServicoPacote", splCods[1]);
            var codGrupo = dtTemp.rows[codReg].CodGrupoServicoPacote;
            //            var valor = dtTemp.rows[codReg].ValorADT;
            //            for(var i=0;i<dtTemp.rows.length;i++){
            //                var dr = dtTemp.rows[i];
            //                if(dr.CodGrupoServicoPacote == codGrupo){
            //                    dr.Selected = false;
            //                }
            //            }
            if (vSelInd == true) {
                jDS.setDrValue("ItensOpcaoServicosPacote", jDS.findRow("ItensOpcaoServicosPacote", "CodServicoPacote", splCods[1]), "Selected", 1);
            } else {
                jDS.setDrValue("ItensOpcaoServicosPacote", jDS.findRow("ItensOpcaoServicosPacote", "CodServicoPacote", splCods[1]), "Selected", 0);
            }

            //var valorTot = valor * Portlet.getViagem().Paxes.totPaxes();

            //ctrlRefs.vlrSVC(codGrupo).innerHTML = valorTot.formatNumber(2);

            startEnv.drawValor();

        },
        clickConfirmar: function() {
            //valida se digitou nomes e idades dos passageiros
            var ttPax = Portlet.getViagem().Paxes.totPaxes();
            var erroVal = "";

            var maiorIdade = false;
            var dezesseisAnos = false;

            for (var i = 0; i < ttPax; i++) {

                var vnome = Portlet.getViagem().Paxes.getPax(i).nome;
                var vsobreNome = Portlet.getViagem().Paxes.getPax(i).sobreNome;
                var vidade = Portlet.getViagem().Paxes.getPax(i).getIdade();

                if (vnome == null || vnome == "" || vsobreNome == null || vsobreNome == "" || vidade == null || vidade == "" || vidade == 0) {
                    erroVal += "\nPassageiro " + (i + 1) + ". Favor verificar os dados preenchidos na Identificação";
                };

                //-- Validação Maioridade | Wagner Vieira 19/04/2010
                if (parseInt(vidade) >= 60)
                    maiorIdade = true;

                //-- Validação Menor 16 anos | Wagner Vieira 19/04/2010
                if (parseInt(vidade) < 16)
                    dezesseisAnos = true;
            };

            //-- Valida idade dos passageiros | Wagner Vieira - 19/04/2010
            if (!maiorIdade)
                erroVal += "\nNo mínimo um passageiro deverá ter 60 anos ou mais";

            //-- Valida idade do segundo passageiro | Wagner Vieira - 19/04/2010
            if (dezesseisAnos)
                erroVal += "\nA idade mínima do acompanhante é 16 anos";

            if (Portlet.getViagem().dataEmbarque == null) {
                erroVal += "\nFavor selecionar uma data de saída válida no calendário";
            }

            if (startEnv.calcValor() <= 0) {
                erroVal += "\nA sua viagem não foi configurada, favor analisar e selecionar as opções disponíveis nas abas Transporte, Hospedagem e Serviços para prosseguir com a Reserva.";
            } else {
                //tem valor mas valida se selecionou os insumos que estejam inclusos
                var ttHosp = jDS.getDrValue("Pacotes", 0, "Hospedagem");
                var ttTranspAereo = jDS.getDrValue("Pacotes", 0, "Aereo");
                var ttTranspRodoviario = jDS.getTotRegs("OpcoesRodoviarioPacote");
                var ttSvc = parseInt(jDS.getDrValue("Pacotes", 0, "Servico")) - parseInt(jDS.getDrValue("Pacotes", 0, "ServicoOpcional"));


                if (ttHosp > 0) {
                    var totSel = 0;
                    var dtTemp = jDS.getDataTable('OpcoesHoteisPacote');
                    for (var i = 0; i < dtTemp.rows.length; i++) {
                        var dr = dtTemp.rows[i];

                        if (dr.Selected == true) {

                            var dtTemp1 = jDS.getDataTable('ItensOpcaoHoteisPacote');
                            for (var i1 = 0; i1 < dtTemp1.rows.length; i1++) {
                                var dr1 = dtTemp1.rows[i1];
                                if (dr1.Selected == true) {
                                    var dtTemp2 = jDS.getDataTable('CategoriasOpcaoHoteisPacote');
                                    for (var i2 = 0; i2 < dtTemp2.rows.length; i2++) {
                                        var dr2 = dtTemp2.rows[i2];
                                        if (dr2.Selected == true) {
                                            totSel++;
                                        }
                                    };
                                }
                            };
                        }
                    };
                    if (totSel == 0) {
                        erroVal += "\nFavor analisar e selecionar as opções disponíveis nas abas Hospedagem para prosseguir com a Reserva.";
                    }

                }

                //-- Tem aereo e tem rodoviario
                if (_temAereo && _temRodoviario) {
                    //-- Se o aéreo for o radio checkado
                    if ($('mta').checked) {
                        if (ttTranspAereo > 0) {
                            var totSel = 0
                            var dtTemp = jDS.getDataTable('TarifasAereoPacote');
                            //valida se tem opcoes selecionada
                            for (var i = 0; i < dtTemp.rows.length; i++) {
                                var dr = dtTemp.rows[i];
                                if (dr.Selected == true) {
                                    totSel++;
                                }
                            }
                            if (totSel == 0) {
                                erroVal += "\nFavor analisar e selecionar as opções disponíveis nas abas Transporte para prosseguir com a Reserva.";
                            }
                        }
                    };
                }
                else if (_temAereo) {
                    //debugger;
                    var dtTemp = jDS.getDataTable('TarifasAereoPacote');
                    var codTarifaAereoPacote = 0;
                    //valida se tem opcoes selecionada
                    for (var i = 0; i < dtTemp.rows.length; i++) {
                        var dr = dtTemp.rows[i];
                        if (dr.Selected == true) {
                            totSel++;
                            codTarifaAereoPacote = dr.CodTarifaAereoPacote;
                        }
                    }
                    //debugger;
                    //-- Verifica se tem estoque 
                    if (Portlet.getViagem().dataEmbarque != null) {
                        var dataVolta = Portlet.getViagem().dataEmbarque;
                        var dataIda = dataVolta;
                        dataVolta = dataVolta.addDays(parseInt(jDS.getDrValue("Pacotes", 0, "NumeroNoites")));
                        var totPax = parseInt($get('selTotPax'));

                        for (var x = 0; x < arrayObjAereo.length; x++) {
                            if (arrayObjAereo[x].CodTarifaAereoPacote == codTarifaAereoPacote) {
                                if (arrayObjAereo[x].RT_OW)
                                    dataVolta = dataIda;
                            };
                        };

                        var resEstoque = clPacotesVMMI.verificarEstoqueTarifaAereoPacote(codTarifaAereoPacote, dataIda.toString("dd/MM/yyyy"), dataVolta.toString("dd/MM/yyyy"), totPax);
                        if (resEstoque.value == 0) {
                            alert("Desculpe-nos! Caro cliente, não há mais disponibilidade para esta data de saída.");
                            return;
                        };
                    };
                };

                //-- Serviços              
                if (ttSvc > 0) {
                    var totSel = 0
                    var dtTemp = jDS.getDataTable('ItensOpcaoServicosPacote');
                    //valida se tem opcoes selecionada
                    for (var i = 0; i < dtTemp.rows.length; i++) {
                        var dr = dtTemp.rows[i];
                        if (dr.Selected == true) {
                            totSel++;
                        }
                    }
                    if (totSel == 0) {
                        erroVal += "\nFavor analisar e selecionar as opções disponíveis nas abas Serviços para prosseguir com a Reserva.";
                    };
                };
            };

            if (erroVal != "") {
                alert("Atenção, corrija os seguintes itens antes de prosseguir:" + erroVal);
            }
            else {
                //debugger;
                //if (PubLogin.isLogado() == true) {
                //Cria xml do pedido
                var sbPed = new StringBuilder();
                sbPed.append("<pedido>");
                sbPed.append("<paxs>");
                for (var i = 0; i < ttPax; i++) {
                    var vnome = Portlet.getViagem().Paxes.getPax(i).nome;
                    var vsobreNome = Portlet.getViagem().Paxes.getPax(i).sobreNome;
                    var vidade = Portlet.getViagem().Paxes.getPax(i).getIdade();
                    var vsexo = Portlet.getViagem().Paxes.getPax(i).sexoPax; // "M"; //Portlet.getViagem().Paxes.getPax(i).sexo;
                    sbPed.appendFormat("<pax nome='{0}' snome='{1}' idade='{2}' sexo='{3}'/>", vnome, vsobreNome, vidade, vsexo);
                };

                sbPed.append("</paxs>");
                sbPed.append("<tickets>");

                var utilizarAereo = false,
                        utilizarRodo = false;

                if (_temAereo && _temRodoviario) {
                    if ($('mta').checked)
                        utilizarAereo = true;
                    else
                        utilizarRodo = true;
                }
                else {
                    if (_temAereo) {
                        utilizarAereo = true;
                    };

                    if (_temRodoviario) {
                        utilizarRodo = true;
                    };
                };

                //-------- AEREO -----------------
                if (utilizarAereo) {
                    //opcoes de transporte aéreo
                    var dtTemp = jDS.getDataTable('TarifasAereoPacote');
                    //pega o registro da opcao selecionada
                    for (var i = 0; i < dtTemp.rows.length; i++) {
                        var dr = dtTemp.rows[i];
                        if (dr.Selected == true) {
                            var vVlrBase = parseFloat(dr.ValorADT) * parseInt(Portlet.getViagem().Paxes.totPaxes());
                            var vQtdBase = Portlet.getViagem().Paxes.totPaxes();
                            var vCodMoeda = dr.CodMoeda;
                            sbPed.appendFormat("<ticket tipo='VOO' idRef='{0}' valorBase='{1}' qtdBase='{2}' codMoeda='{3}'>selecionou voo</ticket>", dr.CodTarifaAereoPacote, vVlrBase, vQtdBase, vCodMoeda);
                        }
                    }
                };

                if (utilizarRodo) {
                    //-------- RODOVIARIO ----------------
                    var dtTemp = jDS.getDataTable('OpcoesRodoviarioPacote');
                    for (var i = 0; i < dtTemp.rows.length; i++) {
                        var dr = dtTemp.rows[i];
                        if (dr.Selected == true) {
                            var vQtdBase = Portlet.getViagem().Paxes.totPaxes();
                            var vVlrBase = parseFloat(dr.Valor) * parseInt(vQtdBase);

                            var vCodMoeda = 0; //dr.CodMoeda;
                            sbPed.appendFormat("<ticket tipo='ROD' idRef='{0}' valorBase='{1}' qtdBase='{2}' codMoeda='{3}'>selecionou Rodoviario</ticket>",
                                dr.CodTarifaRodoviario,
                                vVlrBase,
                                vQtdBase,
                                vCodMoeda);
                        };
                    };
                };

                //opcoes de saervico
                var dtTemp = jDS.getDataTable('ItensOpcaoServicosPacote');
                //pega o registro da opcao selecionada
                for (var i = 0; i < dtTemp.rows.length; i++) {
                    var dr = dtTemp.rows[i];

                    if (dr.Selected == true) {
                        var vVlrBase = parseFloat(dr.ValorADT) * parseInt(Portlet.getViagem().Paxes.totPaxes());
                        var vQtdBase = Portlet.getViagem().Paxes.totPaxes();
                        var vCodMoeda = dr.CodMoeda;


                        sbPed.appendFormat("<ticket tipo='SVC' idRef='{0}' valorBase='{1}' qtdBase='{2}' codMoeda='{3}'>selecionou servico</ticket>", dr.CodServicoPacote, vVlrBase, vQtdBase, vCodMoeda);
                    };
                };


                //opcoes de hospedagem
                var dtTemp = jDS.getDataTable('OpcoesHoteisPacote');
                for (var i = 0; i < dtTemp.rows.length; i++) {
                    var dr = dtTemp.rows[i];

                    if (dr.Selected == true) {

                        var dtTemp1 = jDS.getDataTable('ItensOpcaoHoteisPacote');
                        for (var i1 = 0; i1 < dtTemp1.rows.length; i1++) {
                            var dr1 = dtTemp1.rows[i1];
                            if (dr1.Selected == true) {
                                var dtTemp2 = jDS.getDataTable('CategoriasOpcaoHoteisPacote');
                                for (var i2 = 0; i2 < dtTemp2.rows.length; i2++) {
                                    var dr2 = dtTemp2.rows[i2];
                                    if (dr2.Selected == true) {

                                        var vVlrBase = dr2.ValorTemporario; //parseFloat( dr1.MinDBL) * parseInt( Portlet.getViagem().Paxes.totPaxes());
                                        var vQtdBase = Portlet.getViagem().Paxes.totPaxes();
                                        var vCodMoeda = dr1.CodMoeda;
                                        sbPed.appendFormat("<ticket tipo='HSP' idRef='{0}' valorBase='{1}' qtdBase='{2}' codMoeda='{3}'>selecionou servico</ticket>", dr2.CodItemOpcaoHotelDestinoPacote, vVlrBase, vQtdBase, vCodMoeda);
                                    };
                                };
                            };
                        };
                    };
                };

                sbPed.append("</tickets>");
                sbPed.append("</pedido>");
                //Portlet.goTo.reserva();
                //debugger;
                var resu = clPacotesVMMI.getPedidoPacoteVMMI(Portlet.getPedido().codPacote, 0, 1, Portlet.getViagem().dataEmbarque, sbPed.toString());

                if (!resu.error) {
                    var ds = resu.value;
                    var dr = ds.tables.PedidosPacotes.rows[0].CodPedidoPacote;

                    Portlet.getPedido().codPedido = dr;

                    if (PubLogin.isLogado() == true) {
                        //valida se vai pra SSL
                        window.location = "pacotesVMMI.vxlpub?d=reserva&codPacote=" + Portlet.getPedido().codPacote + "&CodPedido=" + Portlet.getPedido().codPedido + "&CodRegiaoTuristica=" + Portlet.getViagem().codLocalidadeDe + "&CodCidade=" + Portlet.getViagem().codLocalidadePara + "&passageiros=" + Portlet.getViagem().totPaxes + "&dataSaida=" + Portlet.getViagem().dataEmbarque.toString('dd-MM-yyyy');
                    }
                    else {
                        PubLogin.loginNovo(Portlet.getPedido().codPedido, 2);
                        //var hashLogin = clDetalhesPedido.getUrlLoginPacote_VB(Portlet.getPedido().codPedido).value;
                        //openModalLogin(hashLogin, "");
                    };

                    //Portlet.goTo.reserva();
                }
                else {
                    alert('erro : ' + resu.error.message);
                };
                //              } 
                //              else 
                //              {
                //                    //PubLogin.doLogin(on.voltaLogin);
                //              };
                //debugger;
            };

            //            var vCodPacoteVB = _codPacoteVB;
            //            var vOpc_MHMT = _codOPC_MHMT;
            //            var vQtd_MHMT = 1;
            //            var vDataSaida = Date.now();
            //            var vcodUsuarioEmpresa = 1;
            //            var vPassageiros = "" ;
            //            var totPax = jDS.getTotRegs("PassageirosPedidoVB");
            //            var sbPax = new StringBuilder();
            //            sbPax.append("<passageiros>");
            //            for(var i = 0; i<totPax; i++)
            //            {
            //                sbPax.appendFormat("<passageiro nome='{0}' sobrenome='{1}' idade='{2}' sexo='{3}' />",jDS.getDrValue("PassageirosPedidoVB",i,"nome"),jDS.getDrValue("PassageirosPedidoVB",i,"sobrenome"),jDS.getDrValue("PassageirosPedidoVB",i,"idade"),jDS.getDrValue("PassageirosPedidoVB",i,"sexo"));
            //            }
            //            sbPax.append( "</passageiros>");
            //            vPassageiros = sbPax.toString();
            //            var vemailContato = jDS.getDrValue("PedidoVB",0,"emailContato");
            //            var vfoneContato = jDS.getDrValue("PedidoVB",0,"foneContato");
            //            //pega total de pax
            //            //pega data de saida
            //            var resPED = clPacotesVB.doPedido(vCodPacoteVB, vOpc_MHMT, vQtd_MHMT, vDataSaida, vcodUsuarioEmpresa, vPassageiros, vemailContato, vfoneContato);
            //            
            //            if(resPED.error==null)
            //            {
            //                var vcodPedidoVB = resPED.value.tables["Table"].rows[0]["codPedidoVB"];
            //                
            //                window.location = 'Conclusao.aspx?codPedidoVB=' + vcodPedidoVB;
            //            }
            //            else
            //            {
            //                alert(resPED.error.message);
            //            }            

        },
        clickSaibaMais: function(pCodLocalidade) {
            Portlet.goTo.destinos(pCodLocalidade, "detalhes");
        }
    };

    this.continuarLogin = function() {
        on.clickConfirmar();
    };

    //    var openModalLogin = function(theURL, winName) 
    //    {
    //        window.showModalDialog(theURL, winName, "dialogwidth: 820px; dialogheight: 500px; resizable: no");
    //        
    //        if (clDetalhesPedido.verificarStatusLogin(Portlet.getPedido().codPedido, "P").value > 0)
    //        {
    //            on.clickConfirmar();
    //        };
    //    };

    var CB = {
        Pesquisa: function(res) {
            if (res.error == null) {
                jDS = new jDataset(res.value);
            };
        }
    };

    var doDetalhesCB = function(res) {
        if (res.error == null) {
            jDS = new jDataset(res.value);
            var totInsumosPacote = jDS.getTotRegs("InsumoPacote");
            var temp;
            HT_Tkts = new Hashtable();

            for (var i = 0; i < totInsumosPacote; i++) {
                var codPacote = jDS.getDrValue("InsumoPacote", i, "codPacote");
                var codInsuPacote = jDS.getDrValue("InsumoPacote", i, "codInsumoPacote");
                //$server.doTktTeste(Portlet.getPedido().codPacote,codInsuPacote, doPesquisaTKTCB);

                temp = $server.doTktTeste(Portlet.getPedido().codPacote, codInsuPacote);
                if (temp.error == null) {
                    HT_Tkts.add(codInsuPacote, new jDataset(temp.value));
                }
                else {
                    alert(res.error.message);
                };

            };

            //render.resultTicketsVoo();//------ teste

            startEnv.detalhes();
            startEnv.resultPane();
            startEnv.abasInsumo();
            startEnv.calendar();

        }
        else {
            alert('erro ao obter detalhes');
        };


    };

    //-- NÃO ESTÁ SENDO UTILIZADO
    var doPesquisaTKTCB = function(res) {
        if (res.error == null) {
            jDS_Tkts = new jDataset(res.value);
            //totInsumosPacote = jDS.getTotRegs("InsumoPacote");
            //startEnv.detalhes();
            //startEnv.resultPane();
            alert("tickets");
        }
        else {
            alert('bixou');
        };


    };

    //metodos publicos
    this.exec = {
        Detalhes: function() {
            //clPesquisa.doDetalhes(Portlet.getPedido().codPacote,doDetalhesCB);
            //$server.doDetTeste(Portlet.getPedido().codPacote,doDetalhesCB);
            var vCodPacoteVB = Portlet.getPedido().codPacote;
            var vTotPax = Portlet.getViagem().totPaxes;
            var vDataSaida = Portlet.getViagem().dataInicio;
            _codPacoteVB = vCodPacoteVB;
            Portlet.getViagem().dataEmbarque = null;
            _codLocalidadeDe = Portlet.getViagem().codLocalidadeDe;

            clPacotesVMMI.doDetalhes(vCodPacoteVB, parseInt(vTotPax), Date.parse(vDataSaida, "dd/MM/yyyy"), _codLocalidadeDe, doTarifadaCB);


        },
        TicketsPesquisa: function() {
            clPesquisa.doPesquisaTickets(Portlet.getPedido().codPacote, doPesquisaTKTCB);
        }
    };


    var doTarifadaCB = function(res) {
        if (res.error == null) {
            jDS = new jDataset(res.value);
            totInsumosPacote = jDS.getTotRegs("Pacotes");
            startEnv.detalhes();
            //startEnv.resultPane();

        }
        else {
            alert('Erro ao executar Tarifada.');
        };


    };


    //construtor
    this.constructor = new function() {

        tmpCNT = new Template('pctsVMMI').CNT;
        tmpUI = new Template('pctsVMMI').UI;
        //_motorViagem = new jMotorViagem();
        startEnv.main();
        //startEnv.pesquisa();

    };

};
