
/* Lightbox de la page d'accueil */

$(document).ready(function() {
	// Récupération de width/height du document
	var docHeight = $(document).height();
	var docWidth = $(document).width();
	// Création du fitre pour la lightbox
	$("body").prepend("<div id=\"filter\"></div>");
	$("#filter").css({
		"position" : "absolute",
		"width" : docWidth+"px",
		"height" : docHeight+"px",
		"background" : "black",
		"opacity" : "0.6",
		"z-index" : "10",
		"display" : "none"
	});
	
	num_image = 0;
	// Affichage de la lightbox revue
	
	// On boucle sur chaque miniature, on récupère le nom de l'image en enlevant _thumb, et l'on affiche la lightbox #box_revue en chargeant dynamiquement l'image dans boxcontent
	nb_revue = $("#revues span").length;
	// On déclare le tableau revue[] en fonction de l'index
	revue = new Array();
	$("#revues span img").each(function(index) {
		// déclaration de revue[index][],  contenant : id, nom de l'image, titre
		revue[index] = new Array();
		// extraction du nom de l'image à partir du nom de la miniature nom_thumb.jpg
		var chaine = $(this).attr("src");
		var sous_chaine = '_thumb';
		revue[index][1] = chaine.substring(0, chaine.lastIndexOf(sous_chaine))+'.jpg';
		// extraction de l'id à partir de l'id de la miniature box_id_... 	
		chaine = $(this).parent().attr("id");
		sous_chaine = '_';
		revue[index][0] = chaine.substring(chaine.lastIndexOf(sous_chaine)+1, chaine.length);
		// titre de la lightbox contenu dans le texte alternatif de la miniature
		revue[index][2] = $(this).attr("alt");
		
		// On change le pointeur de la souris au survol de l'image
		$(this).css("cursor","pointer");
		
		$(this).parent().mouseenter(function() {
			$("img", this).animate({"width" : "+=10px"});
			
		});
		$(this).parent().mouseleave(function() {
				$("img", this).animate({"width" : "-=10px"});
		});
		
		// On ouvre la lightbox au click sur l'image centrée dans la fenetre
		$(this).click(function() {
			
			// Calcul de la position de la lightbox pour la centrer dans la fenêtre du navigateur
			var posTop = $(window).scrollTop() + $(window).height()/2 - $("#box_revue").height()/2;
			var posLeft = $(window).scrollLeft() + ($(window).width() - $("#box_revue").width())/2;
			
			// ecriture des attributs de la lightbox
			$("#box_revue #boxcontent img").hide().attr("src",revue[index][1]);
			$("#box_revue").css({
				"top" : posTop+"px",
				"left" : posLeft+"px",
				"z-index" : "20",
			});
			// On se souvient de l'index de l'image cliquée pour les boutons précédent et suivant
			num_image = index;
			// On remplit le header et le footer de la lightbox
			$("#boxheader").text(revue[index][2]);
			$("a.lien_sommaire").attr("href","sommaire.php?id_revue="+revue[index][0]) ;
			$("a.lien_editorial").attr("href","editorial.php?id_revue="+revue[index][0]) ;
			$("#box_revue").fadeIn(1000);
			
			$("#filter").fadeIn(500);
			$("#box_right, #box_left").show();
			if(index == 0) $("#box_left").hide();
			if(index == nb_revue -1) $("#box_right").hide();
			$("#box_revue #boxcontent img").load(function() {
				$(this).slideDown();
			});
			return false;
		});
	});
	// Bouton #box_revue #boxclose
	$("#box_revue #boxclose").click(function() {
		$("#box_revue").fadeOut(1000);
		$("#filter").fadeOut(1000)
	});
	// Click sur le filtre
	$("#filter").click(function() {
		$("#box_revue").fadeOut(300);
		$("#box_ardoise").fadeOut(300);
		$("#box_promo").fadeOut(300);
		$("#filter").fadeOut(300)
	});
	// Fonction changement des attributs de la boite
	function attr_box(index) {
		/*$("#box_revue #boxcontent img").hide().delay(300).attr("src",revue[index][1]).show();*/
		$("#box_revue #boxcontent img").hide().attr("src",revue[index][1])
		$("#box_revue #boxcontent img").load(function() {
			$(this).slideDown();
		});
		// On remplit le header et le footer de la lightbox
		$("#boxheader").text(revue[index][2]);
		$("a.lien_sommaire").attr("href","sommaire.php?id_revue="+revue[index][0]) ;
		$("a.lien_editorial").attr("href","editorial.php?id_revue="+revue[index][0]) ;
		$("#box_right, #box_left").show();
	}
	// bouton suivant
	$("#box_right").click(function() {
		index = ++num_image;
		attr_box(index);
		if(index == nb_revue - 1) $(this).hide();
		$("#box_revue").hide().fadeIn(600);
	});
	$("#box_left").click(function() {
		index = --num_image;
		attr_box(index);
		if(index == 0) $(this).hide();
		$("#box_revue").hide().fadeIn(600);
	});
	
	// Lightbox l'ardoise magique
	// On change le pointeur de la souris au survol de l'image
	$("#ardoise img:first").css("cursor","pointer");
	$("#ardoise img:first").click(function() {
		$(this).css("cursor","pointer");
		// Calcul de la position de la lightbox pour la centrer dans la fenêtre du navigateur
		var posTop = $(window).scrollTop() + $(window).height()/2 - $("#box_ardoise").height()/2;
		var posLeft = $(window).scrollLeft() + ($(window).width() - $("#box_ardoise").width())/2;
		// ecriture des attributs de la lightbox
		$("#box_ardoise #boxcontent img").attr("src","images/ardoise.jpg");
		$("#box_ardoise").css({
			"top" : posTop+"px",
			"left" : posLeft+"px",
			"z-index" : "20",
		});
		$("#filter").fadeIn(500);
		$("#box_ardoise").fadeIn(1000);
	});
	// Bouton #box_ardoise #boxclose
	$("#box_ardoise #boxclose").click(function() {
		$("#box_ardoise").fadeOut(1000);
		$("#filter").fadeOut(1000)
	});
	
	// Lightbox offre promo
	$(".bouton_promo a").click(function() {
		// Calcul de la position de la lightbox pour la centrer dans la fenêtre du navigateur
		var posTop = $(window).scrollTop() + $(window).height()/2 - $("#box_promo").height()/2;
		var posLeft = $(window).scrollLeft() + ($(window).width() - $("#box_promo").width())/2;
		$("#box_promo").css({
			"top" : posTop+"px",
			"left" : posLeft+"px",
			"z-index" : "20",
		});
		$("#filter").fadeIn(500);
		$("#box_promo").fadeIn(1000);
		return false;
	});
	// Bouton #box_promo #boxclose
	$("#box_promo #boxclose").click(function() {
		$("#box_promo").fadeOut(1000);
		$("#filter").fadeOut(1000)
	});
		
});
