/* SLIDESHOW RÉFÉRENCE */

$.fn.slidereferences = function(){
	var photos = $(this);
	var cont = $("#cont-nums");	
	var nb_elements = $('.pic-center2').length;
	var sliderInterval;
	var delay = 5000;
	//on cache toutes les photos sauf la premiere
	photos.children(".pic-center1:gt(0)").hide();
	for(var i=0;i<nb_elements;i++)
	{
		cont.append("<a href=\"#\" class=\"btn-num\">"+(i+1)+"</a>");
	}
	cont.find("a.btn-num:first").addClass("btn-num-sel");
	
	cont.find("a.btn-num").click(function(event){
		clearInterval(sliderInterval);
		
		cont.find(".btn-num-sel").removeClass("btn-num-sel");
		$(this).addClass("btn-num-sel");
		
		var imgCourante = photos.children(".pic-center1':visible");
		var imgSuivante = photos.children(".pic-center1':nth-child("+$(this).html()+")");
		
		if(imgSuivante != imgCourante)
		{
			imgCourante.stop(true, true).fadeOut();
			imgSuivante.stop(true, true).fadeIn();
			event.preventDefault();
		}
		sliderInterval = setInterval(defilement_auto, delay);
	});
	
	function defilement_auto(){
		if(nb_elements > 1)
		{
			var numSuivant = $("#cont-nums").find(".btn-num-sel").html();
			numSuivant ++;
			if(numSuivant > $("#cont-nums").find(".btn-num").length)
			{
				numSuivant = 1;
			}
			$("#cont-nums").children(".btn-num':nth-child("+numSuivant+")").trigger("click");
		}
	}
	
	sliderInterval = setInterval(defilement_auto, delay);
}

/* SLIDESHOW TOUTES LES RÉFÉRENCES */

$.fn.slidefull = function(){
	var slide = $(this);
	var slidecont = $(this).find("#slide-cont");
	var cont = $(this).find("#cont-elts");
	var elt_width = 428;
	var duplicated_elts = 4;
	var current_elt = -1;
	var sliderInterval;
	var delay = 3000;
	var sens = "normal";
	
	var btn_prev = $(this).find('.btn-prev-loop');
	var btn_next = $(this).find('.btn-next-loop');
	var btn_home = $(this).find('.btn-home-loop');
	btn_home.css("margin-left",0);
	
	var nb_elements = $(this).find('.slide-item').length;
	if(nb_elements < duplicated_elts){duplicated_elts = nb_elements;}
	var offset = (nb_elements + duplicated_elts)*elt_width + 32;
	var nb_elements_tot = nb_elements + duplicated_elts*2;
	slidecont.css("width",(elt_width * (nb_elements_tot * 2)));
	cont.css("left",offset);
	
	//on duplique les premiers et derniers elements
	for(var i=nb_elements; i>nb_elements-duplicated_elts; i--)
	{
		cont.prepend(cont.children(".slide-item':nth-child("+nb_elements+")").clone());
	}
	for(var i=duplicated_elts+1; i<=(duplicated_elts*2); i++)
	{
		cont.append(cont.children(".slide-item':nth-child("+i+")").clone());
	}
	for(var i=1; i<=nb_elements_tot; i++)
	{
		cont.children(".slide-item':nth-child("+i+")").hover( function(event){
			if($(this).hasClass("activ") && $(this).find('img.thumb').length > 0){
				clearInterval(sliderInterval);
				event.preventDefault();
				$(this).find('img.thumb').fadeIn("fast");
				$(this).find('img.zoom_thumb').fadeOut("fast");
			}
		},
		function(event){
			if($(this).hasClass("activ") && $(this).find('img.thumb').length > 0){
				event.preventDefault();
				$(this).find('img.thumb').fadeOut("fast");
				$(this).find('img.zoom_thumb').fadeIn("fast");
				sens = "normal";
				sliderInterval = setInterval(defilement_auto, delay);
			}
		});
	}
	$(this).find('.zoom_thumb').fadeIn();
	
	$(window).resize(function() {
		var larg = (slide.width() - 900)/2;
		btn_prev.css("width",larg);
		btn_next.css("width",larg);
		btn_home.css("left",larg);
		slidecont.css("left",-((slidecont.width() - slide.width())/2) );
	});
	
	//defilement roll
	btn_next.hover( function(event){
		clearInterval(sliderInterval);
		event.preventDefault();
		sens = "right";
		defilement_auto();
		sliderInterval = setInterval(defilement_auto, delay/4);
	},
	function(event){
		event.preventDefault();
		clearInterval(sliderInterval);
		clearInterval(sliderInterval);
		sens = "normal";
		sliderInterval = setInterval(defilement_auto, delay);
	});
	
	btn_prev.hover( function(event){
		clearInterval(sliderInterval);
		event.preventDefault();
		sens = "left";
		defilement_auto();
		sliderInterval = setInterval(defilement_auto, delay/4);
	},
	function(event){
		event.preventDefault();
		clearInterval(sliderInterval);
		sens = "normal";
		sliderInterval = setInterval(defilement_auto, delay);
	});
	
	//defilement auto
	function defilement_auto(){
		var vit = "450";
		var ease = "swing";
		var pos = 0;
		if(sens != "normal"){vit = "280"; ease = "linear"}
		if(sens == "left"){current_elt--;}else{current_elt++;}
		for(var i=1; i<=nb_elements_tot; i++)
		{
			var elt = cont.children(".slide-item':nth-child("+i+")");
			if(current_elt + duplicated_elts == i-1){elt.addClass("activ").animate({opacity:1},vit);}
			else{elt.removeClass("activ").animate({opacity:0.3},vit); elt}
		}		
		cont.animate(
			{
				left:(offset - current_elt*elt_width)
			},
			vit,
			ease,
			function() {
				if(sens == "left" && current_elt<0){current_elt=nb_elements-1;cont.children(".slide-item':nth-child("+(duplicated_elts+nb_elements)+")").addClass("activ").css("opacity",1);cont.css("left",offset - ((nb_elements - 1) * elt_width));};
				if(sens != "left" && current_elt>nb_elements){current_elt=1;cont.children(".slide-item':nth-child("+(2+duplicated_elts)+")").addClass("activ").css("opacity",1);cont.css("left",offset - elt_width);};
			}
		);
	}
	
	sliderInterval = setInterval(defilement_auto, delay);
	defilement_auto();
	$(window).resize();
}

