// JavaScript Document $(document).ready(function(){ simulador.individual.ready(); simulador.familiar.ready(); simulador.ready(); }); var Simulador = function() { SimuladorIndividual = function() { var that = {}; that.idade = ""; that.cobertura = ""; that.acomodacao = ""; that.plano = ""; that.dental = ""; that.opcionais = ""; that.container = "li#aba-1"; that.url_simulador = url_simulador_individual; that.name = 'individual'; that.ready = function(context){ if(!context) context = that context.container = $(context.container); $('select', context.container).attr('disabled', true); $('select.idade', context.container).attr('disabled', false); $('select.idade', context.container).change(context.setIdade); $('select.cobertura', context.container).change(context.setCobertura); $('select.acomodacao', context.container).change(context.setAcomodacao); $('select.plano', context.container).change(context.setPlano); $('select.dental', context.container).change(context.setDental); $('select.opcionais', context.container).change(context.setOpcionais); $(".download", context.container).click(function () { $(".form_to_pdf", context.container).submit(); }); }; that.setIdade = function(){ simulador.setValueAndShowNext(simulador[that.name], this, 'idade', 'cobertura'); }; that.setCobertura = function(){ if(simulador.setValueAndShowNext(simulador[that.name], this, 'cobertura', 'acomodacao')) simulador.show_acomodacao(simulador[that.name]); }; that.setAcomodacao = function(){ if(simulador.setValueAndShowNext(simulador[that.name], this, 'acomodacao', 'plano')) simulador.show_hospitais(simulador[that.name]); $('.resultado', simulador[that.name].container).hide(); }; that.setPlano = function(){ simulador.setValueAndShowNext(simulador[that.name], this, 'plano', 'dental'); $('.resultado .valores', simulador[that.name].container).hide(); if (simulador[that.name].plano != "") { $.each(dados_planos, function() { if (this['rede_comercial'] == simulador[that.name].plano) { $('.resultado .plano .tipo', simulador[that.name].container).attr('class', 'tipo '+this['plano']).show(); $('.resultado .plano .nome', simulador[that.name].container).text(this['plano_desc']); $('.resultado', simulador[that.name].container).show(); } }); } else { $('.resultado', simulador[that.name].container).hide(); } }; that.setDental = function(){ simulador.setValueAndShowNext(simulador[that.name], this, 'dental', 'opcionais'); }; that.setOpcionais = function(){ if(simulador.setValueAndShowNext(simulador[that.name], this, 'opcionais', null)) simulador.simular(simulador[that.name]); }; that.getData = function(){ return { idade: that.idade, plano: that.plano, dental: that.dental, opcionais: that.opcionais }; } return that; }; SimuladorFamiliar = function() { var that = new SimuladorIndividual(); that.dependentes = []; that.container = "li#aba-2"; that.url_simulador = url_simulador_familiar; that.name = 'familiar'; that.ready = function(){ simulador.individual.ready(that); $('.dependentes select', that.container).attr('disabled', false).change(that.setDependente); $('.add-dependentes', that.container).click(that.addDependente); }; that.setDependente = function(){ that.dependentes = []; $('.dependentes > div', that.container).each(function(){ var tipo = $(".tipo_dependente", this).val(), idade = $(".idade_dependente", this).val(); if(tipo && idade) that.dependentes.push(tipo+"_"+idade); }); $('.form_to_pdf input[name="dependentes"]', that.container).val(that.dependentes.join(',')); simulador.simular(simulador[that.name]); }; that.addDependente = function(){ var clone = $('.dependentes > div:first-of-type', that.container).clone(true); $('.dependentes', that.container).append(clone); }; that.getData = function(){ return { idade: that.idade, plano: that.plano, dental: that.dental, opcionais: that.opcionais, dependentes: that.dependentes.join(',') }; } return that; }; this.ready = function(){ $('#formenviar form').submit(this.validadeFormAmigo); $.get('/fale-conosco/corretor/pop/', {}, function(r){ $("#formcorretor").append(r); $('#formcorretor form').submit(simulador.validadeFormCorretor); $('#formcorretor #id_telefone').setMask('phone'); }, 'html'); }; this.simular = function(context){ // Atualizar plano if (context.idade != "" && context.plano != "" && context.dental != "" && context.opcionais != "") { var data = context.getData(); $.post(context.url_simulador, data, function(valores) { // Valor mensal $('.resultado .valor .primeira_parcela', context.container).text(valores['primeira_parcela']); $('.resultado .valor .segunda_parcela', context.container).text(valores['segunda_parcela']); $('.resultado .valor .taxa_adesao', context.container).text(valores['implantacao']); $('.resultado', context.container).show(); $('.resultado .valores', context.container).show(); }, 'json'); } else { $('#valores_simulacao').hide(); } }; this.setValueAndShowNext = function(context, el, cur, next){ context[cur] = ""; if($(el).val()){ context[cur] = $(el).val(); if($('.form_to_pdf input[name="'+cur+'"]', context.container).length > 0) $('.form_to_pdf input[name="'+cur+'"]', context.container).val(context[cur]); if(next) $('select.'+next, context.container).attr('disabled', false); return true; } else { if(next) $('select.'+next, context.container).val('').attr('disabled', true).change(); return false; } }; /* ACOMODACÃO */ this.show_acomodacao = function(context) { $('.acomodacao', context.container).empty().append($('