/**
 *	JavaScript Document
 *	javascript/index.js
 */

$(document).ready(function() {
	// Gestion du click sur la popup
	$("#popup").click(function(event) {
		if ($(event.target).attr('id') == 'popup') {
			// Animation de la disparition de la popup
			$("#popup").animate(
				{"opacity": "0"},
				500,
				function() {
					// Suppression de la popup
					$("#popup").remove();
				}
			);
		}
	});
	
	// Gestion du click sur le bouton fermer de la popup
	$("#fermer", "#popup").click(function(event) {
		// Animation de la disparition de la popup
		$("#popup").animate(
			{"opacity": "0"},
			500,
			function() {
				// Suppression de la popup
				$("#popup").remove();
			}
		);
	});
	
	// Gestion du click sur le bouton fermer de la dernière page
	$("input[name=fermer]", "#popup div.page3").click(function(event) {
		// Animation de la disparition de la popup
		$("#popup").animate(
			{"opacity": "0"},
			500,
			function() {
				// Suppression de la popup
				$("#popup").remove();
			}
		);
	});
	
	// Gestion du click sur la première image de la popup
	$("div.page1", "#popup").click(function(event) {
		// Annulation de l'effet par défaut du click
		event.preventDefault();
		
		// Masquage de la première page
		$(this).css("display", "none");
		
		// Affichage de la deuxième page
		$("div.page2", $(this).parent()).css("display", "block");
	});
	
	// Gestion de la saisie dans la TextBox "Code postal"
	$("input[name=code_postal]", "#popup form").keypress(function(event) {
		// Vérification que la caractère entré n'est pas un caractère numérique (ASCII inférieur à 48 ou supérieur à 57)
		if (event.which < 48  || event.which > 57) {
			// Annulation de l'entrée du caractère
			event.preventDefault();
		}
	});
	
	// Gestion de la saisie dans la TextBox "Numéro téléphone"
	$("input[name=telephone]", "#popup form").keypress(function(event) {
		// Vérification que la caractère entré n'est pas un caractère numérique (ASCII inférieur à 48 ou supérieur à 57)
		if (event.which < 48  || event.which > 57) {
			// Annulation de l'entrée du caractère
			event.preventDefault();
		}
	});
	
	// Gestion de la validation du formulaire
	$("form", "#popup").submit(function(event) {
		// Initialisation des expressions régulières pour le code postal, le numéro de téléphone et l'adresse mail
		var email_regexp = new RegExp("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?");
		
		// Vérification que le formulaire est correctement renseigné
		if ($("input[name=nom]", this).val().length == 0) {
			// Affichage d'un message d'erreur
			alert("Vous devez renseigner votre nom de famille !");
			
			// Positionnement dans la TextBox "Nom"
			$("input[name=nom]", this).focus();
			
			return false;
		} else if ($("input[name=prenom]", this).val().length == 0) {
			// Affichage d'un message d'erreur
			alert("Vous devez renseigner votre prénom !");
			
			// Positionnement dans la TextBox "Prénom"
			$("input[name=prenom]", this).focus();
			
			return false;
		} else if ($("input[name=adresse]", this).val().length == 0) {
			// Affichage d'un message d'erreur
			alert("Vous devez renseigner votre adresse !");
			
			// Positionnement dans la TextBox "Adresse"
			$("input[name=adresse]", this).focus();
			
			return false;
		} else if ($("input[name=code_postal]", this).val().length == 0) {
			// Affichage d'un message d'erreur
			alert("Vous devez renseigner votre code postal !");
			
			// Positionnement dans la TextBox "Code postal"
			$("input[name=code_postal]", this).focus();
			
			return false;
		} else if ($("input[name=ville]", this).val().length == 0) {
			// Affichage d'un message d'erreur
			alert("Vous devez renseigner votre ville !");
			
			// Positionnement dans la TextBox "Ville"
			$("input[name=ville]", this).focus();
			
			return false;
		} else if ($("input[name=pays]", this).val().length == 0) {
			// Affichage d'un message d'erreur
			alert("Vous devez renseigner votre pays !");
			
			// Positionnement dans la TextBox "Pays"
			$("input[name=pays]", this).focus();
			
			return false;
		} else if ($("input[name=telephone]", this).val().length == 0) {
			// Affichage d'un message d'erreur
			alert("Vous devez renseigner votre numéro de t\351l\351phone !");
			
			// Positionnement dans la TextBox "Numéro téléphone"
			$("input[name=telephone]", this).focus();
			
			return false;
		} else if ($("input[name=email]", this).val().length == 0) {
			// Affichage d'un message d'erreur
			alert("Vous devez renseigner votre e-mail !");
			
			// Positionnement dans la TextBox "e-mail"
			$("input[name=email]", this).focus();
			
			return false;
		} else if (!email_regexp.test($("input[name=email]", this).val())) {
			// Affichage d'un message d'erreur
			alert("Le format de l'adresse email est incorrect !");
			
			// Positionnement dans la TextBox "Email"
			$("input[name=email]", this).focus();
			
			return false;
		} else if ($("select[name=origine]", this).val() == 0) {
			// Affichage d'un message d'erreur
			alert("Vous devez s\351lectionner le moyen qui vous a fait connaitre Verdi\351 Voyages !");
			
			// Positionnement dans la TextBox "Email"
			$("input[name=email]", this).focus();
			
			return false;
		} else if ($("input[name=decouverte]", this).is(":checked") == false && $("input[name=exploration]", this).is(":checked") == false
					&& $("input[name=aventure]", this).is(":checked") == false && $("input[name=liberte]", this).is(":checked") == false) {
			// Affichage d'un message d'erreur
			alert("Vous devez s\351lectionner au moins une brochure !");
			
			return false;
		} else {
			// Vérification que l'utilisateur souhaite consulter les brochures
			if ($("input[name=action]", this).val() == "consulter") {
				// Balayage des brochures
				$("div.brochure", "#popup div.brochures").each(function(index, element) {
					if ($("input", element).is(":checked")) {
						window.open($("a", element).attr("href"), $("input", element).attr("name"));
					}
				});
			}
		}
	});
	
	// Gestion du click sur le bouton "Je consulte en ligne"
	$("input[name=consulter]", "#popup").click(function(event) {
		// Initialisation de la valeur du paramètre "action"
		$("input[type=hidden]", "#popup form").val("consulter");
	});
	
	// Gestion du click sur le bouton "Je reçois à mon domicile"
	$("input[name=commander]", "#popup").click(function(event) {
		// Initialisation de la valeur du paramètre "action"
		$("input[type=hidden]", "#popup form").val("commander");
	});
});
