/**
 * @author Riogo
 */
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.");


$(function(){
	$('#faleconosco').validate({
		rules: {
		     nome: "required",
		     email: {
				required: true,
				email: true
		     },
			 assunto: "required",
			 msg: "required"
		 },
		 errorElement: "p"
	});
	
	$('#cadastre').validate({
		messages : {
			user: {
				remote: "Este usu&aacute;rio j&aacute; existe, por favor escolha outro nome de usu&aacute;rio."
			},
			email: {
				remote: "Este E-mail j&aacute; est&aacute; sendo usado por outro usu&aacute;rio, por favor informe outro E-mail para cadastro."
			}
		},
		rules: {
		     user: {
			 	required: true,
				minlength: 4,
				remote: {
					url: BASE_URL + "/webservice/user",
					type: "post"
				}
			 },
		     pass: {
			 	required: true,
				minlength: 4
			 },
			 pass_x: {
			 	required: true,
			 	equalTo: "#pass"
			 },
		     nome: "required",
		     sobrenome: "required",
		     email: {
				required: true,
				email: true,
				remote: {
					url: BASE_URL + "/webservice/email",
					type: "post"
				}
		     },
		     cpf: {
				required: true,
				cpf: true
		     },
		     endereco: "required",
		     cidade: "required",
		     estado: "required",
		     cep: "required",
		     medfarma: "required",
		     fone_res: "required",
		     fone_com: "required"
		 },
		 errorElement: "p"
	});
	
	$('#update').validate({
		messages : {
			email: {
				remote: "Este E-mail j&aacute; est&aacute; sendo usado por outro usu&aacute;rio, por favor informe outro E-mail para cadastro."
			}
		},
		rules: {
		     nome: "required",
		     sobrenome: "required",
		     email: {
				required: true,
				email: true,
				remote: {
					url: BASE_URL + "/webservice/email_update",
					type: "post"
				}
		     },
		     endereco: "required",
		     cidade: "required",
		     estado: "required",
		     cep: "required",
		     medfarma: "required",
		     fone_res: "required",
		     fone_com: "required"
		 },
		 errorElement: "p"
	});
	
	$('#senhas').validate({
		rules: {
		     pass: {
			 	required: true,
				minlength: 4
			 },
			 pass_x: {
			 	required: true,
			 	equalTo: "#pass"
			 },
		     pass_old: "required"
		 },
		 errorElement: "p"
	});
});

