$(function($){ 	
		
		
	$("#telefone").mask("(99) 9999-9999",{placeholder:"_"});
	
	// Função 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."); // Mensagem padrão

	$.validator.addMethod("verificasenha", function(value, element) {
		
		if(value == $('form#cadastro input#senha').val())
		  return true;
	}, "As senhas não conferem."); // Mensagem padrão
	
	jQuery.validator.addMethod("cnpj", function(cnpj, element) {
		   cnpj = jQuery.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;
		   }
		}, "Informe um CNPJ válido."); // Mensagem padrão 
		 
		 
});

//Ativando validação de formuláio de Contato
$(document).ready(function(){
	$("form.validator").validate({
		
         // Regras
         rules:{
             nome:{
                 required: true
             },
             email:{
            	 required: true, email: true
             },
						 telefone:{
							 required: true
						 },
             mensagem:{
            	 required: true, minlength: 10, maxlength: 1000            	 
             } ,
						 curriculo:{
							 required: true
						 },
             cidade:{
            	 required: true
             },
             estado:{
            	 required: true
             }
         },
         
         // Define as mensagens de erro para cada regra
         messages:{
							 nome:{
									 required: "Digite seu nome."                 
							 },
							 email:{
									 required: "Digite o seu Email.", email: "Digite um Email válido."
							 },
							 telefone:{
								 required: "Digite um telefone de Contato."
							 },
							 mensagem:{
									 required : "Digite o sua mensagem.",
									 minlength: "Digite no minimo 10 digitos.",
									 maxlength: "Digite no máximo 1000 digitos."
							 },
							 curriculo: {
								 required: "Selecione seu Currículo"
							 },
							 cidade: {
								 required: "Selecione seu Cidade"
							 },
							 estado: {
								 required: "Selecione seu Estado"
							 }
         }         
     });	
});
