

function abrirModulo(id){
    var moduloToOpen = document.getElementById(id);
    var modulos = document.getElementById('modulos_box');

    if(moduloToOpen){
        for(var i in modulos.childNodes){
            if (
                modulos.childNodes[i].nodeName == "DIV" &&
                modulos.childNodes[i].className =="modulo"
            ) {
                modulos.childNodes[i].style.display = 'none';
            }
        }
        moduloToOpen.style.display = '';
    }
}
function fecharModulo(id){
    if(document.getElementById(id)){
        document.getElementById(id).style.display = 'none';
    }
}

function abrirSubMenu(idSubMenu, idLink){
    var submenu = document.getElementById(idSubMenu);
    var link = document.getElementById(idLink);

    if(submenu){
        submenu.style.display = '';
        if(link){
            link.style.backgroundColor = '#1c4c7e';
            link.style.backgroundImage = 'url(imgs/bt_menu.jpg)';
            link.style.color = '#ffffff';
        }
    }
}

function fecharSubMenu(idSubMenu, idLink){
    var submenu = document.getElementById(idSubMenu);
    var link = document.getElementById(idLink);

    if(submenu){
        submenu.style.display = 'none';
        if(link){
            link.style.backgroundColor = '';
            link.style.backgroundImage = '';
            link.style.color = '';
        }
    }
}


function abrirJanela(url, tamx, tamy) {
    window.open(url, "", "resizable=yes,toolbar=no,status=no,menubar=no,scrollbars=yes,width="+tamx+",height="+tamy);
}

function abrir_fechar(id){
    var elementoId = document.getElementById(id);
    if(elementoId.style.display == "none"){
        elementoId.style.display = "";
    }else{
        elementoId.style.display = "none";
    }
}

function set_reset_texto(id, texto1, texto2){
    var elementoId = document.getElementById(id);
    if(elementoId.childNodes[0].nodeValue == texto1){
        elementoId.childNodes[0].nodeValue = texto2;
    } else {
        elementoId.childNodes[0].nodeValue = texto1;
    }
}

function set_reset_imagem(id, img1, img2){
    var elementoId = document.getElementById(id);
    if(elementoId.src == img1){
        elementoId.src = img2;
    } else {
        elementoId.src = img1;
    }
}

function clearAllInputs(form) {

    var i1, i2, input;

    if (form) {
        for (i1 = 0; i1 < form.elements.length; i1++) {
            input = form.elements[i1];

            if(input.type == 'text'){
                input.value = '';
            }
            if(input.type == 'select-one'){
                input.selectedIndex = 0;
            }
        }
    } else {
        for (i1 = 0; i1 < document.forms.length; i1++) {
            for (i2 = 0; i2 < document.forms[i1].elements.length; i2++) {
                input = document.forms[i1].elements[i2];

                if(input.type == 'text'){
                    input.value = '';
                }
                if(input.type == 'select-one'){
                    input.selectedIndex = 0;
                }
            }
        }
    }
}

function formatarData(input, event) {
    var tecla = event.keyCode;
    var value = input.value;
    value = value.replace('.', '', 'g');
    value = value.replace('/', '', 'g');
    var tam = value.length + 1;

    if (tecla != 9 && tecla != 8) {
        if (tam > 2 && tam <= 4) {
            input.value = value.substr(0, 2) + '/' + value.substr(2, 2);
        }
        if (tam > 4) {
            input.value = value.substr(0, 2) + '/' + value.substr(2, 2) + '/' + value.substr(4, 4);
        }
        if (tam > 8) {
            //return false;
        }
    }
    return true;
}


function formatarHora(input, event) {
    var tecla = event.keyCode;
    var value = input.value;
    value = value.replace('.', '', 'g');
    value = value.replace(':', '', 'g');
    var tam = value.length + 1;

    if (tecla != 9 && tecla != 8) {
        if (tam > 2 && tam <= 4) {
            input.value = value.substr(0, 2) + ':' + value.substr(2, 2);
        }
        if (tam > 4 && tam <= 6 && input.maxLength > 5 ) {
            input.value = value.substr(0, 2) + ':' + value.substr(2, 2) + ':' + value.substr(4, 2);
        }
    }
}

