var selectedDate;

Array.prototype.max = function() {
    return Math.max.apply(null, this);
};

// Action controller
$(document).ready(function()
 {
	$.datepicker.regional['fr'] = {clearText: 'Effacer', clearStatus: '',
			closeText: 'Fermer', closeStatus: 'Fermer sans modifier',
			prevText: '<Préc', prevStatus: 'Voir le mois précédent',
			nextText: 'Suiv>', nextStatus: 'Voir le mois suivant',
			currentText: 'Courant', currentStatus: 'Voir le mois courant',
			monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin',
			'Juillet','Août','Septembre','Octobre','Novembre','Décembre'],
			monthNamesShort: ['Jan','Fév','Mar','Avr','Mai','Jun',
			'Jul','Aoû','Sep','Oct','Nov','Déc'],
			monthStatus: 'Voir un autre mois', yearStatus: 'Voir une autre année',
			weekHeader: 'Sm', weekStatus: '',
			dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
			dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
			dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
			dayStatus: 'Utiliser DD comme premier jour de la semaine', dateStatus: 'Choisir le DD, MM d',
			dateFormat: 'dd/mm/yy', firstDay: 0, 
			initStatus: 'Choisir la date', isRTL: false};
	$.datepicker.setDefaults($.datepicker.regional['fr']);
	
	$('#calendrier').datepicker({
		inline: true,
		dateFormat: 'yy-mm-dd',
		beforeShowDay: setCalendarDates,
		
		onSelect: function(dateText, inst) {
			loadPage("pages/content/home.php", {eventdate: dateText});
		}
	});
	linkPos = $("#link-calendrier").position();
	$('#calendrier').css({position: 'absolute', top: '200px', left: linkPos.left-72});
	$('#calendrier').toggle();

	showLoading(false);
	
	$("div#top-banner").each(function()
    {
		var switchTime = 5000;
		var switchFade = 3000;

        var slideshow = $(this);
        var selectedImage = 0;
        var maxSelectedImage = slideshow.find("img").length - 1;
 
        slideshow.css("position", "relative");
 
        slideshow.find("img")
                .css("position", "absolute")
                .css("top", 0)
                .css("left", 0)
                .hide();
 
        slideshow.find("img:eq("+selectedImage+")").show();
 
        var height = new Array();
        var width = new Array();
        slideshow.find("img").each(function(i){
            var currentImg = $(this);
            
            if (!$.browser.msie) {
            	  currentImg.corner("10px bl br");
            }

            height[i] = currentImg.height();
            width[i] = currentImg.width();
            i++;
        });
 
        slideshow.css('height', height.max());
        slideshow.css('width', width.max());
        
        var advanceSlideshow = function()
        {
            var newSelectedImage = selectedImage + 1;
            if(newSelectedImage > maxSelectedImage)
                newSelectedImage = 0;
 
            slideshow.find("img:eq("+selectedImage+")").fadeOut(switchFade);
            slideshow.find("img:eq("+newSelectedImage+")").fadeIn(switchFade);
 
            selectedImage = newSelectedImage;
 
            setTimeout(advanceSlideshow, switchTime);
        };
        setTimeout(advanceSlideshow,switchTime);
    });
	
	$('#middle').corner("15px");

	// redirect to home page
	$("#link-home, #logo").click(function() {
		$('#events').fadeTo(500, 1);
		$("#events").show("fast");
		$('#calendrier').hide();
		loadPage("pages/content/home.php", {eventdate: ""});
	});
	
	// primary links
	$("#link-calendrier").click(function() {
			$('#calendrier').toggle('slow');
		});
	
	//$("#link-nouvelles").click(function() {return loadPage("pages/content/nouvelles.php");});
	$("#link-billetterie").click(function() {
			$('#events').fadeTo(500, 0);
			$("#events").hide("fast");
			loadPage("pages/content/billetterie.php");
		});
	$("#link-location").click(function() {
			$('#events').fadeTo(500, 0);
			$("#events").hide("fast");
			loadPage("pages/content/location.php");
		});
	$("#link-photovideo").click(function() {
			$('#events').fadeTo(500, 0);
			$("#events").hide("fast");
			loadPage("pages/content/photovideo.php");
		});
	$("#link-contact").click(function() {
			$('#events').fadeTo(500, 0);
			$("#events").hide("fast");
			loadPage("pages/content/contact.php");
		});

	// events caroussel
	$('#event-list').hoverscroll({
		width: 790,
		height: 100,
		arrows: false
	});
	
    $('.eventbox').mouseenter(function(e) {
        $(this).children('img').animate({ height: '96', left: '0', top: '0', width: '96'}, 200);
        $(this).children('span').animate({opacity: '1'}, 300);
    }).mouseleave(function(e) {
    	if ($(this).attr('id') != selectedDate) {
	        $(this).children('img').animate({ height: '116', left: '-20', top: '-20', width: '116'}, 300);
	        $(this).children('span').animate({opacity: '0.3'}, 300);
    	}
    });

	$('#events').children('div').removeClass('ui-widget-content');
	$('#ui-datepicker-div').removeClass('ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible');
	
	// events
	$('#event-list li').bind('click', function(){
		//deselect old event
		$('#' + selectedDate).children('img').animate({ height: '116', left: '-20', top: '-20', width: '116'}, 300);
		$('#' + selectedDate).children('span').animate({opacity: '0.3'}, 300);
		
		selectedDate = $(this).attr('id');
		
		$(this).children('img').animate({ height: '96', left: '0', top: '0', width: '96' }, 200);
		$(this).children('span').animate({opacity: '1'}, 300);
		
		var params;
		if (selectedDate != null) {
			params = {eventdate: selectedDate};
		}
		return loadPage("pages/content/home.php", params);
	});
	
	$('#nextevent').click(function() {
		$('#' + selectedDate).next().trigger('click');
	});
	
	$('#previousevent').click(function() {
		$('#' + selectedDate).prev().trigger('click');
	});
	
	$('#event-list li').tooltip();

	// promoted event (default = the next event)
	$('#event-list li:first').trigger('click');
	//loadPage("pages/content/news.php", {newsdate: ''});

  if (!$.browser.msie) {
	   $('#header').corner();
	}

	if (!$.browser.msie) {
		$('#main').fadeTo(1, 0);
		$('#main').fadeTo(1000, 0.95);
		$('#footer').fadeTo(1, 0);
		$('#footer').fadeTo(1000, 0.95);
	} else {
		/*alert('Ce site est optimisé pour un fureteur respectant les standards web. \n' +
				'Votre fureteur est: ' + navigator.userAgent);*/
	}
});

// AJAX page switcher
function loadPage(page, params, dest) {
	showLoading(true);
	$('#calendrier').hide("slow");
	
	if (dest == null) { dest = "#content"; }

    $(dest).load(page, params, function() {
    		showLoading(false);
    	}
    );
    return false;
}

// Loading actions
function showLoading(loading) {
	$('#loading').fadeTo(500, loading ? 1 : 0);
}

// Enables the dates in the small calendar
function setCalendarDates(date)  
{  
	var date_id = date.getFullYear() + "-" + padNumber(date.getMonth()+1) + "-" + padNumber(date.getDate());
	var idx = jQuery.inArray(date_id, eventDates);
	if (idx > -1) {
		return [true, "", eventDates[idx+1]];
	}
	return [false, ""];
}

function padNumber(number)
{
	var ret = new String(number);
	if (ret.length == 1)
	    ret = "0" + ret;
	return ret;
}
