//adicionar m�todo de verifica��o de CPF
jQuery.validator.addMethod("cpf", function(value, element) {
	
	value = value.replace('.','');
	value = value.replace('.','');
	cpf = value.replace('-','');
	
	while(cpf.length < 11) cpf = "0"+ cpf;
	
	var expReg = /^0+$|^1+$|^2+$|^3+$|^4+$|^5+$|^6+$|^7+$|^8+$|^9+$/;
	
	var a = [];
	var b = new Number;
	var c = 11;
	for (i=0; i<11; i++){
		a[i] = cpf.charAt(i);
		if (i < 9) b += (a[i] * --c);
	}
	if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
	b = 0;
	c = 11;
	for (y=0; y<10; y++) b += (a[y] * c--);
	if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
	if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10]) || cpf.match(expReg)) return false;
	return true;
	
}, "Informe um CPF válido.");

jQuery.validator.addMethod("verifyCNPJ", function(value, element) {
   var thisClass = this;
	cnpj = value;
	erro = new String;
	if (cnpj.length < 18) erro += "É necessário preencher corretamente o número do cnpj! \n\n";
	if ((cnpj.charAt(2) != ".") || (cnpj.charAt(6) != ".") || (cnpj.charAt(10) != "/") || (cnpj.charAt(15) != "-")){
		if (erro.length == 0) erro += "É necessário preencher corretamente o número do cnpj! \n\n";
	}
	
	//substituir os caracteres que n�o s�o n�meros
	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.split(".").join("");
		cnpj = cnpj.split("-").join("");
		cnpj = cnpj.split("/").join("");
		cnpj = cnpj.split("index.html").join("");
	}
	var nonNumbers = /\D/;
	if (nonNumbers.test(cnpj)) erro += "A verificação de cnpj suporta apenas números! \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])){
		erro +="Dígito verificador com problema!";
	}
	
	if(erro.length > 0){
		return false;
	}else{ 
		return true;
	}
	return true;
}, "Informe um CNPJ válido.");
