﻿// JavaScript Document

function AjustarCEP(input) {
    if ((event.keyCode < 48) || (event.keyCode > 57)) {
        event.returnValue = false;
    }
    else {
        if (input.value.length == 5) {
            input.value = input.value + "-";
        }
    }
}

function AjustarMoeda(input) {
    if (((event.keyCode >= 48) && (event.keyCode <= 57)) || (event.keyCode == 44)) {
        event.returnValue = true;
    } else {
        event.returnValue = false;
    }
}

function AjustarInteiro(campo) {
    if ((event.keyCode >= 48) && (event.keyCode <= 57)) {
        event.returnValue = true;
    } else {
        event.returnValue = false;
    }
}

function AjustarData(input) {
    if ((event.keyCode < 48) || (event.keyCode > 57)) {
        event.returnValue = false;
    }
    else {
        if ((input.value.length == 2) || (input.value.length == 5)) {
            input.value = input.value + "/";
        }
    }
}

function AjustarTelefone(input, ddd) {

    if ((event.keyCode < 48) || (event.keyCode > 57)) {
        event.returnValue = false;
    }
    else {
        if ((input.value.length == 2) && (ddd == 1)) {
            input.value = input.value + "-";
        }
        else if ((input.value.length == 4) && (ddd == 0)) {
            input.value = input.value + "-";
        }
        else if ((input.value.length == 7) && (ddd == 1)) {
            input.value = input.value + "-";
        }
    }
}

function AjustarHora(input) {
    if ((event.keyCode < 48) || (event.keyCode > 57)) {
        event.returnValue = false;
    }
    else {
        if (input.value.length == 2) {
            input.value = input.value + ":";
        }
    }
}

function AjustarCPF(input) {
    if ((event.keyCode < 48) || (event.keyCode > 57)) {
        event.returnValue = false;
    }
    else {
        if ((input.value.length == 3) || (input.value.length == 7))
            input.value = input.value + ".";
        else {
            if (input.value.length == 11)
                input.value = input.value + "-";
        }
    }
}


function AjustarCNPJ(input) {
    if (input.value.lenght > 18) {
        return false;
    }
    if ((event.keyCode < 48) || (event.keyCode > 57)) {
        event.returnValue = false;
    }
    else {
        if ((input.value.length == 2) || (input.value.length == 6)) {
            input.value = input.value + ".";
        } else {
            if (input.value.length == 10) {
                input.value = input.value + "/";
            } else {
                if (input.value.length == 15) {
                    input.value = input.value + "-";
                }
            }
        }
    }
}

