﻿function formatarREGISTRO(e, campo)
{
    var code;

    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
    var character = String.fromCharCode(code);

    if(code == 8)
    {
    }    
    else
    {           
        var conteudo;

        conteudo = document.getElementById(campo).value;

        if(conteudo.length == 2)
        {
            conteudo = conteudo + "-";
            document.getElementById(campo).value = conteudo;
        }
        else if(conteudo.length == 9)
        {
            conteudo = conteudo + "/";
            document.getElementById(campo).value = conteudo;  
        }
    }
}

function formatarCPF(e, campo) 
{
    //CPF: XXX.XXX.XXX-XX
        
    //Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=6281&hl=
    var code;

    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
    var character = String.fromCharCode(code);
    
    if(code == 8)
    {
    }    
    else
    {           
        if(code > 47 && code < 58)
        { 
            var conteudo;

            conteudo = document.getElementById(campo).value;

            if(conteudo.length == 3)
            {
                conteudo = conteudo + ".";
                document.getElementById(campo).value = conteudo;
            }
            else if(conteudo.length == 7)
            {
                conteudo = conteudo + ".";
                document.getElementById(campo).value = conteudo;  
            }
            else if(conteudo.length == 11)
            {
                conteudo = conteudo + "-";
                document.getElementById(campo).value = conteudo;  
            }
        }
        else
        {
            event.keyCode = 0;
        }            
    }
}

function formatarCNPJ(e, campo) 
{
    //CNPJ: XX.XXX.XXX/XXXX-XX
    
    //Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=6281&hl=
    var code;

    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
    var character = String.fromCharCode(code);

    if(code == 8)
    {
    }    
    else
    {           
        if(code > 47 && code < 58)
        { 
            var conteudo;

            conteudo = document.getElementById(campo).value;

            if(conteudo.length == 2)
            {
                conteudo = conteudo + ".";
                document.getElementById(campo).value = conteudo;
            }
            else if(conteudo.length == 6)
            {
                conteudo = conteudo + ".";
                document.getElementById(campo).value = conteudo;  
            }
            else if(conteudo.length == 10)
            {
                conteudo = conteudo + "/";
                document.getElementById(campo).value = conteudo;  
            }
            else if(conteudo.length == 15)
            {
                conteudo = conteudo + "-";
                document.getElementById(campo).value = conteudo;  
            } 
        }
        else
        {
            event.keyCode = 0;
        }            
    }
}

