﻿function LimitaCaracteresTextArea(selector, qtde, lan) {
    if (qtde == undefined || qtde == null || isNaN(qtde))
        qtde = 1000;
    var inputsToMaxLength = $(selector);
    inputsToMaxLength.keyup(function() {
        if ($(this).val().length > qtde) {
            $(this).val($(this).val().substr(0, qtde));
        }
        if (lan == 'en') {
            $('.resta:first', $(this).parent()).text('You still have ' + (qtde - $(this).val().length) + ' characters left');
        }
        else {
            $('.resta:first', $(this).parent()).text('Você ainda tem ' + (qtde - $(this).val().length) + ' caracteres restantes');
        }
    });

    inputsToMaxLength.each(function() {
        if (lan == 'en') {
            $('.resta:first', $(this).parent()).text('You still have ' + (qtde - $(this).val().length) + ' characters left');
        }
        else {
            $('.resta:first', $(this).parent()).text('Você ainda tem ' + (qtde - $(this).val().length) + ' caracteres restantes');
        }
    });
};

function LimparComponentes(id) {
    var div = (id == undefined ? ' ' : id + ' ');
    $(div + 'input[type=text], ' + div + 'textarea').val('');
    $(div + 'input[type=checkbox], ' + div + 'input[type=radio]').attr('checked', false);
    $(div + 'select option:first-child').attr("selected", "selected");
    $(div + 'select option').each(function() {
        $(this).removeAttr("selected");
    });
}

// Validação de CPF e CNPJ

function valida_CPFCNPJ(oSrc, args) {
    if (args.Value.length == 11) {
        valida_CPF(oSrc, args);
    } else if (args.Value.length > 11) {
        valida_CNPJ(oSrc, args);
    } else {
        return args.IsValid = false;
    }
}

//Validação de CPF

function valida_CPF(oSrc, args) {

    var s = args.Value.replace(/\D/g, "");
    if (s == "" || s == undefined || s == "00000000000" || s == "11111111111" || s == "22222222222" || s == "33333333333" ||
        s == "44444444444" || s == "55555555555" || s == "66666666666" || s == "77777777777" ||
        s == "88888888888" || s == "99999999999") {
        return args.IsValid = false;
    }

    //args.isValid = (s >= 3);

    //document.write(oSrc.Value + ',' + args.Value);

    if (isNaN(s)) {

        return args.IsValid = false;

    }

    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;

}

//Validação de CNPJ

function valida_CNPJ(oSrc, args) {

    var s = args.Value.replace(/\D/g, "");
    if (s == "00000000000" || s == "11111111111" || s == "22222222222" || s == "33333333333" ||
        s == "44444444444" || s == "55555555555" || s == "66666666666" || s == "77777777777" ||
        s == "88888888888" || s == "99999999999") {
        return args.IsValid = false;
    }

    if (isNaN(s)) {

        return args.IsValid = false;

    }

    var i;

    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 MakeInvalidInputsRed(validationGroup) {
    for (var i = 0; i < Page_Validators.length; i++) {
        if (Page_Validators[i].validationGroup === validationGroup) {
            $('#' + Page_Validators[i].controltovalidate).removeClass('invalid');
        }
    }

    for (var i = 0; i < Page_Validators.length; i++) {
        if (Page_Validators[i].validationGroup === validationGroup) {
            if (!Page_Validators[i].isvalid) {
                $('#' + Page_Validators[i].controltovalidate).addClass('invalid');
            }
        }
    }
};
*/
