/**
 * Homepage script
 * @author Derek Beumer <derek@thoughtstack.net>
 * @copyright Copyright (c) 2008, Derek Beumer
 * @version $Id$
 * @package lahmayer
 */

window.initMe = function (fnc) {
	if (typeof fnc == 'function') {
		// Optimally use addEventListener, which does our job for us but isn't universally supported
		if (window.addEventListener) {
			window.addEventListener('load', fnc, false);
		// Attempt to use the IE-proprietary attachEvent method alternately
		} else if (window.attachEvent) {
			window.attachEvent('onload', fnc);
		// Finally, use the standard window.onload with some hooking to preserve any previously assigned functionality
		} else {
			if (window.onload != null) {
				var onloadHook = window.onload;
				window.onload = function (e) {
					onloadHook(e);
					fnc();
				};
			} else {
				window.onload = fnc;
			}
		}
	}
};

var home = {
	rotateImagePath: '/wp-content/themes/lahmayer/graphic/content/home/slideshow/',
	rotateImageFiles: [
		'0.jpg',
		'1.jpg',
		'2.jpg',
		'3.jpg',
		'4.jpg',
		'5.jpg',
		'6.jpg'
	],
	rotateImages: [],
	pe: null,
	curIndex: 0,
	init: function () {	
		$A(home.rotateImageFiles).each(function (value) {
			var img = new Element('img');
			img.src = home.rotateImagePath + value;
			img.addClassName('rotating');
			img.opacity = 0.0;
			img.style.opacity = 0.0;
			img.style.MozOpacity = 0.0;
			img.style.filter = 'alpha(opacity=' + 0 + ')';
			home.rotateImages.push(img);
			$('ruth-feature-media').insert(img);
		});

		home.rotateImages[0].style.display = 'block';
		home.rotateImages[0].opacity = 1.0;
		
		setTimeout(home.rotate, 2000);

		//home.pe = new PeriodicalExecuter(home.rotate, 3);
	},
	rotate: function () {
		var curIndex = home.curIndex;
		var nextIndex = (home.curIndex >= (home.rotateImages.length - 1)) ? 0 : home.curIndex + 1;

		home.curImage = home.rotateImages[curIndex];
		home.nextImage = home.rotateImages[nextIndex];

		home.fade();
	},
	fade: function () {
		home.curImage.opacity -= 0.05;
		home.nextImage.opacity += 0.05;

		home.nextImage.style.opacity = home.nextImage.opacity;
		home.nextImage.style.MozOpacity = home.nextImage.opacity;
		home.nextImage.style.filter = 'alpha(opacity=' + (home.nextImage.opacity * 100) + ')';
		home.nextImage.style.display = 'block';

		if (home.curImage.opacity <= 0) {
			home.curImage.style.display = 'none';
			home.curIndex = (home.curIndex >= (home.rotateImages.length - 1)) ? 0 : home.curIndex + 1;
			setTimeout(home.rotate, 2000);
		} else {
			home.curImage.style.opacity = home.curImage.opacity;
			home.curImage.style.MozOpacity = home.curImage.opacity;
			home.curImage.style.filter = 'alpha(opacity=' + (home.curImage.opacity * 100) + ')';
			setTimeout(home.fade, 50);
		}
	}
};

/*
var home = {
	rotateImagePath: '/wp-content/themes/lahmayer/graphic/content/home/slideshow/',
	rotateImageFiles: [
		'0.jpg',
		'1.jpg',
		'2.jpg',
		'3.jpg',
		'4.jpg',
		'5.jpg',
		'6.jpg',
		'7.jpg'
	],
	rotateImages: [],
	pe: null,
	curIndex: 0,
	init: function () {
		$A(home.rotateImageFiles).each(function (value) {
			var img = new Element('img');
			img.src = home.rotateImagePath + value;
			img.addClassName('rotating');
			img.opacity = 0.0;
			home.rotateImages.push(img);
			$('ruth-feature-media').insert(img);
		});

		home.rotateImages[0].style.display = 'block';
		home.rotateImages[0].opacity = 1.0;

		$('ruth-feature-media-thumbnail').src = home.rotateImagePath + 'placeholder.jpg';

		home.pe = new PeriodicalExecuter(function (self) {
			var curIndex = home.curIndex;
			var nextIndex = (home.curIndex >= (home.rotateImages.length - 1)) ? 0 : home.curIndex + 1;

			home.curImage = home.rotateImages[curIndex];
			home.nextImage = home.rotateImages[nextIndex];

			home.rotate();
			//setTimeout(home.rotate, 50);
		}, 3);
	},
	rotate: function () {
		home.curImage.opacity -= 0.05;
		home.nextImage.opacity += 0.05;

		home.nextImage.style.opacity = home.nextImage.opacity;
		home.nextImage.style.MozOpacity = home.nextImage.opacity;
		home.nextImage.style.filter = 'alpha(opacity=' + (home.nextImage.opacity * 100) + ')';
		home.nextImage.style.display = 'block';

		if (home.curImage.opacity <= 0) {
			home.curImage.style.display = 'none';
			home.curIndex = (home.curIndex >= (home.rotateImages.length - 1)) ? 0 : home.curIndex + 1;
		} else {
			home.curImage.style.opacity = home.curImage.opacity;
			home.curImage.style.MozOpacity = home.curImage.opacity;
			home.curImage.style.filter = 'alpha(opacity=' + (home.curImage.opacity * 100) + ')';
			setTimeout(home.rotate, 50);
		}
	}
};*/

initMe(home.init);