function validarCpf(cpf) {
    var numeros, digitos, soma, i, resultado, digitos_iguais;
    digitos_iguais = 1;

    cpf = cpf.replace(/\D/g, '');

    if (cpf.length != 11) {
        return false;
    }
    for (i = 0; i < cpf.length - 1; i++) {
        if (cpf.charAt(i) != cpf.charAt(i + 1)) {
            digitos_iguais = 0;
            break;
        }
    }
    if (!digitos_iguais) {
        numeros = cpf.substring(0,9);
        digitos = cpf.substring(9);
        soma = 0;
        for (i = 10; i > 1; i--) {
            soma += numeros.charAt(10 - i) * i;
        }
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(0)) {
            return false;
        }
        numeros = cpf.substring(0,10);
        soma = 0;
        for (i = 11; i > 1; i--) {
            soma += numeros.charAt(11 - i) * i;
        }
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(1)) {
            return false;
        }
        return true;
    } else {
        return false;
    }
}

function validarCnpj(cnpj) {
    var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
    digitos_iguais = 1;

    cnpj = cnpj.replace(/\D/g, '');

    if (cnpj.length != 14) {
        return false;
    }
    for (i = 0; i < cnpj.length - 1; i++) {
        if (cnpj.charAt(i) != cnpj.charAt(i + 1)) {
            digitos_iguais = 0;
            break;
        }
    }
    if (!digitos_iguais) {
        tamanho = cnpj.length - 2
        numeros = cnpj.substring(0,tamanho);
        digitos = cnpj.substring(tamanho);
        soma = 0;
        pos = tamanho - 7;
        for (i = tamanho; i >= 1; i--) {
            soma += numeros.charAt(tamanho - i) * pos--;
            if (pos < 2) {
                pos = 9;
            }
        }
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(0)) {
            return false;
        }
        tamanho = tamanho + 1;
        numeros = cnpj.substring(0,tamanho);
        soma = 0;
        pos = tamanho - 7;
        for (i = tamanho; i >= 1; i--) {
            soma += numeros.charAt(tamanho - i) * pos--;
            if (pos < 2) {
                pos = 9;
            }
        }
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(1)) {
            return false;
        }
        return true;
    } else {
        return false;
    }
}

function validarRg(rg) {
    rg = rg.replace(/\D/g, '');
    if(!/^\d{10}$/.test(rg)) {
        return false;
    }
    return true;
}

function validarCep(cep) {
    cep = cep.replace(/\D/g, '');
    if(!/^\d{8}$/.test(cep)) {
        return false;
    }
    return true;
}

function validarEmail( email ) {
    if( !/^[\w\d-\._]*\@[\w\d-\._]*\.[\w\d-\._]*$/.test( email ) ) {
        return false;
    }
    return true;
}

function getPage( location , pageUrl ){
    $(location).load(pageUrl);
}

function abreElemento(id){
    document.getElementById(id).style.display = "";
//document.getElementById(link).setAttribute("href", "javascript:fechaElemento('"+id+"', '"+link+"')");
}
function fechaElemento(id){
    document.getElementById(id).style.display = "none";
//document.getElementById(link).setAttribute("href", "javascript:abreElemento('"+id+"', '"+link+"')");
}

function teste(id){
    var elementoId = document.getElementById(id);
    if(elementoId.style.display == "none"){
        elementoId.style.display = "";
    }else{
        elementoId.style.display = "none";
    }
}
function teste2(id, texto1, texto2){
    var elementoId = document.getElementById(id);
    if(elementoId.childNodes[0].nodeValue == texto1){
        elementoId.childNodes[0].nodeValue = texto2;
    } else {
        elementoId.childNodes[0].nodeValue = texto1;
    }
}
// Javascript Document
//adiciona mascara de cnpj
function MascaraCNPJ(cnpj,evento){
        if(mascaraInteiro(evento)==false){
                evento.returnValue = false;
        }
        return formataCampo(cnpj, '00.000.000/0000-00', evento);
}

//adiciona mascara de cep
function MascaraCep(cep,evento){
        if(mascaraInteiro(evento)==false){

            evento.returnValue = false;
        }
        return formataCampo(cep, '00.000-000', evento);
}

//adiciona mascara de data
function MascaraData(data){
        if(mascaraInteiro(data)==false){
                event.returnValue = false;
        }
        return formataCampo(data, '00/00/0000', event);
}

