// JavaScript Document

var carrousel = {
	
	nbSlide : 0,
	nbCurrent :1,
	elemCurrent : null,
	elem : null,
	timer : null,
	
	
	init : function (elem){
		this.nbSlide = elem.find(".slide").length;

		//Initialisation du caroussel
		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");
		
		//créer la pagination
		this.elem.append('<div class="navigation"></div>');
		for(var i=1; i<=this.nbSlide; i++){
			elem.find(".navigation").append("<span>"+i+"</span>");
		}
		this.elem.find(".navigation span").click(function(){carrousel.gotoSlide($(this).text()); });
		
		//on crée le timer
		carrousel.play();
		// stop quand on passe dessus
		elem.mouseover(carrousel.arret);
		//play quand on passe out
		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.elemCurrent.find(".visu").fadeOut();
		this.elem.find("#slide"+num).show();
		this.elem.find("#slide"+num+".visu").hide().fadeIn();
		
		this.elemCurrent.find(".visu .title").animate({"bottom": - $(this).height()},500 );
		*/
		
		
		
		this.elem.find("#slide"+num).animate({ "top":0,"left":0},1000);
		this.elemCurrent.animate(cssFin,1000);
		
		
				
		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 num = this.nbCurrent-1;	
		if(num < 1){
			num = this.nbSlide;
		}
		this.gotoSlide(num);
	},
	
	arret : function(){
		window.clearInterval(carrousel.timer);
	},
	
	play : function(){
		window.clearInterval(carrousel.timer);
		carrousel.timer = window.setInterval("carrousel.next()", 6000);
		//carrousel.timer = window.setTimeout("carrousel.next()", 6000);
	}
	
		
}

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