


var carrousel = {

    nbSlide: 0,
    nbCurrent : 1,
    elemCurrent : null,
    elem : null,
    timer : null,

    init : function(elem){
        this.nbSlide = elem.find(".slide").length;

        // Pagination
        elem.append('<ul class="navslide"></ul>');
        for(var i=1; i<=this.nbSlide; i++){
            elem.find('.navslide').append("<li>"+i+"</li>");
        }
        elem.find('.navslide li').click(function(){
            carrousel.gotoSlide($(this).text());
            window.clearInterval(carrousel.timer);
        })

        // initialisation
        this.elem=elem;
        elem.find('.slide').hide();
        elem.find(".slide:first").show();
        this.elemCurrent = elem.find(".slide:first");
        this.elem.find(".navslide li:first").addClass("active");

        //timer
        this.timer = window.setInterval("carrousel.next()",4000);


    },

    gotoSlide : function(num){
        if(num==this.nbCurrent){return false;}


/* */
        this.elemCurrent.find(".visu").fadeOut();
        this.elem.find("#slide"+num).show();
        this.elem.find("#slide"+num+" .visu").hide().fadeIn(150);

        this.elemCurrent.find(".visu").animate({"left" : 500, "opacity" : 0},150,'swing');
        this.elem.find("#slide"+num+" .visu").css("left", 500).animate({"left" : 0, "opacity" : 1},250,'swing');


        this.elemCurrent.find(".titleslide").animate({"bottom" : - 15, "opacity" : 0},150,'linear');
        this.elem.find("#slide"+num+" .titleslide").css("bottom", - 15).animate({"bottom" : 0, "opacity" : 0.9},250,'linear');

        this.elemCurrent.find(".txtslide").animate({"bottom" : 190, "opacity" : 0},200);
        this.elem.find("#slide"+num+" .txtslide").css("bottom", 190).animate({"bottom" : 140, "opacity" : 1},400);

        this.elem.find(".navslide li").removeClass("active");
        this.elem.find(".navslide li: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);
    }



}

$(function(){
    carrousel.init($('#slider'));
});

/* ################################################################################ */