function validarCNPJ(campo) {
    var msg = new String;

    var cnpj = document.getElementById(campo).value;

    if(cnpj != "")
    {
        if (cnpj.length < 18){
            msg += "Preencha o CNPJ corretamente\n\n";
            alert(msg);
            document.getElementById(campo).value = "";
            document.getElementById(campo).focus();
            return false;
        } 
        
        if ((cnpj.charAt(2) != ".") || (cnpj.charAt(6) != ".") || (cnpj.charAt(10) != "/") || (cnpj.charAt(15) != "-"))
        {
            if (erro.length == 0){
                msg += "Preencha o CNPJ corretamente\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))
        { 
            msg += "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])) {
            msg +="Digito verificador com problema";
        }
        
        if (msg.length > 0){
            alert("CNPJ Inválido");
            document.getElementById(campo).value = "";
            document.getElementById(campo).focus();
            return false;
        } else {
            return true;
        }
    }
}

function soNumeros(e)
{
    //OnKeyPress="return soNumeros(event);"
    //http://gujs.com.br/forum/viewtopic.php?p=4556&sid=cd30d1dcd23d5eee241a2b770e24ce5d
    if (window.event) //IE 
    { 
        tecla = e.keyCode; 
    } 
    else if (e.which) //FF 
    { 
        tecla = e.which; 
    } 
    //techa==8 �é para permitir o backspace funcionar para apagar 

    if ((tecla >= 48 && tecla <= 57)||(tecla == 8 )) 
    { 
        return true; 
    } 
    else 
    { 
        return false; 
    } 
}

function formatarDATA(e, campo) 
{
    //Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=6281&hl=
    var code;

    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
    var character = String.fromCharCode(code);

    if(code == 8)
    {
    }    
    else
    {           
        if(code > 47 && code < 58)
        { 
            //-------------
            var conteudo;

            conteudo = document.getElementById(campo).value;

            if(conteudo.length == 2)
            {
                conteudo = conteudo + "/";
                document.getElementById(campo).value = conteudo;
            }
            else if(conteudo.length == 5)
            {
                conteudo = conteudo + "/";
                document.getElementById(campo).value = conteudo;  
            }
        }
        else
        {
            event.keyCode = 0;
        }            
    }
}

/*
function validarDATA(campo) {
    var expReg = /^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[1-2][0-9]\d{2})$/;
    var msgErro = 'Data Inválida';
    var data = document.getElementById(campo).value;
    
    if(data != "")
    {
        if(data.length < 10)
        {
            alert("Preencha a Data corretamente");
            document.getElementById(campo).value = "";
            document.getElementById(campo).focus();
            return false;
        }
        
        if ((data.match(expReg)) && (data.value!='')) 
        {
              var barras = data.split("/");
              var dia = barras[0];
              var mes = barras[1];
              var ano = barras[2];
              var d = new Date(ano, mes-1, dia);
              if(dia != d.getDate())
              {
                 return false;
              }
              else if(mes != (d.getMonth() + 1))
              {
                 return false;
              }
              else if(ano != d.getFullYear())
              {
                 return false;
              }else
              {
                 return true;
              }
            //return true;
        } else {
            alert(msgErro);
            document.getElementById(campo).value = "";
            document.getElementById(campo).focus();
            return false;
        }
    }
}
*/

function validarDATA(campo) 
{
    //http://www.vivaolinux.com.br/scripts/verScript.php?codigo=2936
    var RegExPattern = /^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;
    var data = document.getElementById(campo).value;

    if(data != "")
    {
        if(data.length < 10)
        {
            alert("Preencha a Data corretamente");
            document.getElementById(campo).value = "";
            document.getElementById(campo).focus();
            return false;
        }
    
        if (!((data.match(RegExPattern)) && (data.value!=''))) 
        {
            alert('Data inválida');
            document.getElementById(campo).value = "";
            document.getElementById(campo).focus();
            return false;
        }
    }
}
      
function validarEMAIL(campo) {
    /*
    http://www.mhavila.com.br/topicos/web/valform.html
    
    reEmail1 = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*
                 @(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
    reEmail2 = /^[\w-]+(\.[\w-]+)*@(([\w-]{2,63}\.)+[A-Za-z]{2,6}
                 |\[\d{1,3}(\.\d{1,3}){3}\])$/;
    reEmail3 = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+
                 [A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
    */

    var expReg = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
    var msgErro = 'Email Inválido';
    var email = document.getElementById(campo).value;
    
    if(email != "")
    {
        if ((email.match(expReg)) && (email.value!='')) {
            return true;
        } else {
            alert(msgErro);
            document.getElementById(campo).value = "";
            document.getElementById(campo).focus();
            return false;
        }
    }
}

function formatarCEP(e, campo) 
{
    //Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=6281&hl=
    var code;

    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
    var character = String.fromCharCode(code);

    if(code == 8)
    {
    }    
    else
    {           
        if(code > 47 && code < 58)
        { 
            //-------------
            var conteudo;

            conteudo = document.getElementById(campo).value;

            if(conteudo.length == 5)
            {
                conteudo = conteudo + "-";
                document.getElementById(campo).value = conteudo;
            }
        }
        else
        {
            event.keyCode = 0;
        }            
    }
}

function mensagemConfirmacao(msg)
{
    return confirm(msg);
}

function voltar()
{
    history.go(-1);
}

function maiuscula(e, campo) 
{
    if (window.event) //IE 
    { 
        tecla = e.keyCode; 
    } 
    else if (e.which) //FF 
    { 
        tecla = e.which; 
    } 
    
    /*
    8 - Backspace
    9 - TAB
    45 - Insert
    46 - Delete
    36 - Home
    35 - End
    37 - Seta Esquerda
    39 - Seta Direita
    */
    
    if(tecla != 8 &&  tecla != 9  && tecla != 35 && tecla != 36 &&
       tecla != 37 && tecla != 39 && tecla != 45 && tecla != 46)
    {
        document.getElementById(campo).value = document.getElementById(campo).value.toUpperCase();
    }
}

function minuscula(e, campo) 
{
    if (window.event) //IE 
    { 
        tecla = e.keyCode; 
    } 
    else if (e.which) //FF 
    { 
        tecla = e.which; 
    } 
    
    /*
    8 - Backspace
    9 - TAB
    45 - Insert
    46 - Delete
    36 - Home
    35 - End
    37 - Seta Esquerda
    39 - Seta Direita
    */
    
    if(tecla != 8 &&  tecla != 9  && tecla != 35 && tecla != 36 &&
       tecla != 37 && tecla != 39 && tecla != 45 && tecla != 46)
    {
        document.getElementById(campo).value = document.getElementById(campo).value.toLowerCase();
    }
}

function validarCPF(campo) 
{
    var cpf = document.getElementById(campo).value;
    var cpf_aux = "";
    
    if(cpf != null && cpf != "")
    {
        for (i = 0; i <= cpf.length - 1; i++)
        {
            if ((cpf.charAt(i)).match(/\d/))
            { 
                cpf_aux += cpf.charAt(i);
            }
        }            
       
        if (cpf_aux.length != 11) 
        {
            alert ("Preencha o CPF corretamente");
            document.getElementById(campo).value = "";
            document.getElementById(campo).focus();
            return false;
        }

        soma1 = soma2 = 0;

        for (i = 0; i <= 8; i++) 
        {
            soma1 += cpf_aux.charAt(i) * (10-i);
            soma2 += cpf_aux.charAt(i) * (11-i);
        }

        d1 = ((soma1 * 10) % 11) % 10;
        d2 = (((soma2 + (d1 * 2)) * 10) % 11) % 10;

        if ((d1 != cpf_aux.charAt(9)) || (d2 != cpf_aux.charAt(10))) 
        {
            alert ("CPF Inválido");
            document.getElementById(campo).value = "";
            document.getElementById(campo).focus();
            return false;
        }
    }

    return true;
}

function EmitirBoleto(form,NumeroProtocolo,Nome,Endereco,Bairro,CEP,Cidade,UF)
{
   form.NumeroProtocolo.value =  NumeroProtocolo;
   form.Nome.value =  Nome;
   form.Endereco.value =  Endereco;
   form.Bairro.value =  Bairro;
   form.CEP.value =  CEP;
   form.Cidade.value =  Cidade;
   form.UF.value =  UF; 
   
   form.submit();
   return false;
}

function EmitirBoleto(form,Rotina,NumeroProtocolo,Nome,Endereco,Bairro,CEP,Cidade,UF, CPF)
{
   form.Rotina.value = Rotina;
   form.NumeroProtocolo.value =  NumeroProtocolo;
   form.Nome.value =  Nome;
   form.Endereco.value =  Endereco;
   form.Bairro.value =  Bairro;
   form.CEP.value =  CEP;
   form.Cidade.value =  Cidade;
   form.UF.value =  UF; 
   form.CPF = CPF;
   
   form.submit();
   return false;
}

function EmviarVISA(form,tid,order,orderid,bank,bin,merchid,free,damount)
{
   form.tid.value =  tid;
   form.order.value =  order;
   form.orderid.value =  orderid;
   form.bank.value =  bank;
   form.bin.value =  bin;
   form.merchid.value =  merchid;
   form.free.value =  free; 
   form.damount.value =  damount;
   
   form.submit();
   return false;
}

function popup(pagina, largura, altura)
{
    window.open(pagina,'','resizable=yes,menubar=yes,scrollbars=yes,width=' + largura + ',height=' + altura + '');
}

function changeEnter() 
{
    if (event.keyCode == 13 || event.keyCode == 3) 
    { 
        event.keyCode = 9;
        return;
    }
}

function strPad(campo, tamanho, carac, dir) 
{ 
    //OnBlur="strPad('TextBox2',6,'0','L');"
    //http://gujs.com.br/forum/viewtopic.php?p=296&sid=cc18516ebc4e57bea0f855358b331b34
    var conteudo = document.getElementById(campo).value;
    
    if(conteudo == null || conteudo == '') conteudo = ''; 

    if(conteudo != '')
    {
        var ret = ''; 
        var nro = tamanho - (conteudo.length); 
        for(var i = 0; i < nro; i++) ret += carac; 

        //dir = 'R' => Right; dir = 'L' => Left; 
        if(dir == 'R') 
            ret = conteudo + ret; 
        else if(dir == 'L') 
            ret += conteudo; 
        
        document.getElementById(campo).value = ret; 
    }
    return; 
}

function formatarTELEFONE(e, campo) 
{
    //Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=6281&hl=
    var code;

    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
    var character = String.fromCharCode(code);

    if(code == 8)
    {
    }    
    else
    {           
        if(code > 47 && code < 58)
        { 
            //-------------
            var conteudo;

            conteudo = document.getElementById(campo).value;

            if(conteudo.length == 4)
            {
                conteudo = conteudo + "-";
                document.getElementById(campo).value = conteudo;
            }
        }
        else
        {
            event.keyCode = 0;
        }            
    }
}

function Sobrenome(pnome, psobrenome) 
{
    var nome = document.getElementById(pnome).value;
    if(nome != "")
    {
        var achou = false;
        var composicao = nome.split(' ');
        var sobrenome;
        
        for(var i = 0; i < composicao.length; i++)
        {
            switch(composicao[i])
            {
                case "FILHO":
                    achou = true;
                    break
                case "NETO":
                    achou = true;
                    break;
                case "SOBRINHO":
                    achou = true;
                    break;
                case "JUNIOR":
                    achou = true;
                    break;
                case "JUNIOR":
                    achou = true;
                    break;
                case "FILHA":
                    achou = true;
                    break;
                case "NETA":
                    achou = true;
                    break;
                case "SOBRINHA":
                    achou = true;
                    break;
            }
            
            if(achou)
            {
                break;
            }
        }
        
        if(!achou)
        {
            sobrenome = composicao[composicao.length - 1];
        }
        else
        {
            sobrenome = composicao[composicao.length - 2] + ' ' + composicao[composicao.length - 1];
        }
        
        document.getElementById(psobrenome).value = sobrenome;
    }
}

var oldgridSelectedColor;
 
function setMouseOverColor(element)
{
    oldgridSelectedColor = element.style.backgroundColor;
    element.style.backgroundColor='#F8F8FF'; 
    element.style.cursor='hand';
}

function setMouseOutColor(element)
{
     element.style.backgroundColor=oldgridSelectedColor;
     element.style.textDecoration='none';
}

var OldColor;
function setColorOnFocus(element)
{
    OldColor = element.style.backgroundColor;
    element.style.backgroundColor='#FFFACD'; 
}

function setColorOnBlur(element)
{
     element.style.backgroundColor=OldColor;
}

function MudarCorFundo(element, cororiginal, cor, valor)
{
    if(valor > 1)
    {
        element.style.backgroundColor=cor; 
    }
    else
    {
        element.style.backgroundColor=cororiginal;
    }
}

