function selectAll(t) {
	e = t.form.elements;
	for(i = 0; i < e.length; i++) {
		if(e[i].name == "regions") {
			e[i].checked = true;
		} // if
	} // for
} // selectAll

function deselectAll(t) {
	e = t.form.elements;
	for(i = 0; i < e.length; i++) {
		if(e[i].name == "regions") {
			e[i].checked = false;
		} // if
	} // for
} // deselectAll

function updateSearchFields(element) {
	var elements;
	var disableRegion;

	disableRegion = (element.checked && (element.value == 2));

	elements = document.getElementsByName("regions");
	for(i = 0; i < elements.length; i++) {
		elements[i].disabled = disableRegion;
	} // for
	elements = document.getElementsByName("municipalite");
	for(i = 0; i < elements.length; i++) {
		elements[i].disabled = !disableRegion;
	} // for

	document.getElementById("section_regions").style.display = (disableRegion ? "none" : "block");
	document.getElementById("section_municipalite").style.display = (disableRegion ? "block" : "none");
} // updateSearchFields

function validateDate(dateString) {
	var isValid;
	var format;

	isValid = true;
	format = /^\d{4}-\d{2}-\d{2}$/;

	if(!format.test(dateString)) {
		isValid = false;
	} else {
		var year, month, day;
		var date;

		year = dateString.split("-")[0];
		month = dateString.value.split("-")[1];
		day = dateString.value.split("-")[2];

		date = new Date(year, month - 1, day);

		if(((date.getMonth() + 1) != month) || (date.getDate() != day) || (date.getFullYear() != year)) {
			isValid = false;
		} // if
	} // else

	return isValid
} // validateDate

function validateSearch(form) {
	var message, isValid;

	isValid = true;
	message = new String();

	if(form.dateDebut.value.length && !validateDate(form.dateDebut.value)) {
		message += "La date de début est invalide.";
	} // if

	if(form.dateFin.value.length && !validateDate(form.dateFin.value)) {
		if(message.length) {
			message += "\n";
		} // if
		message += "La date de fin est invalide.";
	} // if

	if(message.length) {
		message += "\n\nNote : vous pouvez utiliser le sélecteur de date situé à droite du champs date.";
		alert(message);
		isValid = false;
	} else {
		if(!form.numero.value.length) {
			var elements;

			elements = form.types;

			if(!elements[0].checked && !elements[1].checked) {
				alert("Vous devez selectionner au moins un type de recherche.");
				isValid = false;
			} else {
				elements = form.type;

				if(elements[0].checked) {
					elements = form.regions;
					count = 0;

					for(i = 0; i < elements.length; i++) {
						if(elements[i].checked) {
							count++;
						} // if
					} // for

					if(!count) {
						alert("Vous devez sélectionner au moins une région.");
						isValid = false;
					} // else
				} else if(elements[1].checked && !form.municipalite.value.length) {
					alert("Vous devez saisir la ville recherchée.");
					isValid = false;
				} // else
			} // else
		} // if
	} // else

	return isValid;
} // validateSearch
