﻿/// <reference path="~/js/Geral/Tesla.Library.js" />

function ExibirCobertura(idPlano)
{
    Ajax.AssistenciaMedica.ListarCoberturas(idPlano, End_ExibirCobertura);
}

function End_ExibirCobertura(dados)
{
    page.rptCoberturas.DataBind(dados);
}

function ExibirTextoCobertura(texto)
{
    //$Get('rptCoberturas').innerHTML = texto;
}

function ExibirResposta(questao, idQuestao, indice)
{
    $Get('ulResposta').className = 'resposta_on';
    $Get('AbaFAQ_TituloQuestao').innerHTML = (idQuestao + 1) + ' - ' + questao;
    $Get('AbaFAQ_RespostaQuestao').innerHTML = RespostasFAQ[idQuestao];
    $Get('ulResposta').style.margin = indice * 22 + 'px 10px 0 0';
}

function ExibirBeneficio(questao, idBeneficio, ordenacao)
{
    $Get('ulBeneficio').className = 'resposta_on';
    $Get('AbaBeneficio_Titulo').innerHTML = questao;
    $Get('AbaBeneficio_RespostaQuestao').innerHTML = PlanosBeneficios[idBeneficio];
    $Get('ulBeneficio').style.margin = ordenacao * 22 + 'px 10px 0 0';
}

function CalcularOrcamento(solicitacaoCertificado)
{
    App.EscondeTela();
    var plano;
    var inicioCobertura = $Get('txtPeriodoCoberturaInicial').value;
    var fimCobertura = $Get('txtPeriodoCoberturaFinal').value;
    var inicioCoberturaPlus = $Get('txtPeriodoCoberturaPlusInicial').value;
    var fimCoberturaPlus = $Get('txtPeriodoCoberturaPlusFinal').value;
    var isisPlus = $Get('chkIsisPlus').checked;
    var dataNascimento = $Get('txtDataNascimento').value;

    var planos = document.getElementsByName('plano');
    for (var i = 0; i < planos.length; i++)
    {
        if (planos[i].checked)
        {
            plano = planos[i].value;
            semPlano = false;
            break;
        }
        else
        {
            semPlano = true;
        }
    }
    if(semPlano == true)
    {    
        alert('Selecione um Plano para calcular o orçamento.');
        App.ExibeTela();
        return;
    }

    else if (inicioCobertura == '')
    {
        alert('Digite a Data Inicial de Cobertura para calcular o orçamento.');
        App.ExibeTela();
        return;
    }
    else if (!Validator.IsDate(inicioCobertura))
    {
        alert('A Data Inicial informada não é válida, informe uma data válida no formato "Dia/Mês/Ano."');
        App.ExibeTela();
        return;
    }

    else if (fimCobertura == '')
    {
        alert('Digite a Data Final de Cobertura para calcular o orçamento.');
        App.ExibeTela();
        return;
    }
    else if (!Validator.IsDate(fimCobertura))
    {
        alert('A Data Final informada não é válida, informe uma data válida no formato "Dia/Mês/Ano."');
        App.ExibeTela();
        return;
    }

    else if (new Date(Validator.IsDate(inicioCobertura)) >= new Date(Validator.IsDate(fimCobertura)))
    {
        alert('A Data Inicial precisa ser menor que a Data Final');
        App.ExibeTela();
        return;
    }

    else if (isisPlus)
    {
        if (inicioCoberturaPlus == '')
        {
            alert('Digite a Data Inicial da Cobertura Plus para calcular o orçamento.');
            App.ExibeTela();
            return;
        }
        else if (!Validator.IsDate(inicioCoberturaPlus))
        {
            alert('A Data Inicial da Cobertura Plus informada não é válida, informe uma data válida no formato "Dia/Mês/Ano."');
            App.ExibeTela();
            return;
        }
        else if (fimCoberturaPlus == '')
        {
            alert('Digite a Data Final da Cobertura Plus para calcular o orçamento.');
            App.ExibeTela();
            return;
        }
        else if (!Validator.IsDate(fimCoberturaPlus))
        {
            alert('A Data Final da Cobertura Plus informada não é válida, informe uma data válida no formato "Dia/Mês/Ano."');
            App.ExibeTela();
            return;
        }
        
        else if ((new Date(Validator.IsDate(inicioCobertura)) > new Date(Validator.IsDate(inicioCoberturaPlus))))
        {
            alert('A Data Inicial precisa ser menor ou igual a Data Inicial da cobertura Plus');
            App.ExibeTela();
            return;
        }
        else if ((new Date(Validator.IsDate(fimCoberturaPlus)) > new Date(Validator.IsDate(fimCobertura))))
        {
            alert('A Data Final precisa ser maior ou igual que a Data Final da cobertura Plus');
            App.ExibeTela();
            return;
        }
        else if ((new Date(Validator.IsDate(inicioCoberturaPlus)) >= new Date(Validator.IsDate(fimCoberturaPlus))))
        {
            alert('A Data Inicial da Cobertura Plus deve ser menor que a Data Final da Cobertura Plus.');
            App.ExibeTela();
            return;
        }
    }

    if (dataNascimento == '')
    {
        alert('Digite sua Data de Nascimento para calcular o orçamento.');
        App.ExibeTela();
    }
    else if (!Validator.IsDate(dataNascimento))
    {
        alert('A Data de Nascimento informada não é válida, informe uma data válida no formato "Dia/Mês/Ano."');
        App.ExibeTela();
    }

    else
    {
        if (!isisPlus)
        {
            inicioCoberturaPlus = "";
            fimCoberturaPlus = "";
        }

        var callback = (!solicitacaoCertificado) ? End_CalcularOrcamento : SolicitarCertificado;
        Ajax.AssistenciaMedica.CalcularOrcamento(plano, inicioCobertura, fimCobertura, inicioCoberturaPlus, fimCoberturaPlus, dataNascimento, callback);
    }
}

