jQuery.validator.addMethod("checkhtmltext", function(value, element) {
		return this.optional(element) || jQuery.trim(jQuery('.editor').val().replace(/<[^>]*>/g, "")) != '';
	}
);
jQuery.validator.addMethod("timewithsecond", function(value, element) {
		return this.optional(element) || /([0][2-7]):([0-5][0-9]):([0-5][0-9])/.test(value);
	}, "Please enter a valid time, between 00:00:00 and 23:59:59"
);
jQuery.validator.addMethod("checkdossard", function(value, element) {
		return this.optional(element) || jQuery.ajax({
			async: false,
			type: "GET",
			url: '../tools/checkDossard.php',
			data: 'course=' + jQuery("#hiddenCourse").attr('value') + '&dossard=' + jQuery("#txtDossard").attr('value') + '&inscrit_course=' + jQuery("#inscrit_course").attr('value')
		}).responseText;
	}
);
jQuery.validator.addMethod("checkmail", function(value, element) {
	return this.optional(element) || jQuery.ajax({
		async: false,
		type: "GET",
		url: 'tools/checkMail.php',
		data: 'mail=' + jQuery("#txtEmail").attr('value')
	}).responseText == '1';
}
);
jQuery.validator.addMethod("checklogin", function(value, element) {
	return this.optional(element) || jQuery.ajax({
		async: false,
		type: "GET",
		url: 'tools/checkLogin.php',
		data: 'login=' + jQuery("#txtLogin").attr('value') + '&old=' + jQuery("#oldLogin").attr('value')
	}).responseText == '1';
}
);
$(function() {
	$("#formAccueil").validate({
		rules: {
			titre: "required",
			texte:  {
				required: true,
				checkhtmltext: true
			}
		},
		messages: {
			titre: '<img src="../img/no.png" />',
			texte: '<img src="../img/no.png" />'
		}
	});
	$("#formNews").validate({
		rules: {
			titre: "required",
			premiere: "required"
		},
		messages: {
			titre: '<img src="../img/no.png" />',
			premiere: '<img src="../img/no.png" />'
		}
	});
	$(".rubrique").validate({
		invalidHandler: function(form, validator) {
			alert('Le champs titre est obligatoire.');
		},
		rules: {
			titre: "required"
		},
		messages: {
			titre: " "
		},
		focusInvalid: false
	});
	$("#formArticle").validate({
		rules: {
			titre: "required",
			texte:  {
				required: true,
				checkhtmltext: true
			}
		},
		messages: {
			titre: '<img src="../img/no.png" />',
			texte: '<img src="../img/no.png" />'
		}
	});
	$("#formDiapo").validate({
		rules: {
			photo: "required"
		},
		messages: {
			photo: '<img src="../img/no.png" />'
		}
	});
	$("#formPartenaire").validate({
		rules: {
			logo: "required"
		},
		messages: {
			logo: '<img src="../img/no.png" />'
		}
	});
	$("#newCourse").validate({
		rules: {
			nom: "required",
			date: "required",
			majoration: {
				required: true,
				digits: true
			},
			age: {
				required: false,
				digits: true
			}
		},
		messages: {
			nom: '<img src="../img/no.png" />',
			date: '<img src="../img/no.png" />',
			majoration: '<img src="../img/no.png" />',
			age: '<img src="../img/no.png" />'
		}
	});
	$("#modifyCourse").validate({
		rules: {
			nom: "required",
			date: "required",
			majoration: {
				required: true,
				digits: true
			},
			age: {
				required: false,
				digits: true
			}
		},
		messages: {
			nom: '<img src="../img/no.png" />',
			date: '<img src="../img/no.png" />',
			majoration: '<img src="../img/no.png" />',
			age: '<img src="../img/no.png" />'
		}
	});
	$("#formOption").validate({
		rules: {
			titre: "required",
			prix: {
				required: true,
				digits: true
			},
			groupe: {
				required: function(element) {
					return $("#cbType").val() == 'choix';
		        }
			},
			textefr: "required"
		},
		messages: {
			titre: '<img src="../img/no.png" />',
			prix: '<img src="../img/no.png" />',
			groupe: '<img src="../img/no.png" />',
			textefr: '<img src="../img/no.png" />'
		}
	});
	$("#formTarif").validate({
		rules: {
			date: "required",
			prix: {
				required: true,
				digits: true
			}
		},
		messages: {
			date: '<img src="../img/no.png" />',
			prix: '<img src="../img/no.png" />'
		}
	});
	$("#formLimite").validate({
		rules: {
			textefr: "required"
		},
		messages: {
			textefr: '<img src="../img/no.png" />'
		}
	});
	$("#newParticipant").validate({
		rules: {
			dossard:  {
				required: false,
				checkdossard: true
			},
			email:  {
				email: true
			},
			nom: "required",
			prenom: "required",
			adresse: "required",
			ville: "required",
			cp: "required",
			best:  {
				required: false,
				timewithsecond: true
			},
			naissance: "required",
			sexe: "required",
			telephone: "required"
		},
		messages: {
			dossard: '<img src="../img/no.png" />',
			email: '<img src="../img/no.png" />',
			nom: '<img src="../img/no.png" />',
			prenom: '<img src="../img/no.png" />',
			adresse: '<img src="../img/no.png" />',
			ville: '<img src="../img/no.png" />',
			cp: '<img src="../img/no.png" />',
			best: '<img src="../img/no.png" />',
			naissance: '<img src="../img/no.png" />',
			telephone: '<img src="../img/no.png" />'
		}
	});
	$("#newCompte").validate({
		rules: {
			login:  {
				required: true,
				checklogin: true
			},
			email:  {
				required: true,
				email: true//,
				//checkmail: true
			},
			password: "required",
			nom: "required",
			prenom: "required",
			adresse: "required",
			ville: "required",
			cp: "required",
			best:  {
				required: false,
				timewithsecond: true
			},
			naissance: "required",
			sexe: "required",
			telephone: "required"
		},
		messages: {
			login: {
				required: '<img src="img/no.png" />',
				checklogin: '<br /><b class="erreur">ce login est déjà utilisé pour un compte existant<br />chaque compte doit posséder son propre login</b>',
			},
			email: {
				required: '<img src="img/no.png" />',
				email: '<img src="img/no.png" />'//,
				//checkmail: '<br /><b class="erreur">cet email est déjà utilisé pour un compte existant<br />chaque compte doit posséder son propre email</b>',
			},
			password: '<img src="img/no.png" />',
			nom: '<img src="img/no.png" />',
			prenom: '<img src="img/no.png" />',
			adresse: '<img src="img/no.png" />',
			ville: '<img src="img/no.png" />',
			cp: '<img src="img/no.png" />',
			best: '<br /><b class="erreur">le temps doit être sous la forme hh:mm:ss<br />et être compris entre 02:00:00 et 07:59:59</b>',
			naissance: '<img src="img/no.png" />',
			sexe: '<img src="img/no.png" />',
			telephone: '<img src="img/no.png" />',
			profession: '<img src="/img/no.png" />'
		}
	});
	$("#modifyCompte").validate({
		rules: {
			login:  {
				required: true,
				checklogin: true
			},
			email:  {
				required: true,
				email: true
			},
			password: "required",
			nom: "required",
			prenom: "required",
			adresse: "required",
			ville: "required",
			cp: "required",
			best:  {
				required: false,
				timewithsecond: true
			},
			naissance: "required",
			sexe: "required",
			telephone: "required"
		},
		messages: {
			login: {
				required: '<img src="img/no.png" />',
				checklogin: '<br /><b class="erreur">ce login est déjà utilisé pour un compte existant<br />chaque compte doit posséder son propre login</b>',
			},
			email: {
				required: '<img src="img/no.png" />',
				email: '<img src="img/no.png" />'
			},
			password: '<img src="img/no.png" />',
			nom: '<img src="img/no.png" />',
			prenom: '<img src="img/no.png" />',
			adresse: '<img src="img/no.png" />',
			ville: '<img src="img/no.png" />',
			cp: '<img src="img/no.png" />',
			best: '<br /><b class="erreur">le temps doit être sous la forme hh:mm:ss<br />et être compris entre 02:00:00 et 07:59:59</b>',
			naissance: '<img src="img/no.png" />',
			sexe: '<img src="img/no.png" />',
			telephone: '<img src="img/no.png" />'
		}
	});
	$("#modifyParticipant").validate({
		rules: {
			dossard:  {
				required: false,
				checkdossard: true
			},
			email:  {
				required: true,
				email: true
			},
			nom: "required",
			prenom: "required",
			adresse: "required",
			ville: "required",
			cp: "required",
			best:  {
				required: false,
				timewithsecond: true
			},
			naissance: "required",
			sexe: "required",
			telephone: "required"
		},
		messages: {
			dossard: '<img src="../img/no.png" />',
			email: '<img src="../img/no.png" />',
			nom: '<img src="../img/no.png" />',
			prenom: '<img src="../img/no.png" />',
			adresse: '<img src="../img/no.png" />',
			ville: '<img src="../img/no.png" />',
			cp: '<img src="../img/no.png" />',
			best: '<img src="../img/no.png" />',
			naissance: '<img src="../img/no.png" />',
			telephone: '<img src="../img/no.png" />'
		}
	});
});
