$(function($){ 	
		
	// 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-morphy").validate({
		
         // Regras
         rules:{
             nome:{
                 required: true
             },
             email:{
            	 required: true, email: true
             },
             msg:{
            	 required: true, minlength: 10, maxlength: 1000            	 
             }            
         },
         
         // 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."
             },
             msg:{
                 required : "Digite o sua mensagem.",
                 minlength: "Digite no minimo 10 digitos",
                 maxlength: "Digite no máximo 1000 digitos"
             }             
         }         
     });	
});

//Ativando validação de formuláio de Cadastro de Lojística/Representante
$(document).ready(function(){
	
	//Aplica Máscaras
	$('form#cadastro input#cnpj').mask("99.999.999/9999-99");
	
	$("form#cadastro").validate({

         rules:{
             nomedaempresa:{
                 required: true
             },
             cidade:{
            	 required: true
             },
             uf:{
            	 required: true
             },
             cnpj:{
            	 required: true, cnpj: true
             },
             endereco:{
            	 required: true
             },      
             numero:{
            	 required: true
             },
             bairro:{
            	 required: true
             },
             nome:{
            	 required: true
             },
             nomeresponsavel:{
            	 required: true
             },
             
             telefone:{
            	 required: true
             },
             email:{
            	 required: true, email:true
             },
             senha:{
            	 required: true
             },
             csenha:{
            	 required: true, verificasenha: true
             },
             msg:{
            	 required: true
             }
         },
         messages:{
        	 nomedaempresa:{
                 required: "Digite Nome da Empresa."                 
             },
             cidade:{
            	 required: "Digite sua Cidade."
             },
             uf:{
            	 required: "UF"
             },
             cnpj:{
            	 required: "Digite o CNPJ", cnpj: "Digite um CNPJ válido"
             },
             endereco:{
            	 required: "Digite o Endereço"
             },      
             numero:{
            	 required: "Num."
             },
             bairro:{
            	 required: "Digite o Bairro"
             },
             nome:{
            	 required: "Nome"
             },
             nomeresponsavel:{
            	 required: "Nome do Responsável"
             },             
             telefone:{
            	 required: "Digite o Telefone"
             },
             email:{
            	 required: "Digite o E-mail", email: "Digite um e-mail válido"
             },
             senha:{
            	 required: "Digite a Senha"
             },
             csenha:{
            	 required: "Confirme a senha", verificasenha: "Senha não confere"
             },
             msg:{
            	 required: "Motivo do Cadastro"
             }
         }         
     });	
});
