// Arquivo de funcoes - LEANDRO CANABARRO

function getById( elemento ) {
	return document.getElementById( elemento );
}

function elemento( elemento ) {
	return getById( elemento );
}

function isVisivel( elemento ) {
	return getById( elemento ).style.display == 'block';
}

function mostra( elemento ) {
	getById( elemento ).style.display = 'block';
}
function esconde( elemento ) {
	getById( elemento ).style.display = 'none';
}

function mostraEsconde( elemento ) {
	if ( isVisivel(elemento) )
		esconde( elemento );
	else
		mostra( elemento );
}

// FUNCAO VALIDA CPF - CNPJ
function validar(obj)
{
    var s = (obj.value).replace(/\D/g,'');
    var tam=(s).length; // removendo os caracteres não numéricos

    if (tam == '')
    {
        alert("Informe o CNPJ."); // se quiser mostrar o erro
        return false;
    }else{
        if (tam < 14)
        {
            if (!validaCNPJ(s))
            { // chama a função que valida o CNPJ
                alert("CNPJ informado "+maskCNPJ(s)+" incorreto, por favor verifique."); // se quiser mostrar o erro
                return false;
            }
            obj.value=maskCNPJ(s); // se validou o CNPJ mascaramos corretamente
            return true;
        }else{
            if (tam == 14)
            {
                if (!validaCNPJ(s))
                { // chama a função que valida o CNPJ
                    alert("CPF informado "+maskCNPJ(s)+" incorreto, por favor verifique."); // se quiser mostrar o erro
                    return false;
                }
                obj.value=maskCNPJ(s); // se validou o CNPJ mascaramos corretamente
                return true;
            }
        }
    }
}

// função que valida CNPJ
// O algorítimo de validação de CNPJ é baseado em cálculos
function validaCNPJ(CNPJ)
{
    var a = new Array();
    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]))
    {
        return false;
    }
    return true;
}

// Função que permite apenas teclas numéricas
// Deve ser chamada no evento onKeyPress desta forma
function sonum(e)
{
    if (document.all)
    {
        var evt=event.keyCode;
    }
    else{
        var evt = e.charCode;
    }
    if (evt <20 || (evt > 47 && evt < 58))
    {
        return true;
    }
    return false;
}

// função que mascara o CNPJ
function maskCNPJ(CNPJ)
{
    return CNPJ.substring(0,2)+"."+CNPJ.substring(2,5)+"."+CNPJ.substring(5,8)+"/"+CNPJ.substring(8,12)+"-"+CNPJ.substring(12,14);
}

function janeladownload(pagina){var opcoes="toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizeable=no, "+"left=1, top=1, width=1, height=1";window.open(pagina,"",opcoes);}
