﻿var Portlet;



function jPortlet(DirTemplate)
{

    var This = this;
    
    //variaveis privativas 
    var jDS;
    var jRP;
    var tmpCNT;
    var tmpUI;
    
    var scope;
    
    var _viagem;
    var _pedido;
    
    var _home;
    var _motor;
    var _pesquisa;
    var _detalhes;
    var _tarifada;
    var _reserva;
    var _confirmacao;
    var _destinos;
    var _inst;
    
    //membros publicos
    var _tamFonte = 12;
    
    
    //metodos privativos

    //HTML render(pNomeTemplate)
    var render = {
        main: function(){
            //tmpUI.SITE.SITE_topo = tmpUI.SITE_topo.getHtml();
            //tmpUI.SITE_centro.centroTopo = tmpUI.SITE_centroTopo.getHtml();
            //tmpUI.SITE_centro.centroConteudo = "";
            //tmpUI.SITE_centro.centroRodape = tmpUI.SITE_centroRodape.getHtml();
            //tmpUI.SITE.SITE_centro = tmpUI.SITE_centro.getHtml();
            //tmpUI.SITE.SITE_publicidadeLateral = tmpUI.SITE_publicidadeLateral.getHtml();
            //tmpUI.SITE.SITE_rodape = tmpUI.SITE_rodape.getHtml();
            //document.body.innerHTML = t.SITE.getHtml();
            //tmpUI.SITE.idArea = pIdArea;
            
            return tmpUI.cascaVB.getHtml();

            //return '<div id="siteConteudo"></div>'; //tmpUI.SITE.getHtml();
        },
        jumpTo: function(){
            var strRet = "<select id='selGoto'><option>selecione</option><option value='1'>motor</option><option value='2'>pesquisa</option><option value='3'>detalhes</option><option value='4'>tarifada</option><option value='5'>reserva</option><option value='6'>confirmacao</option></select><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>";
            return strRet;
        },
        homeVMMI: function(){
            //var strRet = "<select id='selGoto'><option>selecione</option><option value='1'>motor</option><option value='2'>pesquisa</option><option value='3'>detalhes</option><option value='4'>tarifada</option><option value='5'>reserva</option><option value='6'>confirmacao</option></select><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/>";
            return tmpCNT.HomeVMMI.CNT_HomeVMMI.getHtml();
        }
    };
    
    //DOM node ctrlRefs
    var ctrlRefs = {
        siteConteudo: function(){return $('siteCentro');},
        conteudoQuadroArea: function(){return $('cntQdrAreaPesquisa');},
        selectGoto: function(){return $('selGoto');},
        logo: function(){return $('logo');}
    };
    
    //tratativas de eventos da UI
    var on = {
        clickGoTo: function(pNumGoto){
            //alert(pNumGoto);
            switch(pNumGoto)
            {
                case "1":
                    This.goTo.motor();
                    break;
                case "2":
                    This.goTo.pesquisa();
                    break;
                case "3":
                    This.goTo.detalhes();
                    break;
                case "4":
                    This.goTo.tarifada();
                    break;
                case "5":

                    break;
                case "6":
                    This.goTo.confirmacao();
                    break;
                default:
                    This.goTo.pesquisa();
                    break;
            };
        
        },
        clickLogo: function(){Portlet.goTo.home();},
        sort: function(){}
    };
    

    

    //metodos publicos
    this.goTo = {
        main: function(){
            //document.body.id="paginaHome";
//            document.body.innerHTML = render.main("paginaHome");
//            startEnv.logo();
//            ctrlRefs.siteConteudo().innerHTML = render.jumpTo();
            startEnv.main();
            

        },
        home: function(){
//            //document.body.id="paginaHome";
//            document.body.innerHTML = render.main("paginaHome");
//            startEnv.logo();
//            if(_home==null){_home = new jHomeVMMI();}
//            _home.exec.main();
            window.location = "homeVMMINew.vxlpub";
            
        },
        motor: function()
        {
            if(_motor==null){_motor = new jMotorNew();};
            _motor.exec.Motor();
        },
        pesquisa: function(){
            //document.body.id="paginaInt";
            //document.body.innerHTML = render.main("paginaInt");
            //startEnv.logo();
            if(_pesquisa==null){_pesquisa = new jPesquisa();};
            _pesquisa.exec.Pesquisa();
        },
        pesquisaHospedagem: function(){
            if(_pesquisa==null){_pesquisa = new jPesquisa();};
            _pesquisa.exec.PesquisaHospedagem();
        },
        detalhes: function(){
            //document.body.id="paginaInt";
            
            //document.body.innerHTML = render.main("paginaInt");
            //startEnv.logo();
            if(_detalhes==null){_detalhes = new jDetalhes();};
            _detalhes.exec.Detalhes();
        
        },
        tarifada: function(){
            //document.body.id="paginaInt";
            //document.body.innerHTML = render.main("paginaInt");
            //startEnv.logo();
            if(_tarifada==null){_tarifada = new jTarifada();};
            //_tarifada;
        
        },
        reserva: function(){
            //document.body.id="paginaInt";
            //document.body.innerHTML = render.main("paginaInt");
            //startEnv.logo();
            if(_reserva==null){_reserva = new jReserva();};
            _reserva.exec.Reserva();

            
            
        
        },
        confirmacao: function(){
            //document.body.id="paginaInt";
            //document.body.innerHTML = render.main("paginaInt");
            //startEnv.logo();
            if(_confirmacao==null){_confirmacao = new jConfirmacao();};
            _confirmacao.exec.novaConfirmacao();// Confirmacao();
        
        },
        destinos: function(pCodLocalidade,pLocalRetorno){
            //document.body.id="paginaInt";
            window.location = "destinoVMMI.vxlpub?codLocalidade="+pCodLocalidade;
            //document.body.innerHTML = render.main("paginaInt");
            //startEnv.logo();
            //if(_destinos==null){_destinos = new jDestinos();};
            //_destinos.exec.Destino(pCodLocalidade,pLocalRetorno);
        
        },
        instTermos: function(){
            //document.body.id="paginaInt";
            document.body.innerHTML = render.main("paginaInt");
            startEnv.logo();
            if(_inst==null){_inst = new jInstitucional();};
            _inst.exec.Termos();
        
        },
        instPol: function(){
            //document.body.id="paginaInt";
            document.body.innerHTML = render.main("paginaInt");
            startEnv.logo();
            if(_inst==null){_inst = new jInstitucional();};
            _inst.exec.Politicas();
        
        }        
    };



    this.exec = {
        Pesquisa: function() {
            $server.getPacotes(CB.Pesquisa);
        },
        AumentaFonte: function() {
            if (_tamFonte < 14) {
                _tamFonte++;
            }
            //document.body.style.fontSize = _tamFonte + "px";
            $('descricaoLoc').style.fontSize = _tamFonte + "px";
        },
        DiminuiFonte: function() {
            if (_tamFonte > 12) {
                _tamFonte--;
            }
            //document.body.style.fontSize = _tamFonte + "px";
            $('descricaoLoc').style.fontSize = _tamFonte + "px";
        },
        getQueryString: function(key) {
            return QueryString(key);
        }

    };
    
        //void startEbv()
    var startEnv = {
        main: function(){
            
            ctrlRefs.siteConteudo().innerHTML = render.main();
//            startEnv.logo();
            startEnv.queryString();
            
        
        },
        jumpTo: function(){
            ctrlRefs.selectGoto().onchange = function(){on.clickGoTo(this.value); };
        
        },
        logo: function(){
            //ctrlRefs.logo().onclick = function(){on.clickLogo();};
        },
        queryString: function(){
            var qsDest = QueryString("d");
            var qsOrigem = QueryString("CodRegiaoTuristica");
            var qsDestino = QueryString("CodCidade");
            var qsTotPax = QueryString("passageiros");
            var qsCodPacote = QueryString("codPacote");
            var qsDataSaida = QueryString("dataSaida");
            var qsCodPedido = QueryString("CodPedido");
            
            //-- Somente hospedagem
            var qsDestHospedagem = QueryString("dHosp");
            if (qsDestHospedagem != null)
            {
                qsDest = qsDestHospedagem;                
            };
            
            if(qsOrigem!=null){
                _viagem.codLocalidadeDe =  parseInt(qsOrigem);
            };
            if(qsDestino!=null){
                _viagem.codLocalidadePara =  parseInt(qsDestino);
            };
            if(qsTotPax!=null)
            {
                _viagem.totPaxes = qsTotPax;
                _viagem.Paxes.addPaxes(qsTotPax);
            };
            if(qsCodPacote!=null){
                _pedido.codPacote = qsCodPacote;
            };
            
            if(qsCodPedido!=null){
                _pedido.codPedido = qsCodPedido;
            };
            
            if(qsDataSaida!=null){
                _viagem.dataEmbarque = Date.parse(qsDataSaida,'dd-MM-yyyy');
            };
            
            if (qsDest != null) 
            {
                switch (qsDest) {
                    case "pesquisa":
                        This.goTo.pesquisa();
                        break;
                    case "detalhes":
                        This.goTo.detalhes();
                        break;
                    case "tarifada":
                        
                        break;
                    case "reserva":                        
                        This.goTo.reserva();
                        break;
                    case "pesquisaHospedagem":
                        This.goTo.pesquisaHospedagem();
                        break;
                }
            }            
        }        
    };
    
    
    var QueryString = function(key) {
	    var qs = window.location.search.substring(1);
	    return QueryString_SetQS(qs, key);
	};


    var QueryString_SetQS = function(qs, key) {
        var value = null;
        
        var elements = qs.split("&");
        for (var i = 0; i < elements.length; i++) 
        {
            var element = elements[i].split("=");
            if (element[0].toLowerCase() == key.toLowerCase()) 
            {
                value = element[1];
            };
        };
        return value;
    };	
    
    this.doPesquisaCB = function(res){
        if (res.error == null) {
            jDS = new jDataSet(res.value);
        };
    
    };
    
    this.getViagem = function(){
        return _viagem;
    };
    
    this.getPedido = function(){
        if(_pedido==null){_pedido = new jPedido();};
        return _pedido;
    };
    
    this.changeCoefParcelamento = function(pCod, pValue)
    {
        if(_reserva==null){_reserva = new jReserva();};
        _reserva.changeCoefParcelamento(pCod, pValue);
    };

    this.getReserva = function() {
        return _reserva;
    };
    
    this.getDetalhes = function() {
        return _detalhes;
    };
    
    //construtor
    this.constructor = new function()
    {
        tmpUI = new Template('pctsVMMI').UI;
        tmpCNT = new Template('pctsVMMI').CNT;
        scope = 'main';
        _viagem = new jViagem();
        _pedido = new jPedido();
        //valores default da viagem
        _viagem.totPaxes = 2;
        _viagem.Paxes.addPaxes(2);
        _viagem.qtdDias = 5;
        _viagem.codLocalidadeDe = 5;
        _viagem.codLocalidadePara = 17;
        _viagem.dataInicio = Date.now().addDays(30);
        
        
        //startEnv.main();
        
        
    };




};


