(function($){
    
    // Default options
    var defaults = {
        nav: false,
        delay: 2000,
        restartDelay: 30000,
        fadeSpeed: 700,
        zindex: 20
    };
    
    $.fn.wtCarrousel = function(options){
        
        max = 6;
        //console.log(Math.floor(Math.random()*max+1));
       
       for(i=0; i<3; i++){
            c_slide_nbr = Math.floor(Math.random()*max+1);
            $('#home-banner').append('<div class="slide"><img src="./img/banners/banner'+c_slide_nbr+'.jpg" alt="@@@"></div>');
        }
      
        var opts = $.extend({}, defaults, options);
        var obj_name = $(this).attr('id');
        var timer;
      
        if (opts.nav){
            $(this).children(".slide").each(function(){     
                //Si nav est a true, ajouter les LI de navigation
                $('#'+obj_name+'-nav').append('<li data-i='+ (parseInt($(this).index())) +'></li>');
            });
            
            //Ajouter une class pour specifier quel LI allumer au depart
            $('#'+obj_name+'-nav').children().first().addClass("current-slide-link");
        
            //Binder l'evenement click sur les LI
            $('#'+obj_name+'-nav').find('li').click(function(){
                if(!$('#'+obj_name).children(".slide").last().is(":animated")){ //Ne rien faire si un changement de slice est deje en cours
    
                    clearTimeout(timer); // Supprimer le timer pour annuler le futur changement de slice
                    for (i = 0; i < parseInt($(this).attr('data-i')); i++) wtCarrousel_swap(); //Monter la bonne image sur le dessu
                    timer = setTimeout(wtCarrousel_fade, opts.restartDelay); //Redemarer le timer mais a partir du restartDelay 
                }
            });
        }
        
        var wtCarrousel_fade = function(){
            $('#'+obj_name).children(".slide").last().fadeOut(opts.fadeSpeed, wtCarrousel_swap);    //Fade la slice en cours, appel la fonction swap pour changer les positions des slices
            timer = setTimeout(wtCarrousel_fade, opts.delay);   //Relance le timer pour la prochaine execution
        }
        
        var wtCarrousel_swap = function(){ 
            $('#'+obj_name).children(".slide").last().prependTo('#'+obj_name).show(); //Remettre l'image cacher sous la pile
            if (opts.nav) $('#'+obj_name+'-nav').children().last().prependTo('#'+obj_name+'-nav'); //changer la position de la nav en cours
        }
        
        //Initialiser le timer en debut de processus
        timer = setTimeout(wtCarrousel_fade, opts.delay);
        
    };
    
})(jQuery);

