var carrousel = {
    
    nbSlide : 0 ,
    nbCurrent : 1,
    elemCurrent : null,
    elem : null,
    timer: null,
    
    
    init: function(elem){
        
        this.nbSlide = elem.find(".slide").length;
        
        //Creation de la pagination
        
        elem.append('<div class="naviSlide"></div>');
        
        for(var i = 1; i <=this.nbSlide; i++)
        {
            elem.find(".naviSlide").append("<span>"+i+"</span><br/>");
            
        }
        
        elem.find(".naviSlide span").click(function(){ carrousel.gotoSlide($(this).text()); })
        
        // Init du carrousel
        
        this.elem=elem;
        elem.find(".slide").hide();
        elem.find(".slide:first").show();
        this.elemCurrent = elem.find(".slide:first");
        this.elem.find(".naviSlide span:first").addClass("active");
        
        // On crée le timer
        
       carrousel.play(); 
        
        //Stop carrou
        
        elem.mouseover(carrousel.stop);
	elem.mouseout(carrousel.play);
        
        // Carrou lets
        
        
    },
    
    gotoSlide : function(num){
        
        if(num == this.nbCurrent){return false;}
        
        
        
        
         
                        ////////////////////////////////////////////////////////////////////////////////////////
                        ///                                                                                 ///
                        ///                                                                                 ///
                        ///                    Fonction FadeIn FadeOut                       ///
                        ///                                                                                 ///
                        ///                                                                                 ///
                        ///////////////////////////////////////////////////////////////////////////////////////
                        
        /*               
        this.elemCurrent.fadeOut();
        //this.elem.find('.slide:eq("+num-1+")'); egale la fonction :   this.elem.find("#slide"+num).fadeIn();
        this.elem.find("#slide"+num).fadeIn();
       */
	
	   //////  SLIDE  //////
	   /*
        var sens=1;
        if(num<this.nbCurrent){sens = -1;}
        var cssDep ={ "left":  sens*this.elem.width()};
        var cssArr ={ "left":  -sens*this.elem.width()};
        this.elem.find("#slide"+num).show().css(cssDep);
         this.elem.find("#slide"+num).animate({"top": 0, "left":0 },500);
        this.elemCurrent.animate(cssArr,500);*/

		
	this.elemCurrent.find(".visu").fadeOut();
	this.elem.find("#slide"+num).show();
	this.elem.find("#slide"+num+" .visu").hide().fadeIn();
	
	
	var titleHeight=this.elemCurrent.find(".titre").height();
	this.elemCurrent.find(".titre").animate({"bottom":-titleHeight},500);
	this.elem.find("#slide"+num+" .titre").css("bottom",-titleHeight).animate({"bottom":0},500);
	       
        this.elem.find(".naviSlide span").removeClass("active");
        this.elem.find(".naviSlide span:eq("+(num-1)+")").addClass("active");
        this.nbCurrent =num;
        this.elemCurrent = this.elem.find("#slide"+num);
       
        
},
    
    next : function(){
        var num = Number(this.nbCurrent)+1;
        
        if(num>this.nbSlide) {
            num = 1;
        }
        
        this.gotoSlide(num);
    },
    
    prev : function(){
        var num = this.nbCurrent-1;
        
        if(num<1) {
            this.num = this.nbSlide;
        }
        
        this.gotoSlide(this.num);
    },
    
    stop:function(){
	window.clearInterval(carrousel.timer);
    },
	
    play:function(){
	window.clearInterval(carrousel.timer);
	carrousel.timer=window.setInterval("carrousel.next()",5000);
    },
}

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

