/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

function mascaraCnpj(obj,event,corCampo,corLetra){
    enter=13;
    space=32;
    esc=27;
    del=83;
    backspace=8;
    validos='0123456789';
    aux='';
    if(!corCampo)corCampo='#FF0000';
    if(!corLetra)corLetra='#FFFFFF';
    if(navigator.appName.indexOf('Netscape')!=-1)tecla=event.which;
    else tecla=event.keyCode;
    key=String.fromCharCode(tecla);
    if(tecla==enter)return false;
    else if(tecla==backspace)return true;
    else if(tecla==space)return false;
    else if(tecla==esc)return false;
    else if(tecla==del)return true;
    if(validos.indexOf(key)==-1)return false;
    aux=obj.value;
    aux+=key;
    if(aux.length==2 || aux.length==6)obj.value=aux+'.';
    else if(aux.length==10)obj.value=aux+'/';
    else if(aux.length==15)obj.value=aux+'-';
    else if(aux.length<=18){
        obj.value=aux;
        if(obj.value.length==18)if(!validaCNPJ(obj)){
            obj.style.backgroundColor=corCampo;
            obj.style.color=corLetra;
            obj.focus;
            alert('ATENÇÃO!\n\nCNPJ inválido!');
        }
        }
return false;
}

function validaCNPJ(cnpj){

cnpj = cnpj.value;
    //cnpj = cnpj.trim(cnpj);// retira espaços em branco
    // DEIXA APENAS OS NÚMEROS
    cnpj = cnpj.replace('/','');
    cnpj = cnpj.replace('.','');
    cnpj = cnpj.replace('.','');
    cnpj = cnpj.replace('-','');

    var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
    digitos_iguais = 1;

    if (cnpj.length < 14 && cnpj.length < 15){
        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;
    }







/*
    erro=false;limpo=cnpj.value;limpo=limpo.replace(".","");limpo=limpo.replace(".","");limpo=limpo.replace("/","");limpo=limpo.replace("-","");
    if(limpo.length!=18 || limpo=="000000000000000000" || limpo=="111111111111111111" || limpo=="222222222222222222" || limpo=="333333333333333333" || limpo=="444444444444444444" || limpo=="555555555555555555" || limpo=="666666666666666666" || limpo=="777777777777777777" || limpo=="888888888888888888" || limpo=="999999999999999999")erro=true;
    a=[];b=new Number;c=[6,5,4,3,2,9,8,7,6,5,4,3,2];
    for(i=0;i<12;i++){a[i]=limpo.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((limpo.charAt(12)!=a[12])||(limpo.charAt(13)!=a[13]))erro=true;
    if(erro)return false;
    else return true;*/
}

function validaTamanhoCnpj(obj,corCampo,corLetra){
    if(!corCampo)corCampo='#FF0000';
    if(!corLetra)corLetra='#FFFFFF';
    if(obj.value!='' && obj.value.length<18){
        obj.style.backgroundColor = corCampo;
        obj.style.color = corLetra;
        obj.focus;
        alert('ATENÇÃO!\n\nO campo deve conter 18 caracteres com o formato 99.999.999/9999-99, verifique!');
    }
}
