function MascaraCNPJ(cnpj,event){if(!event)var event=window.event;return formataCampo(cnpj,'00.000.000/0000-00',event);}
function MascaraIE(ie,event){if(!event)var event=window.event;return formataCampo(ie,'00.000.00-0',event);}
function MascaraReferencia(ref,event){if(!event)var event=window.event;return formataCampo(ref,'00.000',event);}
function MascaraCep(cep,event){if(!event)var event=window.event;return formataCampo(cep,'00000-000',event);}
function MascaraData(data,event){if(!event)var event=window.event;return formataCampo(data,'00/00/0000',event);}
function MascaraTelefone(tel,event){if(!event)var event=window.event;return formataCampo(tel,'(00) 0000-0000',event);}
function MascaraTelefoneSemDDD(tel,event){if(!event)var event=window.event;return formataCampo(tel,'0000-0000',event);}
function MascaraDDD(ddd,event){if(!event)var event=window.event;return formataCampo(ddd,'00',event);}
function MascaraCPF(cpf,event){if(!event)var event=window.event;return formataCampo(cpf,'000.000.000-00',event);}
function ValidaTelefone(tel){exp=/\(\d{2}\)\ \d{4}\-\d{4}/;if(!exp.test(tel.value)){alert('Numero de Telefone Invalido!');}}
function ValidaCep(cep){exp=/\d{2}\.\d{3}\-\d{3}/;if(!exp.test(cep.value)){alert('Numero de Cep Invalido!');}}
function ValidaData(data){exp=/\d{2}\/\d{2}\/\d{4}/;if(!exp.test(data.value)){alert('Data Invalida!');}}


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){return false;}else{return true;}}

function mascaraInteiro(event){if(event.keyCode<48||event.keyCode>57){event.returnValue=false;return false;}
return true;}

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){return false;}else{return true;}}

function formataCampo(campo,Mascara,evento){var boleanoMascara;var Digitato;if(evento.keyCode)Digitato=evento.keyCode;else if(evento.which)Digitato=evento.which;exp=/[^0-9]|/g;campoSoNumeros=campo.value.toString().replace(exp,"");var numerosDaMascara=Mascara.replace(exp,"");if(campoSoNumeros.length>numerosDaMascara.length){campoSoNumeros=campoSoNumeros.substr(0,numerosDaMascara.length);}
var posicaoCampo=0;var NovoValorCampo="";var TamanhoMascara=campoSoNumeros.length;if(Digitato!=8){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;}}



////////////////////////////////////////////////////////////////////////////////////////////////////
//Função que permite apenas valores Numéricos na digitação
////////////////////////////////////////////////////////////////////////////////////////////////////
function fnNumerico(tecla){
 if ((tecla > 0 && tecla < 48) || tecla > 57)
  event.returnValue = false;
}
////////////////////////////////////////////////////////////////////////////////////////////////////
//Função que permite apenas valores Monetários (números com vírgulas) na digitação
////////////////////////////////////////////////////////////////////////////////////////////////////
function fnMonetario(campo,tecla){
 if (tecla>=48 && tecla<=57){		
	 event.returnValue = true;
	}else if (tecla==44 && campo.value.indexOf(',')==-1 && campo.value.length>0){
		event.returnValue = true;
	}else{
		event.returnValue = false;
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////////
//Função que formata um cmapo para valor decimal
////////////////////////////////////////////////////////////////////////////////////////////////////
function fnValorDecimal(campooriginal,decimais)
{
 var posicaoPontoDecimal;
 var campo = '';
 var resultado = '';
 var pos,sep,dec;

 //Retira possiveis separadores de milhar
 for (pos=0; pos < campooriginal.value.length; pos ++){
		if (campooriginal.value.charAt(pos)!='.'){
   campo = campo + campooriginal.value.charAt(pos);
		}
 }     

 //Formata valor monetário com decimais
 posicaoPontoDecimal = campo.indexOf(',');
 if (posicaoPontoDecimal != -1){
  sep = 0;
  for (pos=posicaoPontoDecimal-1;pos >= 0;pos--){
   sep ++;
   if (sep > 3){
    resultado = '.' + resultado;
    sep = 1;
   }
   resultado = campo.charAt(pos) + resultado;   
  }
  // Trata parte decimal
  if (parseInt(decimais) > 0 ){
   resultado = resultado + ',';      
   pos=posicaoPontoDecimal+1;
   for (dec = 1;dec <= parseInt(decimais); dec++){
    if (pos < campo.length){
     resultado = resultado + campo.charAt(pos);
     pos++;
    }else{
     resultado = resultado + '0';   
				}
   }
  } // trata decimais
 }else{ // Trata valor monetário sem decimais
  sep = 0;
  for (pos=campo.length-1;pos >= 0;pos--){
   sep ++;
   if (sep > 3){
    resultado = '.' + resultado;
    sep = 1;
   }
   resultado = campo.charAt(pos) + resultado;   
  }
  // Trata parte decimal
  if (parseInt(decimais) > 0 ){
   resultado = resultado + ',';
   for (dec = 1;dec <= parseInt(decimais); dec++){
    resultado = resultado + '0';   
   }
  } // trata decimais
 }
	if(resultado==',00'){
		resultado = '0,00'; 
	}
 campooriginal.value = resultado;
}
////////////////////////////////////////////////////////////////////////////////////////////////////
//Função que permite apenas valores Hexadecimais
////////////////////////////////////////////////////////////////////////////////////////////////////
function fnHexadecimal(tecla){
 if ((tecla > 0 && tecla < 48) || (tecla > 57 && tecla < 60) || (tecla > 70 && tecla < 97) || tecla >102)
  event.returnValue = false;
}