(function($){
    
    // Default options
    var defaults = {
        nav: false,
        delay: 2000,
        restartDelay: 30000,
        fadeSpeed: 700,
		zindex: 20
    };
    
    $.fn.wtCarrousel = function(options){
	  
		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);

