﻿function valida_CNPJ(source, args) {
    var i;
    s = limpa_string(args.Value);
    if (s != "")
    {
        var c = s.substr(0, 12);
        var dv = s.substr(12, 2);
        var d1 = 0;
        for (i = 0; i < 12; i++) {
            d1 += c.charAt(11 - i) * (2 + (i % 8));
        }
        if (d1 == 0) return args.IsValid = false;
        d1 = 11 - (d1 % 11);
        if (d1 > 9) d1 = 0;
        if (dv.charAt(0) != d1) {
            return args.IsValid = false;
        }

        d1 *= 2;
        for (i = 0; i < 12; i++) {
            d1 += c.charAt(11 - i) * (2 + ((i + 1) % 8));
        }
        d1 = 11 - (d1 % 11);
        if (d1 > 9) d1 = 0;
        if (dv.charAt(1) != d1) {
            return args.IsValid = false;
        }
        
        return args.IsValid = true;
    }
}

function limpa_string(S) {
    //<![CDATA[
    // Deixa so' os digitos no numero
    var Digitos = "0123456789";
    var temp = "";
    var digito = "";
    for (var i = 0; i < S.length; i++) {
        digito = S.charAt(i);
        if (Digitos.indexOf(digito) >= 0) { temp = temp + digito }
    }
    return temp
    //]]>
}

function numeros() {
    tecla = event.keyCode;
    if (tecla >= 48 && tecla <= 57) {
        return true;
    } else {
        return false;
    }
}

function valida_Email(source, args) {
    var email = args.Value;
    if (email.indexOf("@") + "" == "-1" && email.indexOf(".") + "" == "-1") {
        return args.IsValid = false;
    } else {
        return args.IsValid = true;
    }
}

function valida_CPF(source, args) {
    var s = limpa_string(args.Value);
    if (s != "")
    {    
        var i;
        var c = s.substr(0, 9);
        var dv = s.substr(9, 2);
        var d1 = 0;

        for (i = 0; i < 9; i++) {
            d1 += c.charAt(i) * (10 - i);
        }

        if (d1 == 0) {
            return args.IsValid = false;
        }

        d1 = 11 - (d1 % 11);

        if (d1 > 9) d1 = 0;

        if (dv.charAt(0) != d1) {
            return args.IsValid = false;
        }

        d1 *= 2;

        for (i = 0; i < 9; i++) {
            d1 += c.charAt(i) * (11 - i);
        }

        d1 = 11 - (d1 % 11);

        if (d1 > 9) d1 = 0;

        if (dv.charAt(1) != d1) {
            return args.IsValid = false;
        }

        return args.IsValid = true;
    }
}


function validaCNPJ(valor) {
    var i;
    s = limpa_string(valor);
    var c = s.substr(0, 12);
    var dv = s.substr(12, 2);
    var d1 = 0;
    for (i = 0; i < 12; i++) {
        d1 += c.charAt(11 - i) * (2 + (i % 8));
    }
    if (d1 == 0) return false;
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(0) != d1) {
        return false;
    }

    d1 *= 2;
    for (i = 0; i < 12; i++) {
        d1 += c.charAt(11 - i) * (2 + ((i + 1) % 8));
    }
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(1) != d1) {
        return false;
    }
    return true;
}

function mascara(o, f) {
    v_obj = o

    v_fun = f

    setTimeout("execmascara()", 1)
}

function execmascara() {
    v_obj.value = v_fun(v_obj.value)
}

function mreais(v) {
    v = v.replace(/\D/g, "")                       //Remove tudo o que não é dígito

    v = v.replace(/(\d{1})(\d{8})$/, "$1.$2")       //coloca ponto antes dos últimos 8 digitos

    v = v.replace(/(\d{1})(\d{5})$/, "$1.$2")       //coloca ponto antes dos últimos 5 digitos

    v = v.replace(/(\d{1})(\d{1,2})$/, "$1,$2")    //coloca virgula antes dos últimos 2 digitos

    return v

}

function min_Tel(source, args) {
    if (args.Values != '(__)____-____') {
        var valor = limpa_string(args.Value);

        if (valor.length == 10)
            return args.IsValid = true;
        else
            return args.IsValid = false;
    }
}
function min_Log(source, args) {
    if (args.Value.length >= 4)
        return args.IsValid = true;
    else
        return args.IsValid = false;
}
function min_Sen(source, args) {
    if (args.Value.length >= 6)
        return args.IsValid = true;
    else
        return args.IsValid = false;
}

function desabilitaDigitacao(campo) {
    campo.value = '';
    return false;
}
