// valida CPF
function validacpf(sender, args) {
    var i;

    s = args.Value;
    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) {
        args.IsValid = false;
        return;
    }

    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(0) != d1) {
        args.IsValid = false;
        return;
    }

    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) {
        args.IsValid = false;
        return;
    }
    args.IsValid = true;
}

// valida CNPJ
function validaCNPJ(sender, args) {
    CNPJ = args.Value;
    if (CNPJ.length > 0) {

        CNPJ = CNPJ.replace(".", "");
        CNPJ = CNPJ.replace(".", "");
        CNPJ = CNPJ.replace("-", "");
        CNPJ = CNPJ.replace("/", "");

        var nonNumbers = /\D/;
        if (nonNumbers.test(CNPJ)) {
            args.IsValid = false;
            return;
        }

        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])) {
            args.IsValid = false;
            return;
        }

    }
    args.IsValid = true;
}

// Validacao de CPF e CNPJ
function valida_CPFCNPJ(sender, args) {
    if (args.Value.length == 14) {
        valida_CPF(oSrc, args);
    } else if (args.Value.length == 18) {
        valida_CNPJ(oSrc, args);
    } else {
        return args.IsValid = false;
    }
}

//Validacao de CPF
function valida_CPF(sender, args) {
    s = args.Value;

    //substituir os caracteres que nao sao numeros
    if (document.layers && parseInt(navigator.appVersion) == 4) {
        x = s.substring(0, 3);
        x += s.substring(4, 7);
        x += s.substring(8, 11);
        x += s.substring(12, 14);
        s = x;
    } else {
        s = s.replace(".", "");
        s = s.replace(".", "");
        s = s.replace("-", "");
    }

    if (s.length != 11 || 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, 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;
}

//Validacao de CNPJ
function valida_CNPJ(sender, args) {
    s = args.Value;

    //substituir os caracteres que nÆo sÆo n£meros
    if (document.layers && parseInt(navigator.appVersion) == 4) {
        x = s.substring(0, 2);
        x += s.substring(3, 6);
        x += s.substring(7, 10);
        x += s.substring(11, 15);
        x += s.substring(16, 18);
        s = x;
    } else {
        s = s.replace(".", "");
        s = s.replace(".", "");
        s = s.replace("-", "");
        s = s.replace("/", "");
    }

    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 abrirDocumento(cnpj, codimport, referencia, banco) {
    window.open("GeraDocumento.aspx?cnpj=" + cnpj + "&codimp=" + codimport + "&ref=" + referencia + "&bco=" + banco, "frameDocumento", "width=800, height=540, top=0, left=0, scrollbars=yes, toolbar=0, resizable=1");
}

var url_site = "http://www.celggt.com.br/faturanet/Default.aspx";
var titulo_site = ".::CELG G&t :.: Boleto/Fatura Web";

function adiciona_bookmark() {
    if (document.all)
        window.external.AddFavorite(url_site, titulo_site)
    //<a href="javascript:adiciona_bookmark()">Favoritos</a>
}


function centralizarDiv() {
    idDiv = document.getElementById('id_instrucoes');

    if (idDiv.style.display == 'none') {
        idDiv.style.display = document.all ? 'block' : 'table-row';
    } else {
        idDiv.style.display = 'none';
    }
}

function mostraFaturaVencida() {
    alert("Voce possui fatura(s) vencidas, favor entrar em contato para regularizacao.");
    return;
}

