(function ($) {
	$.fn.imagechange = function(options) {
		var settings = $.extend(
			{
				imageSelector: "img",
				effect: "fade",
				timeout: null
			}, options);

		var $this = $(this);

		var image_index = 0 ;
		var images = $(settings.imageSelector);
                if (images.length <= 1) { return }

		function next() {
			if (settings.effect == "fade")
				$(images[image_index]).fadeOut();
			else
				$(images[image_index]).hide();

			image_index = (image_index + 1) % images.length

			if (settings.effect == "fade")
				$(images[image_index]).fadeIn();
			else
				$(images[image_index]).show();
		}

		if (!settings.timeout) {
			$(this).click( function() {
				next();
			});
		} else {
			setInterval(next, settings.timeout);
		}

		var me = {
			refresh: function () {
				image_index = 0 ;
				images = $(settings.imageSelector);
			}
		};

		return me;
	}
}(jQuery));

