﻿/// <reference path="../includes/jquery.intelisense.js" />

$(document).ready(inicio);
function inicio() {

    // Máscaras dos campos
    $("#cpf").focus();
    $("#dataNascimento").mask("99/99/9999");
    $("#cpf").mask("99999999999", { placeholder: " " });

    // Eventos do usuário
    $("#cpf").keypress(function(e) {
        if ($.trim($("#cpf").val()).length >= 11) $("#dataNascimento").focus();
    });
    $("#dataNascimento").keypress(function(e) {
        if (e.which == 13) enviarCadastro();
    });
    $("#btnCadastrar").click(enviarCadastro);
}
function msgAguarde(status) {
    if (status) {
        $("#btnCadastrar").hide();
        $("#msgUsuario").html("Aguarde...").show();
    } else {
        $("#btnCadastrar").show();
        $("#msgUsuario").hide();
    }
}
function enviarCadastro() {
    if (validaForm()) {

        msgAguarde(true);
        instituto = QueryString("instituto") == "" ? "unip" : QueryString("instituto");
        // pega os valores dos campos
        var aluno = {};
        aluno.cpf = $.trim($("#cpf").val());
        aluno.dataNascimento = $.trim($("#dataNascimento").val());
        aluno.instituto = instituto;

        WebService("../ws/wsAluno.asmx/verificaAluno", confereCadastroSucess, aluno, confereCadastroError);
    }
}
function confereCadastroSucess(json) {

    if (json.d == null) {
        alertModal("Ocorreu um erro ao conferir os dados.", alertType.erro);
        msgAguarde(false);
    } else {
        if (json.d.AlunoValido == true) {
            if (json.d.alunoCadastrado == true) {
                window.location = "Autenticacao.aspx";
            } else {
                verificaAdministrador();
            }
        }
        else {
            verificaAdministrador();  
            //alertModal("Você não consta como ex-aluno", alertType.erro);
            //msgAguarde(false);
        }
    }
}
function confereCadastroError() {
    alertModal("Ocorreu um erro ao conferir os dados.", alertType.erro);
    msgAguarde(false);
}

function verificaAdministrador() {
    //Verifica se loga como admin
    var admin = {};
    admin.cpf = $.trim($("#cpf").val());

    var verifica_CallBack = function(json) {
        if (json.d) {
            window.location = "Autenticacao.aspx";
        } else {
            alertModal("Login ou senha inválidos", alertType.erro);
            msgAguarde(false);
        }
    };



    WebService("../ws/wsAdministrador.asmx/consultaPorCPF", verifica_CallBack, admin);    
}

function validaForm() {
    var mensagem = function(local, mensagem) {
        alertModal(mensagem, alertType.erro);
        return false;
    }
    if ($.trim($("#cpf").val()) == "")
        return mensagem("#cpf", "Preencha o campo CPF.");

    if (!validaCPF($.trim($("#cpf").val())))
        return mensagem("#cpf", "Preencha o campo CPF com um número válido.");

    if (($.trim($("#dataNascimento").val().replace(/[\_\/]/g, "")) == ""))
        return mensagem("#dataNascimento", "Preencha o campo data.");

    var data = $("#dataNascimento").val().split("/");
    var dataAtual = new Date();
    // valida ano
    if (data[2] < 1900 || data[2] > (dataAtual.getFullYear() - 18))
        return mensagem("#dataNascimento", "Preencha o campo data com uma data válida.");
    // valida o mês
    if (data[1] < 1 || data[1] > 12)
        return mensagem("#dataNascimento", "Preencha o campo data com um mês válido.");
    // valida dia
    if (!validaDia(data))
        return mensagem("#dataNascimento", "O mês " + data[1] + " não tem o dia " + data[0] + ".");
    if ($.trim($("#dataNascimento").val()).replace("_", "").length < 10)
        return mensagem("#dataNascimento", "Preencha o campo data com uma data válida.");

    return true;
}

