﻿/************************************************************************
*
*Decription: Preencher campo somente com caracteres numéricos
*Author: Eliamar Tani
*
************************************************************************/
function SomenteNumero(e) {
    var key = window.event ? e.keyCode : e.which;
    var keychar = String.fromCharCode(key);
    var vrRetorno = false;

    if (key != 8 && key != 0) {
        goodChars = "0123456789";
        if (goodChars.indexOf(keychar) != -1) {
            vrRetorno = true;
        }
    }
    else {
        vrRetorno = true;
    }
    return vrRetorno;
}


/************************************************************************
*
*Decription: Função trim em javascript
*Author: Pedro Oliveira
*
************************************************************************/
function trim(str) {
    return str.replace(/^\s+|\s+$/g, "");
}


/************************************************************************
*
*Decription: Formata Data em um textbox
*Author: Eliamar Tani
*
************************************************************************/
function FormataData(e, obj) {
    //usar no evento keypress
    //bloqueia caracteres alfa e coloca as barras nas posições        

    var key = window.event ? e.keyCode : e.which;
    var keychar = String.fromCharCode(key);
    var vrRetorno = false;

    //Backspace e Tab
    if (key != 8 && key != 0) {
        goodChars = "0123456789";
        if (goodChars.indexOf(keychar) != -1) {
            if ((obj.value.length == 2 || obj.value.length == 5) && key != 8) {
                obj.value += "/";
            }

            vrRetorno = true;
        }
    }
    else {
        vrRetorno = true;
    }

    return vrRetorno;
}


/************************************************************************
*
*Decription: Função para validar data
*Author: Eliamar Tani
*
************************************************************************/
function validarData(sender, args) {
    var bissexto = 0;
    var dtAniversario = document.getElementById(sender.controltovalidate);
    var data = dtAniversario.value;
    var tam = data.length;
    var retorno = false;

    if (tam == 10 && tam > 0) {
        var dia = data.substr(0, 2);
        var mes = data.substr(3, 2);
        var ano = data.substr(6, 4);
        if ((ano > 1900) || (ano < 2100)) {
            switch (mes) {
                case '01':
                case '03':
                case '05':
                case '07':
                case '08':
                case '10':
                case '12':
                    if (dia <= 31) {
                        retorno = true;
                    }
                    break;
                case '04':
                case '06':
                case '09':
                case '11':
                    if (dia <= 30) {
                        retorno = true;
                    }
                    break;
                case '02':
                    if ((ano % 4 == 0) || (ano % 100 == 0) || (ano % 400 == 0)) {
                        bissexto = 1;
                    }
                    if ((bissexto == 1) && (dia <= 29)) {
                        retorno = true;
                    }
                    if ((bissexto != 1) && (dia <= 28)) {
                        retorno = true;
                    }
                    break;
            }
        }
    }
    args.IsValid = retorno;
}


