// This code is executed after all elements (DOM) have been loaded in the browser.
// Requires jQuery.

$(document).ready(function()
{
	// Sends the specified email address to 'req_newsletter_subscription.php' via ajax.
	$("#frm_infolettre").submit(function()
	{
		var message_container = $('form .message');
	
		// Gets the email address.
		var email_input = $("#iCourrielInfolettre");
		var email_address = jQuery.trim(email_input.val());
		
		// Ajax POST request if email address is present.
		if (email_address != "")
		{
			var parameters = {"email":email_address};
			var baseHref = document.getElementsByTagName("base")[0].href;

			$.post(baseHref + 'modules/mailing_list/req-newsletter-subscription.php', parameters, function(data)
			{
				if (!data.error)
				{
					// Success!
					if (email_input.hasClass("error")) {
						email_input.removeClass("error");
						message_container.removeClass("error");
					}
					if (!message_container.hasClass("success")) {
						message_container.addClass("success");
					}
					message_container.html("Votre inscription &agrave; l'infolettre s'est effectu&eacute;e avec succ&egrave;s.");
					message_container.css('display','block');
					$("#frm_infolettre fieldset").css('display','none');
				}
				else
				{
					// Error occured.
					if (!email_input.hasClass("error")) {
						email_input.addClass("error");
					}
					if (!message_container.hasClass("error")) {
						message_container.addClass("error");
					}
					message_container.html(data.error);
					message_container.css('display','block');
					email_input.focus();
				}
			}, 'json');
		}
		else
		{
			if (!email_input.hasClass("error")) {
				email_input.addClass("error");
			}
		}
		
		return false;
	});
	

	//****************************************************************************
	// Appelle la fonction qui va retourner le code HTML+evenements de l'agenda municipal.
	get_calendar();
	
	
	//****************************************************************************
	//	Gere la valeur par defaut (placeholder) des textbox.iCourrielInfolettre
	
	// Champ de recherche.
	var searchInput = $("#iSearch");
	var searchPlaceholder = "Recherche";
	
	searchInput.val(searchPlaceholder);
	searchInput.addClass("placeholder");
	
	searchInput.focus(function()
	{
		if (searchInput.val() == searchPlaceholder) {
			searchInput.val("");
			searchInput.removeClass("placeholder");
		}
	});
	searchInput.blur(function()
	{
		if (searchInput.val() == "") {
			searchInput.val(searchPlaceholder);
			searchInput.addClass("placeholder");
		}
	});
	
	// Champ courriel infolettre.
	var newsletterInput = $("#iCourrielInfolettre");
	var newsletterPlaceholder = "Entrez votre adresse courriel";
	
	newsletterInput.val(newsletterPlaceholder);
	newsletterInput.addClass("placeholder");
	
	newsletterInput.focus(function()
	{
		if (newsletterInput.val() == newsletterPlaceholder) {
			newsletterInput.val("");
			newsletterInput.removeClass("placeholder");
		}
	});
	newsletterInput.blur(function()
	{
		if (newsletterInput.val() == "") {
			newsletterInput.val(newsletterPlaceholder);
			newsletterInput.addClass("placeholder");
		}
	});
	
	
	
	//****************************************************************************
	// Applique une animation de deplacement entre les liens pointant sur une ancre et leur ancre (href='#ancre').
	$('a[href*=#]').click(function()
	{
		var linkPathName = this.pathname;
		
		if (linkPathName == "")
		{
			this.pathname = location.pathname;	// S'assure que les liens pointant vers les ancres (entrees via le CMS) contiennent le chemin complet de la page.
		}
		
		if (location.hostname == this.hostname)
		{
			var $target = $(this.hash);
			$target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
			if ($target.length)
			{
				var targetOffset = $target.offset().top;
				$('html,body').animate({scrollTop: targetOffset-20}, 500);
				return false;
			}
		}
	});
	
	
	
	//****************************************************************************
	// Cache les elements possedant la classe 'archives" au chargement de la page.
	$(".archives").hide();
	
	//****************************************************************************
	// Affiche ou cache l'element possedant la classe 'archives" qui suit (dans le DOM) le lien clique.
	$("a[rel=show]").click(function()
	{
		var linkContainer = $(this).parent();
		var myElement = linkContainer.next(".archives");
		var linkText = $(this).text();
		
		if (linkText.indexOf("plus") > 0) {
			var newLinkText = linkText.replace("plus","moins");
		}
		else {
			var newLinkText = linkText.replace("moins","plus");
		}
		
		if (myElement.is(':hidden')) {
			myElement.slideDown();
			$(this).text(newLinkText);
			$(this).attr("title",newLinkText);
		} else {
			myElement.slideUp();
			$(this).text(newLinkText);
			$(this).attr("title",newLinkText);
		}
		
		//return false;
	});
	
	
	//****************************************************************************
	// Transforme les elements dont la classe est "pbar" en progress bar JQueryUI.
	$(".pbar").each(function()
	{
		$(this).progressbar(
		{
			value: parseInt($(this).next('input').val())
		}); 
	});

});

