/*
Carrousel
*/
var carrousel = {
	
	nbSlide : 0,
	nbCurrent : 1,
	elemCurrent : null,
	elem : null,
	timer : null,
	
	init : function(elem) {
		this.nbSlide = elem.find(".slide").length;
		
		// Créer la pagination
		elem.append('<div id="diapGauche"></div><div id="diapDroite"></div><div class="pagination"></div>');
		for(var i=1;i<=this.nbSlide;i++){
			elem.find(".pagination").append("<span>"+i+"</span>");
		}
		elem.find(".pagination span").click(function(){carrousel.gotoSlide($(this).text()); })
		elem.find("#diapGauche").click(function(){carrousel.prev($(this).text()); })
		elem.find("#diapDroite").click(function(){carrousel.next($(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(".pagination span:first").addClass("active");
		
		// On cré 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 - ligne 43 à 44 
		this.elemCurrent.fadeOut();
		this.elem.find("#slide"+num).fadeIn();*/
		
		/* Animation en Slide - ligne 48 à 53 */
		/*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" : 13, "left" : 13}, 500);
		this.elemCurrent.animate(cssFin,500);*/
		
		/* Animation en fadeIn/fadeOut avec title - ligne 56 à 63 */
		this.elemCurrent.fadeOut();
		this.elem.find("#slide"+num).show();
		this.elem.find("#slide"+num+" .visu").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);
		
		this.elem.find(".pagination span").removeClass("active");
		this.elem.find(".pagination 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 num = 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()",5000);
	}

}

$(function() {
   carrousel.init($("#carrousel"));
});
