//
//			VALIDAÇÃO AUTOMATICA DE FORMULARIOS
//			Propriedades dos campos:
//			wmsg -> Mensagem de erro.
//			email -> diz se o campo é de email
//
String.prototype.trim = function () {
    return this.replace(/^\s+|\s+$/g, "");
}
var venc;

function VerificaData(cData) {
    var data = cData;
    var tam = data.length;
    if (tam != 10) {
        return false;
    }
    var dia = data.substr(0, 2)
    var mes = data.substr(3, 2)
    var ano = data.substr(6, 4)
    if (ano < 1900) {
        return false;
    }

    switch (mes) {
        case '01':
            if (dia <= 31)
                return (true);
            break;
        case '02':
            if (dia <= 29)
                return (true);
            break;
        case '03':
            if (dia <= 31)
                return (true);
            break;
        case '04':
            if (dia <= 30)
                return (true);
            break;
        case '05':
            if (dia <= 31)
                return (true);
            break;
        case '06':
            if (dia <= 30)
                return (true);
            break;
        case '07':
            if (dia <= 31)
                return (true);
            break;
        case '08':
            if (dia <= 31)
                return (true);
            break;
        case '09':
            if (dia <= 30)
                return (true);
            break;
        case '10':
            if (dia <= 31)
                return (true);
            break;
        case '11':
            if (dia <= 30)
                return (true);
            break;
        case '12':
            if (dia <= 31)
                return (true);
            break;
    }
    {
        return false;
    }
    return true;
}


function Validacao(local) {
    var localValidar = document.getElementById(local);
    var checkciclo = false;
    var temcheckciclo = false;
    var checkmod = false;
    var temcheckmod = false;
    var temcheckprog = false;
    var checkprog = false;

    if (localValidar) {
        var formulario = localValidar.elements;
        for (var i = 0, cpo; cpo = formulario[i]; i++) {



            if (cpo.id.indexOf('*') != -1) {

                if (validaCheckbox(cpo) == 'marcado' && cpo.name.indexOf('mod') != -1) {
                    checkmod = true;

                    temcheckmod = true;
                } else if (validaCheckbox(cpo) == 'nmarcado' && cpo.name.indexOf('mod') != -1) {
                    temcheckmod = true;
                }
                if (validaCheckbox(cpo) == 'marcado' && cpo.name.indexOf('ciclo') != -1) {
                    checkciclo = true;

                    temcheckciclo = true;
                } else if (validaCheckbox(cpo) == 'nmarcado' && cpo.name.indexOf('ciclo') != -1) {
                    temcheckciclo = true;
                }
                if (validaCheckbox(cpo) == 'marcado' && cpo.name.indexOf('prog') != -1) {
                    checkprog = true;
                    temcheckprog = true;
                } else if (validaCheckbox(cpo) == 'nmarcado' && cpo.name.indexOf('prog') != -1) {
                    temcheckprog = true;
                }
                if (cpo.name.indexOf('pagina') != -1 && !checkprog && temcheckprog) {
                    alert('Por favor, informe um Programa.');
                    return false;
                }
                if (cpo.name.indexOf('pagina') != -1 && !checkciclo && temcheckciclo) {
                    alert('Por favor, informe um Ciclo.');
                    return false;
                }
                if (cpo.name.indexOf('pagina') != -1 && !checkmod && temcheckmod) {
                    alert('Por favor, informe um Módulo.');
                    return false;
                }

                if (cpo.id.indexOf('@') != -1 && !validaCPF(cpo.value.replace(".", "").replace("-", "").replace(".", ""))) {

                    try {
                        cpo.focus();
                    }
                    catch (e) {

                    }
                    return false;
                }


                if (cpo.id == "Data de nascimento*" && !VerificaData(cpo.value)) {
                    alert('Por favor, informe uma Data de nascimento válido.');
                    try {
                        cpo.focus();
                    }
                    catch (e) {
                    }
                    return false;
                }

                if (cpo.id.indexOf('#') != -1) {
                    if ((cpo.value == "") || (cpo.value.indexOf('@') == -1) || (cpo.value.indexOf('.') == -1) || (cpo.value.split('@')[1].split('.')[0].length < 2)) {
                        alert('Por favor, informe um e-mail válido.');
                        try {
                            cpo.focus();
                        }
                        catch (e) {
                        }
                        return false;
                    }

                } else {
                    if (cpo.value == "") {
                        alert('Por favor, informe ' + cpo.id.replace('*', '') + '.');
                        try {
                            cpo.focus();
                        } catch (e) {

                        }

                        return false;
                    }
                }

            }

        }

        if (location.href.indexOf("inscricao2.asp") != -1 && !venc) {
            alert('Por favor, informe o dia de vencimento.');
            return false;
        }
        localValidar.onsubmit = function () { return true; };
        localValidar.submit();
    } else { alert("formulario invalido"); }
}
function validaCPF(valor) {
    cpf = valor;
    erro = new String;
    if (cpf.length < 11) erro += "Por favor, informe um cpf válido. \n\n";
    var nonNumbers = /\D/;
    if (nonNumbers.test(cpf)) erro += "Por favor, informe um cpf válido. \n\n";
    if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999") {
        erro += "Por favor, informe um cpf válido."
    }
    var a = [];
    var b = new Number;
    var c = 11;
    for (i = 0; i < 11; i++) {
        a[i] = cpf.charAt(i);
        if (i < 9) b += (a[i] * --c);
    }
    if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11 - x }
    b = 0;
    c = 11;
    for (y = 0; y < 10; y++) b += (a[y] * c--);
    if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11 - x; }
    if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])) {
        erro += "Por favor, informe um cpf válido.";
    }
    if (erro.length > 0) {
        alert("Por favor, informe um cpf válido.");
        return false;
    }
    return true;
}

