// CUSTOM METHODS
$.validator.addMethod("loginIsUnique", function(varlogin) {
	//Make sure that the requested login isn't already taken
	var isUnique = true;
	
	var getLogin = $.ajax({ 
		type: "POST", 
		url: "plugins/jquery-validate/get.php", 
		data: {login: varlogin}, 
		dataType: "text", 
		async: false
	}).responseText;
	
	if ((getLogin.length-1) > 0) {
		isUnique = false;
	}
	
	return isUnique;
}, 'Unavailable login');

$.validator.addMethod("emailIsUnique", function(varemail) {
	//Make sure that the requested email isn't already taken
	var isUnique = true;
	
	var getEmail = $.ajax({ 
		type: "POST", 
		url: "plugins/jquery-validate/get.php", 
		data: {email: varemail}, 
		dataType: "text", 
		async: false
	}).responseText;
	
	if ((getEmail.length-1) > 0) {
		isUnique = false;
	}
	
	return isUnique;
}, 'Unavailable email address');



// Call the validator
$().ready(function() {
	// validate signup form on keyup and submit
	$("#form_join").validate({
	
		rules: {
			login: {
				required: true,
				minlength: 2,
				maxlength: 10, 
				loginIsUnique: true
			},
			email: {
				required: true,
				email: true, 
				emailIsUnique: true
			},
			pass1: {
				required: true,
				minlength: 4,
				maxlength: 32
			},
			pass2: {
				required: true,
				minlength: 4,
				maxlength: 32, 
				equalTo: "#pass1"
			}, 
			
			nom: {
				required: true,
				minlength: 3,
				maxlength: 100
			},
			prenom: {
				required: true,
				minlength: 3,
				maxlength: 100
			},
			datenaiss: "required", 
			telephone: "number",
			
			team: "required", 
			id_team: {
				required: "#team_join:checked"
			}, 
			team_name: {
				required: "#team_new:checked", 
				minlength: 1 
			}, 
			team_url: {
				url: true
			}, 
			team_password: {
				maxlength: 32
			},
			team_join_password: {
				maxlength: 32
			},
			
			poll1: "required", 
			poll2: "required", 
			poll4: "required"
		}, 
		messages: {
			login: {
				required: "Entrez un login",
				minlength: "2 caractères minimum", 
				maxlength: "10 caractères maximum", 
				loginIsUnique: "Ce login est déjà pris"
			},
			email: {
				required: "Entrez un email",
				email: "L'email doit être valide", 
				emailIsUnique: "Cet email est déjà pris"
			},
			pass1: {
				required: "Entrez un mot de passe",
				minlength: "4 caractères minimum", 
				maxlength: "32 caractères maximum"
			},
			pass2: {
				required: "Entrez un mot de passe",
				minlength: "4 caractères minimum", 
				maxlength: "32 caractères maximum",
				equalTo: "Entrez à  nouveau la même valeur"
			},
			
			nom: {
				required: "Entrez votre nom",
				minlength: "3 caractères minimum",
				maxlength: "100 caractères maximum"
			},
			prenom: {
				required: "Entrez votre prénom",
				minlength: "3 caractères minimum",
				maxlength: "100 caractères maximum"
			},
			datenaiss: "Entre votre date de naissance",
			telephone: "Utilisez uniquement des numéros", 
			
			team: "Choisissez l'une des options",
			id_team: {
				required: "Sélectionnez une équipe"
			},
			team_name: {
				required: "Entrez un nom",
				minlength: "1 caractère minimum"
			}, 
			team_url: {
				url: "Entrez une url valide"
			}, 
			team_password: {
				maxlength: "32 caractères maximum"
			},
			team_join_password: {
				maxlength: "32 caractères maximum"
			},
			
			poll1: "Sélectionnez une réponse", 
			poll2: "Sélectionnez une réponse", 
			poll4: "Sélectionnez une réponse"
		}
	})
	
	$("#form_profile").validate({
	
		rules: {
			current_password: {
				required: "#pass1:filled",
				required: "#pass2:filled"
			},
			pass1: {
				minlength: 4,
				maxlength: 32
			},
			pass2: {
				minlength: 4,
				maxlength: 32,
				equalTo: "#pass1"
			}, 
			nom: {
				required: true,
				minlength: 3,
				maxlength: 100
			},
			prenom: {
				required: true,
				minlength: 3,
				maxlength: 100
			},
			datenaiss: "required", 
			telephone: "number",
			
			team: "required", 
			id_team: {
				required: "#team_join:checked"
			}, 
			team_name: {
				required: "#team_new:checked", 
				minlength: 1 
			}, 
			team_url: {
				url: true
			}
		}, 
		messages: {
			nom: {
				required: "Entrez votre nom",
				minlength: "3 caractères minimum",
				maxlength: "100 caractères maximum"
			},
			prenom: {
				required: "Entrez votre prénom",
				minlength: "3 caractères minimum",
				maxlength: "100 caractères maximum"
			},
			datenaiss: "Entre votre date de naissance",
			telephone: "Utilisez uniquement des numéros", 
			
			team: "Choisissez l'une des options",
			id_team: {
				required: "Sélectionnez une équipe"
			},
			team_name: {
				required: "Entrez un nom",
				minlength: "1 caractère minimum"
			}, 
			team_url: {
				url: "Entrez une url valide"
			}
		}
	})
	
	$("#form_login").validate({

		rules: {
			login: {
				required: true,
				minlength: 2,
				maxlength: 10
			},
			password: {
				required: true,
				minlength: 4,
				maxlength: 32
			}
		}, 
		messages: {
			login: {
				required: "Entrez un login",
				minlength: "2 caractères minimum",
				maxlength: "10 caractères maximum"
			},
			password: {
				required: "Entrez un mot de passe",
				minlength: "4 caractères minimum",
				maxlength: "32 caractères maximum"
			}
		}
	})
});