function abreQdr(x,size){
    x.parentNode.getElementsByTagName('div')[0].style.display = 'block';
    if (size){
        x.parentNode.getElementsByTagName('div')[0].style.width = size+'px';
        x.parentNode.getElementsByTagName('div')[0].style.marginLeft = '-'+(size/2)+'px';
    }
    abreSombra();
};

function fechaQdr(x){
    if (x.parentNode.tagName.toUpperCase() == "DIV")
        x.parentNode.style.display = 'none';
     else 
        x.parentNode.parentNode.style.display = "none";
    fechaSombra();
};

 function abreSombra(){
    document.getElementById('siteSombra').style.width = document.body.offsetWidth + 'px';
    document.getElementById('siteSombra').style.height = document.body.offsetHeight + 'px';
    document.getElementById('siteSombra').style.display = 'block';
};

function fechaSombra(){
    //document.getElementById('siteSombra').style.display = 'none';
};

function fechaAba(x){
    x.parentNode.style.display = 'none';
};

function abreAjuda(x){
    //x.parentNode.getElementsByTagName('div')[0].style.display = 'block';
    if(x.parentNode.getElementsByTagName('div')[0])
        x.parentNode.getElementsByTagName('div')[0].style.display = 'block';
    else x.parentNode.parentNode.getElementsByTagName('div')[0].style.display = 'block';
    //x.parentNode.getElementsByTagName('div')[0].style.width = size+'px';
}
