//Validar CNPJ
function VerificaCNPJ(CNPJ){
    //substituir os caracteres que não são números
    var UserName = CNPJ;
    
    if(UserName.length == 15) {
        UserName = UserName.substring(1);
    }
    
    var UserNameAux = UserName
    UserNameAux = UserNameAux.replace(/[./-]/g,"") //remove '.', '/' e '-'
    UserName = UserName.replace(/\D/g,"") //Remove tudo o que não é dígito
              
    if(UserName.length == 14 && UserName == UserNameAux){ //verifica se tem 14 digitos e se não foi entrada nenhuma letra
        
        var CNPJ = UserName;
        var a = [];
        var b = new Number;
        var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
        for (i=0; i<12; i++){
            a[i] = CNPJ.charAt(i);
            b += a[i] * c[i+1];
        }
        if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
        b = 0;
        for (y=0; y<13; y++) {
            b += (a[y] * c[y]);
        }
        if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
        if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){ //verifica se o digito verificador confere
            return false; 
        }
        else
        {
            return true;
        }
    }
    else
    {
        return false;
    }
}
//Validar CPF
function VerificaCPF(CPF){
    //substituir os caracteres que não são números
    var UserName = CPF;
    var UserNameAux = UserName
    UserNameAux = UserNameAux.replace(/[./-]/g,"") //remove '.', '/' e '-'
    UserName = UserName.replace(/\D/g,"") //Remove tudo o que não é dígito
              
    if(UserName.length == 11 && UserName == UserNameAux){//verifica se tem 11 digitos e se não foi entrada nenhuma letra
    
        var CPF = UserName; // Recebe o valor digitado no campo
        // Aqui começa a checagem do CPF
        var POSICAO, I, SOMA, DV, DV_INFORMADO;
        var DIGITO = new Array(10);
        DV_INFORMADO = CPF.substr(9, 2); // Retira os dois últimos dígitos do número informado
         // Desemembra o número do C PF na array DIGITO
        for (I=0; I<=8; I++) {
            DIGITO[I] = CPF.substr( I, 1);
        }
         // Calcula o valor do 10º dígito da verificação
        POSICAO = 10;
        SOMA = 0;
        for (I=0; I<=8; I++) {
            SOMA = SOMA + DIGITO[I] * POSICAO;
            POSICAO = POSICAO - 1;
        }
        DIGITO[9] = SOMA % 11;
        if (DIGITO[9] < 2) {
            DIGITO[9] = 0;
        }
        else{
            DIGITO[9] = 11 - DIGITO[9];
        }
        // Calcula o valor do 11º dígito da verificação
        POSICAO = 11;
        SOMA = 0;
        for (I=0; I<=9; I++) {
            SOMA = SOMA + DIGITO[I] * POSICAO;
            POSICAO = POSICAO - 1;
        }
        DIGITO[10] = SOMA % 11;
        if (DIGITO[10] < 2) {
            DIGITO[10] = 0;
        }
        else {
            DIGITO[10] = 11 - DIGITO[10];
        }
        // Verifica se os valores dos dígitos verificadores conferem
        DV = DIGITO[9] * 10 + DIGITO[10];
        
        if   (DV != DV_INFORMADO) {
           return false;
        }
        else
        {
            return true;
        }
    }
    else
    {
        return false;
    }
    
}
//Verifica Tipo
function VerificaTipo(source,arguments){
    //substituir os caracteres que não são números
    var UserName = arguments.Value;
    UserName = UserName.replace(/[./-]/g,"") //remove '.', '/' e '-'
    UserName = UserName.replace(/\D/g,"") //Remove tudo o que não é dígito
    
    if (UserName.length == 15){
        UserName = UserName.substring(1);
    }
    
    if (UserName.length == 14){
        arguments.IsValid = VerificaCNPJ(UserName);
    }
    else if (UserName.length == 11){
        arguments.IsValid = VerificaCPF(UserName);
    }
    else
    {
        arguments.IsValid = false;
    }
}

function ValidaCNPJ(source,arguments){
    var CNPJ = arguments.Value;
    arguments.IsValid = VerificaCNPJ(CNPJ);
}

var t = "";

//Valida Tamanho
function ValidaTamanho(controle,tamanho){
    var id = controle.id;
    var tam = controle.value.length;
    if (tam <= tamanho){
        t = controle.value;
    }
    else {
        controle.value = t;
    }
}

//Valida Tamanho
function ValidaTamanho(controle,tamanho){
    var id = controle.id;
    var tam = controle.value.length;
    if (tam <= tamanho){
        t = controle.value;
    }
    else {
        controle.value = t;
    }
}