//adiciona mascara ao telefone
function MascaraTelefone(tel,evento){
        if(mascaraInteiro(evento)==false){
                evento.returnValue = false;
        }
        return formataCampo(tel, '(00) 0000-0000', evento);
}

//adiciona mascara ao CPF
function MascaraCPF(cpf,evento){
        if(mascaraInteiro(evento)==false){
                evento.returnValue = false;
        }
        return formataCampo(cpf, '000.000.000-00', evento);
}

//valida telefone
function ValidaTelefone(tel){
        exp = /\(\d{2}\)\ \d{4}\-\d{4}/
        if(!exp.test(tel.value))
                alert('Numero de Telefone Invalido!');
}

//valida CEP
function ValidaCep(cep){
        exp = /\d{2}\.\d{3}\-\d{3}/
        if(!exp.test(cep.value))
                alert('Numero de Cep Invalido!');
}

//valida data
function ValidaData(data){
        exp = /\d{2}\/\d{2}\/\d{4}/
        if(!exp.test(data.value))
                alert('Data Invalida!');
}

//valida o CPF digitado
function ValidarCPF(Objcpf){
        var cpf = Objcpf.value;
        exp = /\.|\-/g
        cpf = cpf.toString().replace( exp, "" );
        var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
        var soma1=0, soma2=0;
        var vlr =11;

        for(i=0;i<9;i++){
                soma1+=eval(cpf.charAt(i)*(vlr-1));
                soma2+=eval(cpf.charAt(i)*vlr);
                vlr--;
        }
        soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
        soma2=(((soma2+(2*soma1))*10)%11);

        var digitoGerado=(soma1*10)+soma2;
        if(digitoGerado!=digitoDigitado)
                alert('CPF Invalido!');
}

//valida numero inteiro com mascara
function mascaraInteiro(evento){
    var e = evento.keyCode ? evento.keyCode : evento.which ? evento.which : evento.charCode;
    if (e < 48 || e > 57){
        evento.returnValue = false;
        return false;
    }
    return true;
}

//valida o CNPJ digitado
function ValidarCNPJ(ObjCnpj){
        var cnpj = ObjCnpj.value;
        var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
        var dig1= new Number;
        var dig2= new Number;

        exp = /\.|\-|\//g
        cnpj = cnpj.toString().replace( exp, "" );
        var digito = new Number(eval(cnpj.charAt(12)+cnpj.charAt(13)));

        for(i = 0; i<valida.length; i++){
                dig1 += (i>0? (cnpj.charAt(i-1)*valida[i]):0);
                dig2 += cnpj.charAt(i)*valida[i];
        }
        dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
        dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));

        if(((dig1*10)+dig2) != digito)
                alert('CNPJ Invalido!');

}

//formata de forma generica os campos
function formataCampo(campo, Mascara, evento) {
        var boleanoMascara;

        var Digitato = evento.keyCode;
        exp = /\-|\.|\/|\(|\)| /g
        campoSoNumeros = campo.value.toString().replace( exp, "" );

        var posicaoCampo = 0;
        var NovoValorCampo="";
        var TamanhoMascara = campoSoNumeros.length;;

        if (Digitato != 8) { // backspace
                for(i=0; i<= TamanhoMascara; i++) {
                        boleanoMascara  = ((Mascara.charAt(i) == "-") || (Mascara.charAt(i) == ".")
                                                                || (Mascara.charAt(i) == "/"))
                        boleanoMascara  = boleanoMascara || ((Mascara.charAt(i) == "(")
                                                                || (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " "))
                        if (boleanoMascara) {
                                NovoValorCampo += Mascara.charAt(i);
                                  TamanhoMascara++;
                        }else {
                                NovoValorCampo += campoSoNumeros.charAt(posicaoCampo);
                                posicaoCampo++;
                          }
                  }
                campo.value = NovoValorCampo;
                  return true;
        }else {
                return true;
        }
}
function formataInt(campo) {

    // var tecla = teclapres.keyCode;
    var vr = document.getElementById(campo).value;
    //alert(campo);
    vr = vr.replace(" ", "" );
    // Tabela asci
    vr = vr.replace(/[:-~чи/]/,'');
    vr = vr.replace( ",", "" );
    vr = vr.replace( ".", "" );
    vr = vr.replace(/[!--]/,'');

    document.getElementById(campo).value = vr;

}
