﻿$(function() {
    $('#ctl00_cphConteudo_txDias').attr('readonly', 'true');

    // * Calcula o total de dias
    $('#ctl00_cphConteudo_txDataPartida').keyup(function() {
        $.ajax({
            type: 'POST',
            url: 'inf_viagem.aspx/calcular',
            data: '{data_partida:\"' + $('#ctl00_cphConteudo_txDataPartida').val() + '\",data_retorno:\"' + $('#ctl00_cphConteudo_txDataRetorno').val() + '\"}',
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            beforeSend: function() {
                $('#carregando1').html('<img src="App_Publico/imagens/carregando.gif" />');
            },
            success: function(resposta) {
                $('#carregando1').empty();
                $('#ctl00_cphConteudo_txDias').val(resposta.d);
            },
            error: function() {
                $('#carregando1').empty();
                alert('Ocorreu um erro ao calcular o total de dias!');
            }
        });
    });
    // * Calcula o total de dias
    $('#ctl00_cphConteudo_txDataRetorno').keyup(function() {
        $.ajax({
            type: 'POST',
            url: 'inf_viagem.aspx/calcular',
            data: '{data_partida:\"' + $('#ctl00_cphConteudo_txDataPartida').val() + '\",data_retorno:\"' + $('#ctl00_cphConteudo_txDataRetorno').val() + '\"}',
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            beforeSend: function() {
                $('#carregando1').html('<img src="App_Publico/imagens/carregando.gif" />');
            },
            success: function(resposta) {
                $('#carregando1').empty();
                $('#ctl00_cphConteudo_txDias').val(resposta.d);
            },
            error: function() {
                $('#carregando1').empty();
                alert('Ocorreu um erro ao calcular o total de dias!');
            }
        });
    });
    
    $('form').submit(function(){
        $('#ctl00_cphConteudo_txDias').attr('readonly', 'false');
    });
});

function validaIdadeMaior(src, args) {
    // * Recupera a data do dia
    hoje = new Date();

    // * Recupera a data do formulário
    // * Transforma a data em um array
    var array_data = args.Value.split("/");
    // * Se o array nao tem 3 partes, data incorreta
    if (array_data.length != 3) {
        idade = 0;
    }

    // * Verifica se o ano, mês e dia são corretos
    var ano;
    ano = parseInt(array_data[2]);
    if (isNaN(ano)) {
        idade = 0;
    }
    var mes;
    mes = parseInt(array_data[1]);
    if (isNaN(mes)) {
        idade = 0;
    }
    var dia;
    dia = parseInt(array_data[0]);
    if (isNaN(dia)) {
        idade = 0;
    }

    // * Subtrai os anos das duas datas
    // * -1 porque ainda não completou este ano
    idade = hoje.getFullYear() - ano - 1;

    // * Se ao subtrair os meses o resultado for menor que 0 então não fez aniversário
    // * + 1 porque os meses começam em 0
    if (hoje.getMonth() + 1 - mes < 0) {
        idade = idade;
    }
    else if (hoje.getMonth() + 1 - mes > 0) {
        idade += 1;
    }
    // * Se ao subtrair os dias o resultado for menor que 0 então não fez aniversário
    else if (hoje.getUTCDate() - dia >= 0) {
        idade += 1;
    }

    args.IsValid = (idade >= 21);
}

function validaIdadeMenor(src, args) {
    // * Recupera a data do dia
    hoje = new Date();

    // * Recupera a data do formulário
    // * Transforma a data em um array
    var array_data = args.Value.split("/");
    // * Se o array nao tem 3 partes, data incorreta
    if (array_data.length != 3) {
        idade = 0;
    }

    // * Verifica se o ano, mês e dia são corretos
    var ano;
    ano = parseInt(array_data[2]);
    if (isNaN(ano)) {
        idade = 0;
    }
    var mes;
    mes = parseInt(array_data[1]);
    if (isNaN(mes)) {
        idade = 0;
    }
    var dia;
    dia = parseInt(array_data[0]);
    if (isNaN(dia)) {
        idade = 0;
    }

    // * Subtrai os anos das duas datas
    // * -1 porque ainda não completou este ano
    idade = hoje.getFullYear() - ano - 1;

    // * Se ao subtrair os meses o resultado for menor que 0 então não fez aniversário
    // * + 1 porque os meses começam em 0
    if (hoje.getMonth() + 1 - mes < 0) {
        idade = idade;
    }
    else if (hoje.getMonth() + 1 - mes > 0) {
        idade += 1;
    }
    // * Se ao subtrair os dias o resultado for menor que 0 então não fez aniversário
    else if (hoje.getUTCDate() - dia >= 0) {
        idade += 1;
    }

    args.IsValid = (idade < 21);
}

var er = /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/;

function validarData(src, args) {
    if (er.test(args.Value)) {
        args.IsValid = true;
    }
    else if (args.Value != null && args.Value != "") {
        args.IsValid = false;
    }
}

function validarData2(data, id) {
    validador = document.getElementById('ctl00_cphConteudo_' + id);
    if (!er.test(data.value) && data.value != null && data.value != '') {
        validador.isvalid = false;
    }
    else {
        validador.isvalid = true;
    }
    ValidatorUpdateDisplay(validador);
}

//function exibir() {
//    var Obj = document.getElementById('btGuiaVendas');
//    var AcessoAgencia = "<%=acesso_agencia%>";
//    if (!AcessoAgencia == null) {
//       Obj.style.visibility = "visible"; 
//    }
//    else { 
//       Obj.style.visibility = "hidden";
//    }
//}