function validaCheckbox(campo) {
    //alert(campo.name+ ' - ' +campo.type);
    var checkbox = document.createElement('input');
    checkbox.type = 'radio';
    if (campo.type == checkbox.type) {
        if (campo.checked) {
            return "marcado";
        } else {
            return "nmarcado";
        }
    } else {
        return "ncheck";
    }

}

function Mascara(formato, objeto) {
    campo = objeto;

    // cep
    if (formato == 'cep') {
        separador = '-';
        conjunto1 = 5;
        if (campo.value.length == conjunto1) {
            campo.value = campo.value + separador;
        }
    }

    // cpf
    if (formato == 'cpf') {
        separador1 = '.';
        separador2 = '-';
        conjunto1 = 3;
        conjunto2 = 7;
        conjunto3 = 11;
        if (campo.value.length == conjunto1) {
            campo.value = campo.value + separador1;
        }
        if (campo.value.length == conjunto2) {
            campo.value = campo.value + separador1;
        }
        if (campo.value.length == conjunto3) {
            campo.value = campo.value + separador2;
        }
    }

    // nascimento
    if (formato == 'nascimento') {
        separador = '/';
        conjunto1 = 2;
        conjunto2 = 7;
        if (campo.value.length == conjunto1) {
            campo.value = campo.value + separador;
        }

        if (campo.value.length == conjunto2) {
            if (mes.length == 1) { mes = "0" + mes }

            if ((campo.value.split("/")[1] == ano && campo.value.split("/")[0] <= mes) || (campo.value.split("/")[1] < ano)) {
                alert('Por favor, informe uma data de vencimento válida.');
                campo.value = '';
            }
        }
    }

    // telefone
    if (formato == 'telefone') {
        separador1 = '(';
        separador2 = ')';
        separador3 = '-';
        conjunto1 = 1;
        conjunto2 = 3;
        conjunto3 = 8;
        if (campo.value.length == conjunto1) {
            campo.value = separador1 + campo.value;
        }
        if (campo.value.length == conjunto2) {
            campo.value = campo.value + separador2;
        }
        if (campo.value.length == conjunto3) {
            campo.value = campo.value + separador3;
        }
    }


}

function contem(cpo, str) {
    return (cpo.value.indexOf(str) != -1);

}

