/*
 * Homebrew image rotator.
 * Requires MooTools.
 */

var images = [];
var maxidx = 0;
var idx = 0;

function rotate() {
	var fadeImgIn, fadeImgOut; 
		
	if (idx == maxidx) {
		fadeImgOut = maxidx;
		fadeImgIn = 0;
		idx = 0;
	}
	else {
		fadeImgOut = idx;
		fadeImgIn = idx + 1;
		idx++;
	}
	// do the fade
	var fadeOut = new Fx.Tween(images[fadeImgOut], {duration: 2000});
	var fadeIn = new Fx.Tween(images[fadeImgIn], {duration: 2000});
	fadeOut.start('opacity',[1,0]);
	fadeIn.start('opacity',[0,1]);
}

function initRotate() {
	images = $$('#imagerotator img');
	maxidx = images.length - 1;
	idx = 0;

	// get img srcs
	var srcs = new Array();
	images.each(function (el, i) {
		srcs[i] = images[i].src;
	});
	
	// preload the hidden images, start rotation on completion
	new Asset.images(srcs, { 
		onComplete: function() { rotate.periodical(5000);	} 
	});
}

window.addEvent('domready', function() {
	initRotate();
});