function validarHora(valor) {
    if (valor.length < 5) {
        return false;
    }
    if (valor.indexOf(":") == 2) {
        var hh = valor.slice(0, valor.indexOf(":"));
        var mm = valor.slice(valor.indexOf(":") + 1, 5);
        if (hh >= 0 && hh < 24) {
            if (mm >= 0 && mm < 60) {
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
    } else {
        return false;
    }
}

function validarData(valor) {
    if (valor.length < 10) {
        return false;
    }
    if (valor.indexOf("/") == 2 && valor.lastIndexOf("/") == 5) {
        var DD = valor.slice(0, valor.indexOf("/"));
        var MM = valor.slice(valor.indexOf("/") + 1, valor.lastIndexOf("/"));
        var YY = valor.slice(valor.lastIndexOf("/") + 1, 10);
        if (YY != 0) {
            if (YY % 4 != 0) {
                var DiaFinal = Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
            } else {
                var DiaFinal = Array(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
            }
            if (MM > 0 && MM <= 12) {
                if (DD > 0 && DD <= DiaFinal[MM - 1]) {
                    return true;
                } else {
                    return false;
                }
            } else {
                return false;
            }
        } else {
            return false;
        }
    } else {
        return false;
    }
}


function validarEmail(email) {
    if (email.length != 0) {
        if (email.indexOf(".") != -1 || email.indexOf("@") != -1) {
            if (email.lastIndexOf(".") > email.indexOf("@")) {
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
    } else {
        return false;
    }
}


function validaTecla(campo) {
    if ((event.keyCode < 48) || (event.keyCode > 57)) {
        event.returnValue = false;
    } else {
        campo.value = campo.value;
    }
}

function FormataCNPJ(el) {
    vr = el.value;
    tam = vr.length;


    if (vr.indexOf(".") == -1) {
        if (tam <= 2)
            el.value = vr;
        if ((tam > 2) && (tam <= 6))
            el.value = vr.substr(0, 2) + '.' + vr.substr(2, tam);
        if ((tam >= 7) && (tam <= 10))
            el.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(5, 3) + '/';
        if ((tam >= 11) && (tam <= 18))
            el.value = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(5, 3) + '/' + vr.substr(8, 4) + '-' + vr.substr(12, 2);
    }
    return true;
}

function FormataStringCNPJ(el) {
    vr = el;
    tam = vr.length;
    var retorno = "";

    if (vr.indexOf(".") == -1) {
        if (tam <= 2)
            retorno = vr;
        if ((tam > 2) && (tam <= 6))
            retorno = vr.substr(0, 2) + '.' + vr.substr(2, tam);
        if ((tam >= 7) && (tam <= 10))
            retorno = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(5, 3) + '/';
        if ((tam >= 11) && (tam <= 18))
            retorno = vr.substr(0, 2) + '.' + vr.substr(2, 3) + '.' + vr.substr(5, 3) + '/' + vr.substr(8, 4) + '-' + vr.substr(12, 2);
    }
    return retorno;
}



function FormataCPF(el) {
    vr = el.value;
    tam = vr.length;

    if (vr.indexOf(".") == -1) {
        if (tam <= 3)
            el.value = vr;

        if ((tam > 3) && (tam <= 7))
            el.value = vr.substr(0, 3) + '.' + vr.substr(4, tam);

        if ((tam >= 8) && (tam <= 11))
            el.value = vr.substr(0, 3) + '.' + vr.substr(3, 3) + '.' + vr.substr(5, 3) + '-';

        if ((tam >= 11) && (tam <= 18))
            el.value = vr.substr(0, 3) + '.' + vr.substr(3, 3) + '.' + vr.substr(6, 3) + '-' + vr.substr(9, 2);
    }

    return true;

}

function validarCPF(strcpf) {

    if (strcpf.length < 14) {
        return false;
    }

    var wSomaDosProdutos = 0;
    var wResto = 0;
    var wDigitChk = 0;
    var wDigitChk2 = 0;
    var wStatus = 0;
    var wI = 0;

    if (document.layers && parseInt(navigator.appVersion) == 4) {
        x = strcpf.substring(0, 3);
        x += strcpf.substring(4, 7);
        x += strcpf.substring(8, 11);
        x += strcpf.substring(12, 14);
        strcpf = x;
    } else {
        strcpf = strcpf.replace(".", "");
        strcpf = strcpf.replace(".", "");
        strcpf = strcpf.replace("-", "");
    }

    if (parseInt(strcpf) == 0) {
        return false;
    }

    for (wI = 0; wI < 9; wI++) {
        wSomaDosProdutos += parseInt(strcpf.substring(wI, wI + 1)) * (11 - (wI + 1));
    }

    wResto = wSomaDosProdutos - parseInt(wSomaDosProdutos / 11) * 11;

    if (wResto == 0 || wResto == 1) {
        wDigitChk1 = 0;
    } else {
        wDigitChk1 = 11 - wResto;
    }

    wSomaDosProdutos = 0;

    for (wI = 0; wI < 9; wI++) {
        wSomaDosProdutos += parseInt(strcpf.substring(wI, wI + 1)) * (12 - (wI + 1));
    }

    wSomaDosProdutos += 2 * wDigitChk1;
    wResto = wSomaDosProdutos - parseInt(wSomaDosProdutos / 11) * 11;

    if (wResto == 0 || wResto == 1) {
        wDigitChk2 = 0;
    } else {
        wDigitChk2 = 11 - wResto;
    }

    var ch1 = strcpf.charAt(9);
    var ch2 = strcpf.charAt(10);

    if (strcpf == "" || (parseInt(ch1) == wDigitChk1 && parseInt(ch2) == wDigitChk2)) {
        return (true);
    } else {
        return (false);
    }
}

function validarCNPJ(CNPJ) {
    //	CNPJ = obCNPJ.value;
    //	CNPJ = document.validacao.CNPJID.value;
    erro = new String;

    if (CNPJ.length < 18) erro += "E' necessarios preencher corretamente o numero do CNPJ! \n\n";

    if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-")) {
        if (erro.length == 0) erro += "E' necessarios preencher corretamente o numero do CNPJ! \n\n";
    }
    //substituir os caracteres que nao sao numeros
    if (document.layers && parseInt(navigator.appVersion) == 4) {
        x = CNPJ.substring(0, 2);
        x += CNPJ.substring(3, 6);
        x += CNPJ.substring(7, 10);
        x += CNPJ.substring(11, 15);
        x += CNPJ.substring(16, 18);
        CNPJ = x;
    } else {
        CNPJ = CNPJ.replace(".", "");
        CNPJ = CNPJ.replace(".", "");
        CNPJ = CNPJ.replace("-", "");
        CNPJ = CNPJ.replace("/", "");
    }

    var nonNumbers = /\D/;

    if (nonNumbers.test(CNPJ)) erro += "A verificacao de CNPJ suporta apenas numeros! \n\n";

    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])) {
        erro += "Digito verificador com problema!";
    }

    if (erro.length > 0) {
        //		alert(erro);
        return false;
    } else {
        //		alert("CNPJ valido!");
        return true;
    }
    return true;
}


function AbreJanela(arq, nomejanela, width, height, scroll) {
    var URL = arq
    var NM = nomejanela
    var W = width
    var H = height
    var S = scroll
    var Wpopupsize = (W / 2);
    var Hpopupsize = (H / 2);
    var CenterPopUpX = (screen.width / 2) - (Wpopupsize);
    var CenterPopUpY = (screen.height / 2) - (Hpopupsize);
    var pos = "left=" + CenterPopUpX + ",top=" + CenterPopUpY;
    var janela = window.open("" + URL + "", "" + NM + "", "width=" + W + ",height=" + H + ",scrollbars=" + S + "," + pos);
    janela.focus()
}

function mOvr(src, clrOver) {
    if (!src.contains(event.fromElement)) {
        src.bgColor = clrOver;
    }
}

function mOut(src, clrIn) {
    if (!src.contains(event.toElement)) {
        src.bgColor = clrIn;
    }
}

function mOvrs(src, styleOver) {
    if (!src.contains(event.fromElement)) {
        src.className = styleOver;
    }
}

function mOuts(src, styleIn) {
    if (!src.contains(event.toElement)) {
        src.className = styleIn;
    }
}

function mascara_data(data) {
    var mydata = '';
    mydata = mydata + data;
    if (mydata.length == 2) {
        mydata = mydata + '/';
        document.forms[0].data.value = mydata;
    }
    if (mydata.length == 5) {
        mydata = mydata + '/';
        document.forms[0].data.value = mydata;
    }
    if (mydata.length == 10) {
        verifica_data();
    }
}

function verifica_data() {

    dia = (document.forms[0].data.value.substring(0, 2));
    mes = (document.forms[0].data.value.substring(3, 5));
    ano = (document.forms[0].data.value.substring(6, 10));

    situacao = "";
    // verifica o dia valido para cada mes 
    if ((dia < 01) || (dia < 01 || dia > 30) && (mes == 04 || mes == 06 || mes == 09 || mes == 11) || dia > 31) {
        situacao = "falsa";
    }

    // verifica se o mes e valido 
    if (mes < 01 || mes > 12) {
        situacao = "falsa";
    }

    // verifica se e ano bissexto 
    if (mes == 2 && (dia < 01 || dia > 29 || (dia > 28 && (parseInt(ano / 4) != ano / 4)))) {
        situacao = "falsa";
    }

    if (document.forms[0].data.value == "") {
        situacao = "falsa";
    }

    if (situacao == "falsa") {
        alert("Data inválida!");
        document.forms[0].data.focus();
    }
}

function mascara_hora(hora) {
    var myhora = '';
    myhora = myhora + hora;
    if (myhora.length == 2) {
        myhora = myhora + ':';
        document.forms[0].hora.value = myhora;
    }
    if (myhora.length == 5) {
        verifica_hora();
    }
}

function verifica_hora() {
    hrs = (document.forms[0].hora.value.substring(0, 2));
    min = (document.forms[0].hora.value.substring(3, 5));

    alert('hrs ' + hrs);
    alert('min ' + min);

    situacao = "";
    // verifica data e hora 
    if ((hrs < 00) || (hrs > 23) || (min < 00) || (min > 59)) {
        situacao = "falsa";
    }

    if (document.forms[0].hora.value == "") {
        situacao = "falsa";
    }

    if (situacao == "falsa") {
        alert("Hora inválida!");
        document.forms[0].hora.focus();
    }
}

function LimpaFormato(objeto) {
    objeto.value = objeto.value.replace(",", "");
    objeto.value = objeto.value.replace("/", "");
    objeto.value = objeto.value.replace("-", "");
    objeto.value = objeto.value.replace(".", "");
    objeto.value = objeto.value.replace(".", "");
}

function LimpaFormatoStr(strnoformat) {
    strnoformat = strnoformat.replace(",", "");
    strnoformat = strnoformat.replace("/", "");
    strnoformat = strnoformat.replace("-", "");
    strnoformat = strnoformat.replace(".", "");
    strnoformat = strnoformat.replace(".", "");
    return strnoformat;
}


function MudaTamMaximo(objeto, tamanho) {
    objeto.maxLength = tamanho;
}



function LimitaTamanho(objeto, tamanho) {
    if (objeto.value.length >= tamanho) {
        objeto.value = objeto.value.substring(0, tamanho);
    }
}

function aplicarAcentuacao(str) {

    if (str.length > 0) {
        var acentos = Array('á', 'é', 'í', 'ó', 'ú', 'À', 'È', 'Ì', 'Ò', 'Ù', 'Á', 'É', 'Í', 'Ó', 'Ú', 'Ç', 'ç', 'ã', 'õ', 'Õ', 'Ã', 'ô', 'Ô', 'Â', 'â', 'î', 'Î', 'Û', 'û', 'ê', 'Ê');
        var cod_acentos = Array("&#225;", "&#233;", "&#237;", "&#243;", "&#250;", "&#192;", "&#200;", "&#204;", "&#210;", "&#217;", "&#193;", "&#201;", "&#205;", "&#211;", "&#218;", "&#199;", "&#231;", "&#227;", "&#245;", "&#213;", "&#195;", "&#244;", "&#212;", "&#194;", "&#226;", "&#238;", "&#206;", "&#219;", "&#251;", "&#234;", "&#202;");

        for (i = 0; i < acentos.length; i++) {
            while (str.lastIndexOf(cod_acentos[i]) != -1) {
                str = str.replace(cod_acentos[i], acentos[i]);
            }
        }
    }
    return str;
}

var obHttp = getHTTPObject(); // We create the HTTP Object

function verificaRegistro(Url) {
    obHttp.open("GET", Url, false);
    obHttp.send(null);
    return obHttp.responseText;
}

function getHTTPObject() {
    var xmlhttp;

    /*@cc_on
    @if (@_jscript_version >= 5)
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            xmlhttp = false;
        }
    }
    @else
  xmlhttp = false;
  @end
    @*/

    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        try {
            xmlhttp = new XMLHttpRequest();
        } catch (e) {
            xmlhttp = false;
        }
    }
    return xmlhttp;
}