function mudaObrigacao(id, tem) {
    var div = document.getElementById(id);
    for (var i = 0, foo; foo = div.getElementsByTagName('input')[i]; i++) {
        if (!tem) {
            foo.id = foo.id.replace('*', '');
            document.formulario.ufcrm.id.replace('*', '')
            document.getElementById('label1').innerHTML = document.getElementById('label1').innerHTML.replace('*', '');
            document.getElementById('label2').innerHTML = document.getElementById('label2').innerHTML.replace('*', '');
            document.getElementById('label3').innerHTML = document.getElementById('label3').innerHTML.replace('*', '');
        } else {
            foo.id = foo.id.replace('*', '') + '*';
            document.formulario.ufcrm.id.replace('*', '') + '*';
            document.getElementById('label1').innerHTML = document.getElementById('label1').innerHTML.replace('*', '') + '*';
            document.getElementById('label2').innerHTML = document.getElementById('label2').innerHTML.replace('*', '') + '*';
            document.getElementById('label3').innerHTML = document.getElementById('label3').innerHTML.replace('*', '') + '*';
        }
    }
    for (var i = 0, foo; foo = div.getElementsByTagName('select')[i]; i++) {
        if (!tem) {
            foo.id = foo.id.replace('*', '');

        } else {
            foo.id = foo.id.replace('*', '') + '*';

        }
    }

}
function numeros(str) {
    if (str.length > 4) {
        var x = 1;
        var ant = '';
        for (var i = 0, letra; letra = str.charAt(i); i++) {
            if (ant == letra) {
                x = x + 1;
            } else {
                ant = letra;
            }
        }
        if (x < str.length) {
            return true;
        } else {
            return false;
        }
    } else {
        return true;
    }
}

function checaNumero(x) {

    var y;
    if (navigator.appName == 'Microsoft Internet Explorer') { y = x.keyCode; }
    if (navigator.appName == 'Netscape') { y = x.which; }
    if (y >= 48 && y <= 57 || y == 8) {
        return true;
    } else {
        return false;
    }

}

