function ($) {
  $.fn.fadeTransition = function(options) {
	 var options = $.extend({pauseTime: 5000, transitionTime: 2000}, options);

	 Trans = function(obj) {
		var timer = null;
		var current = 0;
		var els = $("> *", obj).css("display", "none").css("left", "0").css("top", "0").css("position", "absolute");
		$(obj).css("position", "relative");
		$(els[current]).css("display", "block");

		function transition() {
		  var next = (current + 1) % els.length | 0;
		  $(els[current]).fadeOut(options.transitionTime);
		  $(els[next]).fadeIn(options.transitionTime);
		  current = next;
		  cue();
		};

		function cue() {
		  if ($("> *", obj).length < 2) return false;
		  if (timer) clearTimeout(timer);
		  timer = setTimeout(transition, options.pauseTime);
		};

		cue();
	 };

	 return this.each(function() {
		var t = new Trans(this);
	 });
  }
}(jQuery);


