jQuery.validator.addMethod(
  "min2Words",
  function(value, element) { 
    var getWords = value.split(' ');
    if(getWords.length >= 2){
      return true;
    } else {
      return false;
    }
  },
  "Por favor, insira nome e sobrenome"
);

$.validator.addMethod(
  "checked",
  function(value, element){
    var inp_name=($(element).attr('name'));
    if($('input[name="'+inp_name+'"]:checked').length){
      return true;
    }else{
      return false;
    }
  },
  "Escolha uma opção"
);

$.validator.addMethod(
  "dateBR",
  function(value, element) {
	var val_exp=value.split('/');
  	if(val_exp.length==3){
      var ano=val_exp[2];
      var mes=val_exp[1];
      var dia=val_exp[0];
      if((ano>=1000)&&(ano<10000)){
        if(((mes=='01')||(mes=='03')||(mes=='05')||(mes=='07')||(mes=='08')||(mes=='10')||(mes=='12'))&&(dia.match(/^(0[1-9]|[1-2][0-9]|3[0-1])$/))){
          return true;
        }else if(((mes=='04')||(mes=='06')||(mes=='09')||(mes=='07')||(mes=='08')||(mes=='11'))&&(dia.match(/^(0[1-9]|[1-2][0-9]|30)$/))){
          return true;
        }else if((mes=='02')&&(dia.match(/^(0[1-9]|1[0-9]|2[0-8])$/))){
          return true;
        }else if((mes=='02')&&(dia=='29')&&((ano%400==0)||((ano%4==0)&&(ano%100!=0)))){
          return true;
        }else{
          return false;
        }
      }else{
        return false;
      }
    }else{
      return false;
    }
  },
  "Data inválida"
);

$.validator.addMethod(
  "cpf",
  function(value, element){
    var cpf=value;
    var numeros, digitos, soma, i, resultado, digitos_iguais;
    digitos_iguais = 1;
    if (cpf.length < 11) return false;
    for (i = 0; i < cpf.length - 1; i++){
      if (cpf.charAt(i) != cpf.charAt(i + 1)){
        digitos_iguais = 0;
        break;
      }
    }
    if (!digitos_iguais){
      numeros = cpf.substring(0,9);
      digitos = cpf.substring(9);
      soma = 0;
      for (i = 10; i > 1; i--){
        soma += numeros.charAt(10 - i) * i;        
      }
      resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
      if (resultado != digitos.charAt(0)) return false;
      numeros = cpf.substring(0,10);
      soma = 0;
      for (i = 11; i > 1; i--){
        soma += numeros.charAt(11 - i) * i;    
      }
      resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
      if (resultado != digitos.charAt(1)) return false;
      return true;
    }else return false;
  },
  "CPF inválido"
);

$.validator.addMethod(
  "cnpj",
  function(value, element){
    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;
  },
  "CPF inválido"
); 
