(function($){ 

	$.fn.ImgMultiples = function(options){
		var defaults = { 	display: true,
							delai: 1500 };
		
		var options = $.extend(defaults, options);
		var refTimeout = null;

		var ChangerImage = function(obj) {
			var $this = $(obj);
			var $imgTransition = $this.siblings('.imgTransition');
			
			var images = $this.data('Images');
			var imageCour = $this.data('ImageCour');
			
			$imgTransition.attr('src', $this.attr('src'));
			$imgTransition.show();
			$imgTransition.css('opacity', 100);			
			
			imageCour++;
			
			if(imageCour >= images.length)
				imageCour = 0;
			
			$this.attr('src', images[imageCour]).css('opacity', 0).animate({opacity: 100}, 350);
			$imgTransition.animate({opacity: 0}, 350, function() { $(this).hide(); });
			
			$this.data('ImageCour', imageCour);
			if($this.data('Stop') != 1)
				refTimeout = setTimeout(function() { ChangerImage($this); }, options.delai);
			
		};
		var Hover = function(event) {
			var $this = $(this);

			if(refTimeout == null)
			{
				refTimeout = setTimeout(function() { ChangerImage($this); }, options.delai);
				$this.data('Stop', 0);
			}
		};
		var Out = function() {
			var $this = $(this);
			
			if(refTimeout != null)
			{
				clearTimeout(refTimeout);
				refTimeout = null;
				$this.siblings('.imgTransition').hide();
				$this.data('Stop', 1);
				$this.attr('src', $this.data('ImageInitial'));
			}			
		};
		
		return this.each(function(index) {
			var $this = $(this);
			
			$imgTransition = $('<img src="" style="display: none; position: absolute; z-index: 2;" class="imgTransition">');
			var pos = $this.position('top');
			$imgTransition.css('top', pos.top);
			$imgTransition.css('left', pos.left);
			$this.parent().append($imgTransition);
			
			$this.css('z-index', 1);
			
			$this.hover( Hover, Out);
			$this.data('Images', options.images);
			$this.data('ImageCour', 0);
			$this.data('ImageInitial', $this.attr('src'));			
		});
	};

})(jQuery);

