/*
	CARROUSEL ACTUALITES JS
*/

var carrousel = {

	nbSlide : 0,
	nbCurrent : 1,
	elemCurrent : null,
	elem : null,	//élément actuel
	timer : null,

	init : function(elem) {
		this.nbSlide = elem.find('.slide').length;
		
		// Créer la pagination
		elem.append('<div class="navigation"></div>');
		for(var i=1; i<=this.nbSlide; i++) {
			elem.find('.navigation').append('<span>'+i+'</span>')
		}
		elem.find('.navigation span').click(function(){carrousel.gotoSlide($(this).text()); })
		
		
		// Initialisation du carrousel
		this.elem = elem;
		elem.find('.slide').hide();
		elem.find('.slide:first').show();
		this.elemCurrent = elem.find('.slide:first');
		this.elem.find('.navigation span:first').addClass('active');
		
		// On crée le timer
		carrousel.play();
		
		// Stop quand on passe dessus
		elem.mouseover(carrousel.stop);
		elem.mouseout(carrousel.play);
		
	},
	
	gotoSlide : function(num){
		if(num==this.nbCurrent){ return false; }
		
		/* Animation en FadeIn FadeOut
		this.elemCurrent.fadeOut();
		this.elem.find('#slide'+num).fadeIn();
		*/
		
		/* Animation en slide 
		var sens = 1;
		if(num<this.nbCurrent){ sens = -1;}
		var cssDeb = {'left':sens*this.elem.width()};
		var cssFin = {'left':-sens*this.elem.width()};
		this.elem.find('#slide'+num).show().css(cssDeb);
		this.elem.find('#slide'+num).animate({'top':0,'left':0},500);
		this.elemCurrent.animate(cssFin,500);
		*/
		
		/*Animation en FadeIn et Fade Out avec titre montant*/
		/*--- Ces 3 lignes d'origine bug avec du code HTML, elles sons remplacées par les 3 suivantes --*/
		/*this.elemCurrent.find(".visu").fadeOut(); 
		this.elem.find("#slide"+num).show();
		this.elem.find("#slide"+num+" .visu").hide().fadeIn();
		*/
		
		this.elemCurrent.fadeOut();
		this.elem.find('#slide'+num).show();
		this.elem.find('#slide'+num).hide().fadeIn();
		/*var titleHeight = this.elemCurrent.find('.title').height();
		this.elemCurrent.find('.title').animate({'bottom':-titleHeight},500);
		this.elem.find('#slide'+num+' .title').css('bottom',-titleHeight).animate({'bottom':0},500);*/
		var titleWidth = this.elemCurrent.find('.title').width();
		this.elemCurrent.find('.title').animate({'left':-titleWidth},500);
		this.elem.find('#slide'+num+' .title').css('left',-titleWidth).animate({'left':0},500);
		
		/* Fin de la fonction : commune à toutes les animations */
		this.elem.find('.navigation span').removeClass('active');
		this.elem.find('.navigation span:eq('+(num-1)+')').addClass('active');
		this.nbCurrent = num;
		this.elemCurrent = this.elem.find('#slide'+num);
	},
	
	next : function(){
		var num = this.nbCurrent+1;
		if(num > this.nbSlide){
			num = 1;
		}
		this.gotoSlide(num);
	},
	
	prev : function(){
		var numero = this.nbCurrent-1;
		if(num < 1){
			num = this.nbSlide;
		}
		this.gotoSlide(num);
	},
	
	stop : function(){
		window.clearInterval(carrousel.timer);
	},
	
	play : function(){
		window.clearInterval(carrousel.timer);
		carrousel.timer = window.setInterval('carrousel.next()',8000);
	}
	
}

$(function(){
	carrousel.init($('#carrousel'));
});
