(function($){
	$.fn.slide = function(options){
	
		var settings = $.extend({
			speed : 1000,
            animate : true,
            animateDuration : 150,
            callback : function(){},
			effectIn : "fadeIn",
			effectOut : "fadeOut"
        }, options);
		
		var elmts = this.find("div");
		var nbElmts = elmts.length;
		elmts.css({"display":"none"}).filter(":gt(0)").css({"display":"block"});
		
		var current = 0;
		
		var slider;
		
		start = function()
		{
			slider = setInterval(nextSlide,settings.speed);
		}
		
		stop = function()
		{
			clearInterval(slider);
		}
		
		nextSlide = function()
		{
			transition("out",function(){transition('in',settings.callback);});
			current++;
			if(current == nbElmts)
			{	
				current = 0;
			}
			
		}
		
		transition = function(t,callback)
		{
			elmt = $(elmts.get(current));
			effect = settings.effectOut;
			if(t == "in")
			{
				effect = settings.effectIn;
			}
			switch(effect)
			{
				case "fadeOut":
					elmt.fadeOut(settings.animateDuration,callback);
				break;
				case "fadeIn":
					elmt.fadeIn(settings.animateDuration,callback);
				break;
				case "slideUp":
					elmt.slideUp(settings.animateDuration,callback);
				break;
				case "slideDown":
					elmt.slideDown(settings.animateDuration,callback);
				break;
			}
		}
		start();
		

	};
})(jQuery);