/* STICKER HOME */

$.fn.stickerhome = function(){
	var sticker = $(this);
	var image = $(this).find("img");
	var scale = 8;
	
	sticker.css("width",image.width()+scale);
	sticker.css("height",image.height()+scale);
	sticker.css("right", (($("#slide").width()-900)/2) + 90);
	
	sticker.hover( function(event){
		image.css("width",sticker.width()+scale);
		image.css("height",sticker.height()+scale);
		image.css("top",-(scale/2));
		image.css("left",-(scale/2));
		image.animate({width: sticker.width()-scale,height: sticker.height()-scale,left:0,top:0}, 100, function() {} );
	},
	function(event){
		
	});
	
	sticker.draggable();
	sticker.fadeIn();
}



$(document).ready(function() {
	/* on ajoute la classe 'group' aux liens contenant des images */
	$(".col-droite a img").parent().addClass("group");
	/* fancy box */
	$("a#single_image").fancybox({
		'speedIn'		:	300, 
		'speedOut'		:	150, 
		'overlayColor'	:	'#000',
		'overlayOpacity' :	0.85,
		'padding'		: 0,
		'margin'		: 60
	});
	$("a.group").fancybox({
		'speedIn'		:	300, 
		'speedOut'		:	150, 
		'overlayColor'	:	'#000',
		'overlayOpacity' :	0.85,
		'padding'		: 0,
		'margin'		: 60
	});
	$("a#single_image").hover(function () {
			$("a#single_image .current-img-zoom").stop().animate({opacity: 1}, "fast");
		}, function () { 
			$("a#single_image .current-img-zoom").stop().animate({opacity: 0}, "fast");
	});
	$("a.group").hover(function () {
			$("a.group .current-img-zoom").stop().animate({opacity: 1}, "fast");
		}, function () { 
			$("a.group .current-img-zoom").stop().animate({opacity: 0}, "fast");
	});
	
	/*slide références*/
	$("#slider").slidereferences();
	
	/*slide cat références*/
	$("#slide-full").slidefull();
	
	/*sticker home*/
	$("#sticker").stickerhome();
});
