(function($) {
	jQuery.fn.fadeImages = function(images, options){
		var defaults = {
			fadeTime	: 1000,
			delayTime	: 10000
		};

		options = $.extend(defaults, options);

		fadeNext($(this)[1], $(this)[0], $(this)[1], 1, 0);
		function fadeNext(fader, newImageCont, curImageCont, opacity, i) {
			var cacheImage = document.createElement('img');
			if (!images[i]) i=0;
			cacheImage.src = images[i];
			$(cacheImage).bind('load', {fader:fader, newImageCont:newImageCont, curImageCont:curImageCont, opacity:opacity==0?1:0, i:i}, fade);
		}
		function fade(event){
			var fader = event.data.fader;
			var opacity = event.data.opacity;
			var curImageCont = event.data.curImageCont;
			var newImageCont = event.data.newImageCont;
			var i = event.data.i;
			$(newImageCont).css({background:'url(' + images[i] + ') no-repeat'});
			$(fader).delay(options.delayTime).fadeTo(options.fadeTime, opacity, function(){fadeNext(fader, curImageCont, newImageCont, opacity, ++i);});
		}
	}
})(jQuery);
