(function ($) {
Images = {
	init: function () {
		Images.images = [];
		for (var i = 0; i < arguments.length; ++i) {
			if (arguments[i].charAt(0) == '.') {continue;}
			Images.images.push(arguments[i]);
		}
		Images.fadetime = 3000;
		Images.waittime = 5000;
		Images.nextidx = 0;
		$(function () {
			Images.rotator = $('.rotator');
			Images.rotator.find('img').addClass('cur');
			Images.queuenext();
			Images.startinterval();
		});
	},
	startinterval: function () {
		if (Images.interval) {return;}
		Images.interval = setInterval(Images.nextimg, Images.waittime);
	},
	stopinterval: function () {
		if (!Images.interval) {return;}
		clearInterval(Images.interval);
		Images.interval = false;
	},
	queuenext: function () {
		var src = Images.images[Images.nextidx];
		Images.rotator.append('<img style="display: none" class="next" src="/images/top/'+src+'">');
	},
	nextimg: function () {
		var fadeout = Images.rotator.find('.cur'), fadein = Images.rotator.find('.next'),
			kill = function () {
				fadeout.remove();
				fadein.removeClass('next').addClass('cur');
				++Images.nextidx;
				if (Images.nextidx >= Images.images.length) {
					Images.nextidx = 0;
				}
				Images.queuenext();
			};
		fadein.css('display', 'block');
		//console.log(fadeout, fadein, fadein.css('display'));
		if (fadeout.is(':animated')) {
			fadeout.stop().fadeTo(Images.fadetime, 0, kill);
		} else {
			fadeout.fadeOut(Images.fadetime, kill);
		}
	}
};
})(jQuery);