function minimo(numero, obj) {


    if (((!numeros(obj.value)) || (obj.value.length < numero)) && (obj.value.length > 0)) {
        alert('Por favor, informe um valor válido.');
        obj.value = '';
        return false;
    }
    return true;
}
var valorant = '';
function change(obj) {
    var str = document.formulario.bancoPPP.value.split('-')[0].trim();
    var div = document.getElementById('dia')
    if (str != '') {
        document.formulario.agencia.disabled = '';
        for (var i = 0, cpo; cpo = div.getElementsByTagName('input')[i]; i++) {
            cpo.disabled = '';
        }
        if (str == '001' || str == '237') {
            document.formulario.digitoAG.disabled = '';
            document.formulario.digitoAG.id = document.formulario.digitoAG.id.replace('*', '') + "*";
        } else {
            document.formulario.digitoAG.disabled = 'disabled';
            document.formulario.digitoAG.id = document.formulario.digitoAG.id.replace('*', '');
        }
        document.formulario.digitoCC.disabled = '';
        document.formulario.contaCorrente.disabled = '';

    } else {
        for (var i = 0, cpo; cpo = div.getElementsByTagName('input')[i]; i++) {
            cpo.disabled = 'disabled';
        }
        document.formulario.digitoAG.id = document.formulario.digitoAG.id.replace('*', '');
        document.formulario.agencia.disabled = 'disabled';
        document.formulario.digitoAG.disabled = 'disabled';
        document.formulario.digitoCC.disabled = 'disabled';
        document.formulario.contaCorrente.disabled = 'disabled';

    }
    document.formulario.agencia.value = '';
    document.formulario.digitoAG.value = '';
    document.formulario.digitoCC.value = '';
    document.formulario.contaCorrente.value = '';
}
function bancos(objeto, x) {
    var valor = objeto.value;
    var tipo = objeto.name;
    var str = document.formulario.bancoPPP.value.split('-')[0].trim();
    if (navigator.appName == 'Microsoft Internet Explorer') {
        var y = x.keyCode;
        if (y == 8) { return true; }
    }
    if (navigator.appName == 'Netscape') {
        var y = x.which;
        if (y == 8) { return true; }
    }

    switch (str) {
        case '001':
            if (tipo == "agencia") {
                if (!checaNumero(x)) { return false; }
                if (valor.length > 3) { return false; }
            } else {
                if (tipo == "contaCorrente") {
                    if (!checaNumero(x)) { return false; }
                    if (valor.length > 8) { return false; }
                } else {
                    if (tipo == 'digitoAG') {

                        if (valor.length > 0) { return false; }
                    } else {
                        if (tipo == 'digitoCC') {

                            if (valor.length > 0) { return false; }
                        }
                    }
                }
            }
            break;
        case '237':
            if (tipo == "agencia") {
                if (!checaNumero(x)) { return false; }
                if (valor.length > 3) { return false; }
            } else {
                if (tipo == "contaCorrente") {
                    if (!checaNumero(x)) { return false; }
                    if (valor.length > 6) { return false; }
                } else {
                    if (tipo == 'digitoAG') {
                        if (!checaNumero(x)) { return false; }
                        if (valor.length > 0) { return false; }
                    } else {
                        if (tipo == 'digitoCC') {
                            if (!checaNumero(x)) { return false; }
                            if (valor.length > 0) { return false; }
                        }
                    }
                }
            }
            break;
        case '399':

            if (tipo == "agencia") {
                if (!checaNumero(x)) { return false; }
                if (valor.length > 3) { return false; }
            } else {
                if (tipo == "contaCorrente") {
                    objeto.onblur = function () { minimo(5, objeto); }
                    if (!checaNumero(x)) { return false; }
                    if (valor.length > 4) { return false; }
                } else {
                    if (tipo == 'digitoAG') {
                        if (!checaNumero(x)) { return false; }
                        if (valor.length > 0) { return false; }
                    } else {
                        if (tipo == 'digitoCC') {
                            if (!checaNumero(x)) { return false; }
                            if (valor.length > 1) { return false; }
                        }
                    }
                }
            }
            break;
        case '341':
            if (tipo == "agencia") {
                if (!checaNumero(x)) { return false; }
                if (valor.length > 3) { return false; }
            } else {
                if (tipo == "contaCorrente") {
                    objeto.onblur = function () { minimo(5, objeto); }
                    if (!checaNumero(x)) { return false; }
                    if (valor.length > 4) { return false; }
                } else {
                    if (tipo == 'digitoAG') {
                        if (!checaNumero(x)) { return false; }
                        if (valor.length > 0) { return false; }
                    } else {
                        if (tipo == 'digitoCC') {
                            if (!checaNumero(x)) { return false; }
                            if (valor.length > 0) { return false; }
                        }
                    }
                }
            }
            break;
        case '479':
            if (tipo == "agencia") {
                if (!checaNumero(x)) { return false; }
                if (valor.length > 3) { return false; }
            } else {
                if (tipo == "contaCorrente") {

                    objeto.onblur = function () { minimo(7, objeto); }
                    if (!checaNumero(x)) { return false; }
                    if (valor.length > 6) { return false; }
                } else {
                    if (tipo == 'digitoAG') {
                        if (!checaNumero(x)) { return false; }
                        if (valor.length > 0) { return false; }
                    } else {
                        if (tipo == 'digitoCC') {
                            if (!checaNumero(x)) { return false; }
                            if (valor.length > 0) { return false; }
                        }
                    }
                }
            }
            break;
        case '356':
            if (tipo == "agencia") {
                if (!checaNumero(x)) { return false; }
                if (valor.length > 3) { return false; }
            } else {
                if (tipo == "contaCorrente") {
                    objeto.onblur = function () { minimo(7, objeto); }
                    if (!checaNumero(x)) { return false; }
                    if (valor.length > 6) { return false; }
                } else {
                    if (tipo == 'digitoAG') {
                        if (!checaNumero(x)) { return false; }
                        if (valor.length > 0) { return false; }
                    } else {
                        if (tipo == 'digitoCC') {
                            if (!checaNumero(x)) { return false; }
                            if (valor.length > 0) { return false; }
                        }
                    }
                }
            }
            break;
        case '033':
            if (tipo == "agencia") {
                if (!checaNumero(x)) { return false; }
                if (valor.length > 3) { return false; }
            } else {
                if (tipo == "contaCorrente") {

                    objeto.onblur = function () { minimo(8, objeto); }
                    if (!checaNumero(x)) { return false; }
                    if (valor.length > 7) { return false; }
                } else {
                    if (tipo == 'digitoAG') {
                        if (!checaNumero(x)) { return false; }
                        if (valor.length > 0) { return false; }
                    } else {
                        if (tipo == 'digitoCC') {
                            if (!checaNumero(x)) { return false; }
                            if (valor.length > 0) { return false; }
                        }
                    }
                }
            }
            break;
        case '409':
            if (tipo.indexOf("agencia") != -1) {
                if (!checaNumero(x)) { return false; }
                if (valor.length > 3) { return false; }
            } else {
                if (tipo.indexOf("contaCorrente") != -1) {
                    objeto.onblur = function () { minimo(6, objeto); }
                    if (!checaNumero(x)) { return false; }
                    if (valor.length > 5) { return false; }
                } else {
                    if (tipo.indexOf('digitoAG') != -1) {
                        if (!checaNumero(x)) { return false; }
                        if (valor.length > 0) { return false; }
                    } else {
                        if (tipo.indexOf('digitoCC') != -1) {
                            if (!checaNumero(x)) { return false; }
                            if (valor.length > 0) { return false; }
                        }
                    }
                }
            }
            break;
        default:


    }
    return true;
}

