﻿//Validação de CPF
function ValidaCPF(field){ 
	var i,s; 
	s = LIMP(field.value); 
	var c = s.substr(0,9); 
	var dv = s.substr(9,2); 
	var d1 = 0; 
	for (i = 0; i < 9; i++){ 
		d1 += c.charAt(i)*(10-i); 
	} 
	if (d1 == 0){ 
		alert("CPF inválido!")
		field.value = '';
		return false;
	} 
	d1 = 11 - (d1 % 11); 
	if (d1 > 9) d1 = 0; 
	if (dv.charAt(0) != d1){ 
		alert("CPF inválido!")
		field.value = '';
		return false;
	}
	d1 *= 2; 
	for (i = 0; i < 9; i++) 
	{ 
	d1 += c.charAt(i)*(11-i); 
	} 
	d1 = 11 - (d1 % 11); 
	if (d1 > 9) d1 = 0; 
	if (dv.charAt(1) != d1) 
	{ 		
		field.value = "";
		return false; 
	} 	
	return true;
}

// Validação de CNPJ
function isNUMB(c){ 
	if((cx=c.indexOf(","))!=-1){ 
		c = c.substring(0,cx)+"."+c.substring(cx+1); 
	} 
	if((parseFloat(c) / c != 1)){ 
		if(parseFloat(c) * c == 0){ 
			return(1); 
		}else{ 
			return(0); 
		} 
	}else{ 
		return(1); 
	} 
} 

function LIMP(c){ 
	while((cx=c.indexOf("-"))!=-1){
		c = c.substring(0,cx)+c.substring(cx+1); 
	} 
	while((cx=c.indexOf("/"))!=-1){ 
		c = c.substring(0,cx)+c.substring(cx+1); 
	} 
	while((cx=c.indexOf(","))!=-1){ 
		c = c.substring(0,cx)+c.substring(cx+1); 
	} 
	while((cx=c.indexOf("."))!=-1){ 
		c = c.substring(0,cx)+c.substring(cx+1); 
	} 
	while((cx=c.indexOf("("))!=-1){ 
		c = c.substring(0,cx)+c.substring(cx+1); 
	} 
	while((cx=c.indexOf(")"))!=-1){ 
		c = c.substring(0,cx)+c.substring(cx+1); 
	} 
	while((cx=c.indexOf(" "))!=-1){ 
		c = c.substring(0,cx)+c.substring(cx+1); 
	} 
	return(c); 
} 

function RealTestaCNPJ(CNPJ,g){ 
	var VerCNPJ=0; 
	var ind=2; 
	var tam; 
	for(f=g;f>0;f--){ 
		VerCNPJ+=parseInt(CNPJ.charAt(f-1))*ind; 
		if(ind>8){ 
			ind=2; 
		}else{ 
			ind++; 
		} 
	} 
	VerCNPJ%=11; 
	if(VerCNPJ==0 || VerCNPJ==1){ 
		VerCNPJ=0; 
	}else{ 
		VerCNPJ=11-VerCNPJ; 
	} 
	if(VerCNPJ!=parseInt(CNPJ.charAt(g))){ 
		return(0); 
	}else{ 
		return(1); 
	} 
} 

function VerificaCNPJ(CNPJ){ 
	CNPJ = LIMP(CNPJ); 
	if(isNUMB(CNPJ) != 1){ 
		return(0); 
	}else{ 
		if(CNPJ == 0){ 
			return(0); 
		}else{ 
			g=CNPJ.length-2; 
			if(RealTestaCNPJ(CNPJ,g) == 1){ 
				g=CNPJ.length-1; 
				if(RealTestaCNPJ(CNPJ,g) == 1){ 
					return(1); 
				}else{ 
					return(0); 
				}
			}else{ 
				return(0); 
			} 
		} 
	} 
} 

function ValidaCNPJ(sender, args){
	var campo;
	campo = args.value;
	if(VerificaCNPJ(campo) == 1){ 
		args.IsValid = true;
		return;

	}else{
		args.IsValid = false;
        return;
	} 
}

