//Função para validar o CPF/CNPJ
//validarCPFCNPJ(frm_ctb0301.txt_nr_cpf_cnpj.value)
//Criada por Carlos Augusto Meurer em 21/08/2003

function validarCPFCNPJ(fieldCPF_CNPJ) {
//alert(fieldCPF_CNPJ);
  var cpf_cnpj = new String(fieldCPF_CNPJ);
  cpf_cnpj= cpf_cnpj.replace('/', '-');  
  cpf_cnpj= cpf_cnpj.replace(/[.-]/g, '');

  if (cpf_cnpj!=''){	
	if ((cpf_cnpj.length == 11)||(cpf_cnpj.length == 14)){

		if (cpf_cnpj.length == 11){	
			var cpf= new String(fieldCPF_CNPJ);
			cpf= cpf.replace(/[.-]/g, '');
			
			dv = 0;
			for(i=0; i < 9; i++)
				dv+= cpf.charAt(i) * (10-i);
			dv = 11 - (dv % 11);
			if(dv > 9) dv= 0;
		
			if (cpf.charAt(9) != dv){
				alert("Número do CPF Inválido");
				return false;
			}
			
			dv*= 2;
		
			for(i=0; i < 9; i++)
				dv+= cpf.charAt(i) * (11-i);
			dv = 11 - (dv % 11);
			if(dv > 9) dv= 0;
		
			if(cpf.charAt(10) != dv){
				alert("Número do CPF Inválido");
				return false;
			}
			
			return true;
		}
		
		if (cpf_cnpj.length == 14){

			var cnpj= new String(cpf_cnpj);
			//cnpj= cnpj.replace(/[.-]/g, '');
			//alert(cnpj);			
			var dig1=0;
			var dig2=0;
			var x;
			var Mult1 = '543298765432';
			var Mult2 = '6543298765432';
		
			for(x=0; x<=11; x++)
				dig1 = dig1 + ( parseInt(cnpj.slice(x,x+1), 10) * parseInt(Mult1.slice(x,x+1), 10) );
			for(x=0; x<=12; x++)
				dig2 = dig2 + ( parseInt(cnpj.slice(x, x+1), 10) * parseInt(Mult2.slice(x,x+1), 10) );
		
			dig1 = (dig1 * 10)%11;
			dig2 = (dig2 * 10)%11;
				
			if (dig1 == 10) dig1 = 0;
			if (dig2 == 10) dig2 = 0;
		
			if (dig1 != parseInt(cnpj.slice(12, 13), 10)){
				alert("Número do CNPJ Inválido");
				return false;
			}
			
			if (dig2 != parseInt(cnpj.slice(13, 14), 10)){
				alert("Número do CNPJ Inválido");
				return false;
			}
			
			return true;
		}

	}else{
		alert('CPF/CNPJ inválido');
		return false;
	}
  }
  
}