function bancosblur(objeto) {
    var valor = objeto.value;
    var tipo = objeto.name;
    var str = document.formulario.bancoPPP.value.split('-')[0].trim();


    switch (str) {
        case '001':
            if (tipo == "agencia") {
                minimo(4, objeto);

            } else {
                if (tipo == "contaCorrente") {
                    if (!numeros(objeto.value)) { alert('Por favor, informe um  valor válido.'); return false; }
                } else {
                    if (tipo == 'digitoAG') {
                        minimo(1, objeto);
                    } else {
                        if (tipo == 'digitoCC') {
                            minimo(1, objeto);
                        }
                    }
                }
            }
            break;
        case '237':
            if (tipo == "agencia") {

                minimo(4, objeto);
            } else {
                if (tipo == "contaCorrente") {
                    if (!numeros(objeto.value)) { alert('Por favor, informe um  valor válido.'); return false; }
                } else {
                    if (tipo == 'digitoAG') {
                        minimo(1, objeto);
                    } else {
                        if (tipo == 'digitoCC') {
                            minimo(1, objeto);
                        }
                    }
                }
            }
            break;
        case '399':

            if (tipo == "agencia") {
                minimo(4, objeto);

            } else {
                if (tipo == "contaCorrente") {
                    minimo(5, objeto);
                } else {
                    if (tipo == 'digitoAG') {

                    } else {
                        if (tipo == 'digitoCC') {

                            minimo(2, objeto);
                        }
                    }
                }
            }
            break;
        case '341':
            if (tipo == "agencia") {

                minimo(4, objeto);
            } else {
                if (tipo == "contaCorrente") {
                    minimo(5, objeto);
                } else {
                    if (tipo == 'digitoAG') {

                    } else {
                        if (tipo == 'digitoCC') {
                            minimo(1, objeto);
                        }
                    }
                }
            }
            break;
        case '479':
            if (tipo == "agencia") {
                minimo(4, objeto);

            } else {
                if (tipo == "contaCorrente") {
                    minimo(7, objeto);
                } else {
                    if (tipo == 'digitoAG') {

                    } else {
                        if (tipo == 'digitoCC') {
                            minimo(1, objeto);
                        }
                    }
                }
            }
            break;
        case '356':
            if (tipo == "agencia") {

                minimo(4, objeto);
            } else {
                if (tipo == "contaCorrente") {
                    minimo(7, objeto);
                } else {
                    if (tipo == 'digitoAG') {

                    } else {
                        if (tipo == 'digitoCC') {
                            minimo(1, objeto);
                        }
                    }
                }
            }
            break;
        case '033':
            if (tipo == "agencia") {
                minimo(4, objeto);

            } else {
                if (tipo == "contaCorrente") {
                    minimo(8, objeto);
                } else {
                    if (tipo == 'digitoAG') {

                    } else {
                        if (tipo == 'digitoCC') {
                            minimo(1, objeto);
                        }
                    }
                }
            }
            break;
        case '409':
            if (tipo == "agencia") {
                minimo(4, objeto);

            } else {
                if (tipo == "contaCorrente") {
                    minimo(6, objeto);
                } else {
                    if (tipo == 'digitoAG') {

                    } else {
                        if (tipo == 'digitoCC') {
                            minimo(1, objeto);
                        }
                    }
                }
            }
            break;
        default:


    }
    return true;
}

