var slideshow = {
	cloneFirst : $('#slideshow li:eq(0)').clone(),
	cloneLast : $('#slideshow li:eq('+($('#slideshow li').length-1)+')').clone(),
	indexCloneFirst : null,
	indexCloneLast : null,
	imagePosition : $('#slideshow li .background').position(),
	imageWidth : $('#slideshow li .background').css('width'),
	imageHeight : $('#slideshow li .background').css('height'),
	slideSize : $('#slideshow li').length,
	pauseTimer : null,
	activSlide : '-1', /* l'execution automatique le fait passer à 0 dès le chargement */
	insertClone : function(){
		/* on clone le dernier élément et on position le clone avant le premier élément */
		$(this.cloneLast).css('left',$('#slideshow li:eq(0)').position().left-$('#slideshow li').outerWidth());
		$(this.cloneLast).appendTo('#slideshow');
		this.indexCloneLast = $('#slideshow li').index($(this.cloneLast));
		
		/* on clone le premier élément et on position le clone après le dernier élément */
		$(this.cloneFirst).css('left',$('#slideshow li:eq('+(this.slideSize-1)+')').position().left+$('#slideshow li').outerWidth());
		$(this.cloneFirst).appendTo('#slideshow');
		this.indexCloneFirst = $('#slideshow li').index($(this.cloneFirst));
	},
	incrementSlide : function(oldIndex,newIndex,signe){
		$('.overview').css('display',"none");
		$('#slideshow li:eq('+oldIndex+') .info').css('display',"none");
		$('#controlSlideshow a:eq('+oldIndex+')').removeClass('active');
		$('#controlSlideshow a:eq('+newIndex+')').addClass('active');
		if(signe == '-'){
			var realIndex = parseInt(oldIndex)+1;
			if(realIndex>=this.slideSize){
				realIndex = this.indexCloneFirst;
			}
		}else{
			var realIndex = parseInt(oldIndex)-1;
			if(realIndex<0){
				realIndex = this.indexCloneLast;
			}
		}
		
		$('#slideshow').stop(false,false).animate({ left: (-1*$('#slideshow li:eq('+realIndex+')').position().left)}, 750, "easeInOutQuad", function(){ 
			if(realIndex == slideshow.indexCloneFirst || realIndex == slideshow.indexCloneLast){
				$('#slideshow').css('left', (-1*$('#slideshow li:eq('+newIndex+')').position().left)+'px');
				$('#slideshow li:eq('+realIndex+') .background').css({'width' : slideshow.imageWidth,'height' : slideshow.imageHeight,'top' : slideshow.imagePosition.top,'left' : slideshow.imagePosition.left});
			}
			$('#slideshow li:eq('+newIndex+') .info').css('visibility',"visible").fadeIn();
			$('#slideshow li:eq('+newIndex+') .background').animate({top: '0', left: '0',width: '100%',height: '100%'},2000,'easeInOutQuad');
			$('#slideshow li:eq('+oldIndex+') .background').stop(true,true).css({'width' : slideshow.imageWidth,'height' : slideshow.imageHeight,'top' : slideshow.imagePosition.top,'left' : slideshow.imagePosition.left});
			$('.overview').css('display',"block");
		});
	},
	switchSlide : function(oldIndex,newIndex){
		$('#slideshow li:eq('+oldIndex+') .info').css('display',"none");
		$('#controlSlideshow a:eq('+oldIndex+')').removeClass('active');
		$('#controlSlideshow a:eq('+newIndex+')').addClass('active');
		
		$('#slideshow').stop(false,false).animate({ left: '-'+$('#slideshow li:eq('+newIndex+')').position().left}, 750, "easeInOutQuad", function(){ 
			$('#slideshow li:eq('+newIndex+') .info').css('visibility',"visible").fadeIn();
			$('#slideshow li:eq('+newIndex+') .background').animate({top: '0', left: '0',width: '100%',height: '100%'},2000,'easeInOutQuad');
			$('#slideshow li:eq('+oldIndex+') .background').stop(true,true).css({'width' : slideshow.imageWidth,'height' : slideshow.imageHeight,'top' : slideshow.imagePosition.top,'left' : slideshow.imagePosition.left});
		});
	}
}
slideshow.insertClone();