function End_CalcularOrcamento(dados)
{
    if ($Get('chkIsisPlus').checked)
    {
        $Get('spanDescricaoPacotePlus').style.visibility = 'visible';
        $Get('spanValorPacotePlus').style.visibility = 'visible';
    }
    if (dados.DescricaoPacote != null && dados.DescricaoPacote != undefined)
        $Get('spanDescricaoPacote').innerHTML = '&nbsp;' + dados.DescricaoPacote;
    $Get('spanValorPacote').innerHTML = '&nbsp;US$ ' + dados.ValorPacote.toFixed(2).replace('.', ',');
    $Get('spanDescricaoPacotePlus').innerHTML = '&nbsp;' + dados.DescricaoPlus;
    $Get('spanValorPacotePlus').innerHTML = '&nbsp;US$ ' + dados.ValorPacotePlus.toFixed(2).replace('.', ',');
    $Get('spanValorTotal').innerHTML = '&nbsp;US$ ' + dados.ValorTotal.toFixed(2).replace('.', ',');
    
    $Get('hdCodigoPacote').value = dados.CodPacote;
    $Get('ulValorTotal').style.display = '';
    App.ExibeTela();
}

var certificado = false;
function SolicitarCertificado(dados)
{
    //$Get('txtNascimento').value = $Get('txtDataNascimento').value;
    page.AbaOrcamento_boxpadrao21.style.display = 'none';
    $Get('divCertificado').style.display = '';
    End_CalcularOrcamento(dados);
}

function SetValues(plano, inicioCobertura, fimCobertura, dataNascimento)
{
    var planos = document.getElementsByName('plano');
    for (var i = 0; i < planos.length; i++)
    {
        if (planos[i].value == plano)
        {
            planos[i].checked = true;
            break;
        }
    }
    $Get('txtPeriodoCoberturaInicial').value = inicioCobertura;
    $Get('txtPeriodoCoberturaFinal').value = fimCobertura;
    $Get('txtDataNascimento').value = dataNascimento;
}

function CalcularOrcamentoHome(planos, dtNascimento, inicioCobertura, fimCobertura)
{
    if (planos.SelectedValue() == 0)
    {
        alert('Selecione um Plano para calcular o orçamento.');
    }
    else if (dtNascimento.value == '')
    {
        alert('Digite sua Data de Nascimento para calcular o orçamento.');
    }
    else if (inicioCobertura.value == '')
    {
        alert('Digite a Data de Inicio de Cobertura para calcular o orçamento.');
    }
    else if (fimCobertura.value == '')
    {
        alert('Digite a Data Final de Cobertura para calcular o orçamento.');
    }
    else
    {
        location.href = page.ResolveUrl("~/aspx/Assistencia/AssistenciaMedica.aspx") + String.Format("?tipoPlano={0}&dtNasc={1}&iniCob={2}&fimCob={3}", planos.SelectedValue() , dtNascimento.value, inicioCobertura.value, fimCobertura.value);
    }
}


function ExibirPeriodoPlus(object)
{
    if (object.checked)
    {
        $Get('periodoPlus').style.visibility = 'visible';
        $Get('retornoDuracaoPlus').style.visibility = 'visible';
        $Get('spanDescricaoPacotePlus').value = '';
        $Get('spanValorPacotePlus').value = '';
    }
    if (object.checked == false)
    {
        $Get('txtPeriodoCoberturaPlusInicial').value = '';
        $Get('txtPeriodoCoberturaPlusFinal').value = '';
        $Get('periodoPlus').style.visibility = 'hidden';
        $Get('retornoDuracaoPlus').style.visibility = 'hidden';
        $Get('spanDescricaoPacotePlus').style.visibility = 'hidden';
        $Get('spanValorPacotePlus').style.visibility = 'hidden';
    }
}