function cartaoBlur(objeto) {
    var strCartao = document.formulario.cartaoPPP.value;
    var valor = objeto.value;
    var tipo = objeto.name;

    switch (strCartao) {
        case 'Visa':
            switch (tipo) {

                case 'numcartao':
                    minimo(19, objeto);
                    if (!numeros(objeto.value.replace(/[.-]/g, ''))) { alert('Por favor, informe um  valor válido.'); objeto.value = ''; return false; }

                    break;
                case 'valcartao':
                    minimo(5, objeto);
                    dataCartaoBlur(objeto);
                    break;
                case 'digitocartao':
                    minimo(3, objeto);

                    break;
                default:
                    break;
            }
            break;
        case 'Mastercard':
            switch (tipo) {

                case 'numcartao':
                    minimo(19, objeto);
                    if (!numeros(objeto.value.replace(/[.-]/g, ''))) { alert('Por favor, informe um  valor válido.'); objeto.value = ''; return false; }
                    break;
                case 'valcartao':
                    minimo(5, objeto);
                    dataCartaoBlur(objeto);
                    break;
                case 'digitocartao':
                    minimo(3, objeto);
                    //if(!numeros(objeto.value.replace(/[.-]/g,''))){ alert('Por favor, informe um  valor válido.'); objeto.value=''; return false; }
                    break;
                default:
                    break;
            }
            break;
        case 'Diners':
            switch (tipo) {

                case 'numcartao':
                    minimo(16, objeto);
                    if (!numeros(objeto.value.replace(/[.-]/g, '')) || valor.charAt(0) != "3") { alert('Por favor, informe um  valor válido.'); objeto.value = ''; return false; }
                    break;
                case 'valcartao':
                    minimo(5, objeto);
                    dataCartaoBlur(objeto);
                    break;
                case 'digitocartao':
                    minimo(3, objeto);
                    //if(!numeros(objeto.value.replace(/[.-]/g,''))){ alert('Por favor, informe um  valor válido.'); objeto.value=''; return false; }
                    break;
                default:
                    break;
            }
            break;
        case 'Amex':
            switch (tipo) {

                case 'numcartao':
                    minimo(17, objeto);
                    if (!numeros(objeto.value.replace(/[.-]/g, '')) || valor.charAt(0) != "3") { alert('Por favor, informe um  valor válido.'); objeto.value = ''; return false; }
                    break;
                case 'valcartao':
                    minimo(5, objeto);
                    dataCartaoBlur(objeto);
                    break;
                case 'digitocartao':
                    minimo(4, objeto);
                    //if(!numeros(objeto.value.replace(/[.-]/g,''))){ alert('Por favor, informe um  valor válido.'); objeto.value=''; return false; }
                    break;
                default:
                    break;
            }
            break;
        default:
            break;
    }
}