$('#slideshow').at_intervals(
	function(){
		var signe = '-';
		var oldActivSlide = slideshow.activSlide;
		slideshow.activSlide++;
		if(slideshow.slideSize == slideshow.activSlide){
			slideshow.activSlide = 0;
		}
		/*
		// mettre slideshow.activSlide à 1
		var signe = '+';
		var oldActivSlide = slideshow.activSlide;
		slideshow.activSlide--;
		if(-1 == slideshow.activSlide){
			slideshow.activSlide = slideshow.slideSize-1;
		}*/
		
		slideshow.incrementSlide(oldActivSlide,slideshow.activSlide,signe);
	},
	{ name: "animSlideshow", delay: 4000 }
);
if(slideshow.slideSize<=1){
	$("#slideshow").data("animSlideshow").should_stop = true;
}

$('.overview').mouseover(
	function(){
		if($(this).attr('id')=="overviewSlideshowLeft"){
			var elmt = $('#overviewSlideshowLeft');
			var signe = '+';
			var targetIndex = slideshow.activSlide-1;
			if(targetIndex == -1){
				targetIndex = slideshow.slideSize-1;
			}
			/*var actif = true;
			if(targetIndex == -1){
				actif = false;
			}*/
		}else{
			var elmt = $('#overviewSlideshowRight');
			var signe = '-';
			var targetIndex = slideshow.activSlide+1;
			if(targetIndex == slideshow.slideSize){
				targetIndex = 0;
			}
			/*var actif = true;
			if(targetIndex == slideshow.slideSize){
				actif = false;
			}*/
		}
		
		$(this).mouseout(
			function(){
				// on recalle le slideshow
				$('#slideshow').stop(false,false).animate({left: '-'+$('#slideshow li:eq('+slideshow.activSlide+')').position().left}, 400, "easeOutQuad", function(){ 
					$(elmt).unbind('click');
					if($("#slideshow").data("animSlideshow")){
						slideshow.pauseTimer = setTimeout(function(){$("#slideshow").data("animSlideshow").should_pause = false;},5000);
					}
				});
			}
		);
		
		//if(actif){
			// on pause le slideshow
			if($("#slideshow").data("animSlideshow")){
				clearTimeout(slideshow.pauseTimer);
				$("#slideshow").data("animSlideshow").should_pause = true;
			}
			
			// léger décallage du slide
			$('#slideshow').animate({ left: signe+'=35'}, 400, "easeOutQuad", function(){ 
				$(elmt).click(function(event){
					//$('#controlSlideshow a:eq('+targetIndex+')').trigger('click');
					$(elmt).unbind('mouseout');
					$(elmt).unbind('click');
					event.preventDefault();
					
					var oldActivSlide = slideshow.activSlide;
					slideshow.activSlide = targetIndex;
					
					// on pause le slideshow pendant un temps
					if($("#slideshow").data("animSlideshow")){
						clearTimeout(slideshow.pauseTimer);
						$("#slideshow").data("animSlideshow").should_pause = true;
						slideshow.pauseTimer = setTimeout(function(){$("#slideshow").data("animSlideshow").should_pause = false;},5000);
					}
					
					// slide
					slideshow.incrementSlide(oldActivSlide,slideshow.activSlide,signe);
				});
			});
		//}
	}
);

$('#controlSlideshow a').each(function(index){
	$(this).click(function(event){
		event.preventDefault();
		var oldActivSlide = slideshow.activSlide;
		slideshow.activSlide = index;
		
		// on pause le slideshow pendant un temps
		if($("#slideshow").data("animSlideshow")){
			clearTimeout(slideshow.pauseTimer);
			$("#slideshow").data("animSlideshow").should_pause = true;
			slideshow.pauseTimer = setTimeout(function(){$("#slideshow").data("animSlideshow").should_pause = false;},5000);
		}
		
		// slide
		slideshow.switchSlide(oldActivSlide,slideshow.activSlide);
	});
});

/* CORRECTION INFO LINK COLOR IE6-7 */
if($.browser.msie && $.browser.version <= 7){
	$('.info').each(function(){
		$(this).find('a').css('color',$(this).css('color'));
	});
}