function cartaoPress(objeto, x) {
    var strCartao = document.formulario.cartaoPPP.value;
    var valor = objeto.value;
    var tipo = objeto.name;
    var y;
    if (navigator.appName == 'Microsoft Internet Explorer') { y = x.keyCode; }
    if (navigator.appName == 'Netscape') { y = x.which; }
    if (y == 8) { return true; }
    var valortecla = String.fromCharCode(y);
    var vlrfinal;
    switch (strCartao) {
        case 'Visa':
            switch (tipo) {

                case 'numcartao':
                    if (!checaNumero(x)) { return false; }
                    if (valor.length > 18) { return false; }
                    if (valor.length == 4) { objeto.value = valor + '.'; }
                    if (valor.length == 9) { objeto.value = valor + '.'; }
                    if (valor.length == 14) { objeto.value = valor + '.'; }
                    vlrfinal = objeto.value + valortecla;
                    if (vlrfinal.charAt(0) == "4") { objeto.value = vlrfinal; }
                    return false;
                    break;
                case 'valcartao':
                    if (y == 8) { return true; }
                    if (!checaNumero(x)) { return false; }
                    if (valor.length > 4) { return false; }
                    dataCartaoPress(objeto);
                    break;
                case 'digitocartao':
                    if (y == 8) { return true; }
                    if (valor.length > 2) { return false; }
                    if (!checaNumero(x)) { return false; }
                    break;
                default:
                    break;
            }
            break;
        case 'Mastercard':
            switch (tipo) {

                case 'numcartao':
                    if (!checaNumero(x)) { return false; }
                    //if((valortecla!="5"&&valor.length<1)||(valor.charAt(0)!="5"&&valor.length>0)){return false; }
                    if (valor.length > 18) { return false; }
                    if (valor.length == 4) { objeto.value = valor + '.'; }
                    if (valor.length == 9) { objeto.value = valor + '.'; }
                    if (valor.length == 14) { objeto.value = valor + '.'; }
                    vlrfinal = objeto.value + valortecla;
                    if (vlrfinal.charAt(0) == "5") { objeto.value = vlrfinal; }
                    return false;
                    break;
                case 'valcartao':
                    if (y == 8) { return true; }
                    if (!checaNumero(x)) { return false; }
                    if (valor.length > 4) { return false; }
                    dataCartaoPress(objeto);
                    break;
                case 'digitocartao':
                    if (y == 8) { return true; }
                    if (valor.length > 2) { return false; }
                    if (!checaNumero(x)) { return false; }
                    break;
                default:
                    break;
            }
            break;
        case 'Diners':
            switch (tipo) {

                case 'numcartao':
                    if (!checaNumero(x)) { return false; }
                    //if((valortecla!="3"&&valor.length<1)||(valor.charAt(0)!="3"&&valor.length>0)){return false; }
                    if (valor.length > 15) { return false; }
                    if (valor.length == 4) { objeto.value = valor + '.'; }
                    if (valor.length == 11) { objeto.value = valor + '.'; }
                    vlrfinal = objeto.value + valortecla;
                    if (vlrfinal.charAt(0) == "3") { objeto.value = vlrfinal; }
                    return false;
                    break;
                case 'valcartao':
                    if (y == 8) { return true; }
                    if (!checaNumero(x)) { return false; }
                    if (valor.length > 4) { return false; }
                    dataCartaoPress(objeto);
                    break;
                case 'digitocartao':
                    if (valor.length > 2) { return false; }
                    if (!checaNumero(x)) { return false; }
                    break;
                default:
                    break;
            }
            break;
        case 'Amex':
            switch (tipo) {

                case 'numcartao':
                    if (!checaNumero(x)) { return false; }
                    //if((valortecla!="3"&&valor.length<1)||(valor.charAt(0)!="3"&&valor.length>0)){return false; }
                    if (valor.length > 16) { return false; }
                    if (valor.length == 4) { objeto.value = valor + '.'; }
                    if (valor.length == 11) { objeto.value = valor + '.'; }
                    vlrfinal = objeto.value + valortecla;
                    if (vlrfinal.charAt(0) == "3") { objeto.value = vlrfinal; }
                    return false;
                    break;
                case 'valcartao':
                    if (y == 8) { return true; }
                    if (!checaNumero(x)) { return false; }
                    if (valor.length > 4) { return false; }
                    dataCartaoPress(objeto);
                    break;
                case 'digitocartao':
                    if (y == 8) { return true; }
                    if (valor.length > 3) { return false; }
                    if (!checaNumero(x)) { return false; }
                    break;
                default:
                    break;
            }
            break;
        default:
            break;
    }
}

function dataCartaoPress(campo) {
    if (campo.value.length == 2) { campo.value = campo.value + '/'; }

}
ano = ano.charAt(2).valueOf() + ano.charAt(3).valueOf();
function dataCartaoBlur(campo) {
    if (mes.length == 1) { mes = "0" + mes }
    if (campo.value.split("/")[0] > 12) { alert('Por favor, informe uma data de vencimento válida.'); campo.value = ''; return; }
    if ((campo.value.split("/")[1] == ano && campo.value.split("/")[0] <= mes) || (campo.value.split("/")[1] < ano)) {
        alert('Por favor, informe uma data de vencimento válida.');
        campo.value = '';
    }
}

function cartaoChange(obj) {

    document.formulario.numcartao.value = '';
    document.formulario.valcartao.value = '';
    document.formulario.digitocartao.value = '';

    if (obj.value == '0') {
        document.formulario.numcartao.disabled = 'disabled';
        document.formulario.valcartao.disabled = 'disabled';
        document.formulario.digitocartao.disabled = 'disabled';

    } else {
        document.formulario.numcartao.disabled = '';
        document.formulario.valcartao.disabled = '';
        document.formulario.digitocartao.disabled = '';

    }
}


