window.addEvent('load',initPage);

/* config */

var slideDelay = 5000;
var fadeDuration = 500;
var currentIndex = 0;
var periodical;

var Header;
var lightDir = +1;
var lightStartX = 160, lightStartY = 0;
var lightOffset = 3;
var lightDelay = 75;
var lightWidth = 200;

/* init */

function initPage()
{
	// init slider
	if( $('wrapper') ){
		$$('.hidden').each(function(item){
			item.setStyle('opacity','0');
			item.removeClass('hidden');
		});
		restartPeriodical();
	}
	
	if( $('header') ){
		Header = $('header');
		Header.width = parseInt( Header.getStyle('width') );
		Header.setStyle('background-position', lightStartX + 'px ' + lightStartY + 'px');
		HeaderLightMove.periodical(lightDelay);
	}

	initMenu();
}

/* Menu */

var initMenu = function() {
	var nav = document.getElementById('menu');
	if (nav) {
		var lis = nav.getElementsByTagName('li');
		for (var i = 0; i < lis.length; i++){
			lis[i].onmouseover = function() {
				this.className += ' hover';
			};
			lis[i].onmouseout = function() {
				this.className = this.className.replace('hover','');
			};
		}
	}
}


/* periodical */

function startPeriodical() {
	periodical = showNextSlide.periodical(slideDelay);
}

function stopPeriodical() {
	$clear(periodical);
}

function restartPeriodical() {
	stopPeriodical();
	startPeriodical();
}

/* slide operations */

function getNextImage(images)
{
	if (currentIndex + 1 < images.length){
		return currentIndex + 1;
	} else {
		return 0;
	}
}

function getPrevImage(images)
{
	if (currentIndex - 1 >= 0){
		return currentIndex - 1;
	} else {
		return images.length - 1;
	}
}

function showNextSlide()
{
	var images = $$('#wrapper img');
	var nextIndex = getNextImage(images);
	hideSlide(images[currentIndex]);
	showSlide(images[nextIndex]);
	currentIndex = nextIndex;
}

function showPrevSlide()
{
	var images = $$('#wrapper img');
	var prevIndex = getPrevImage(images);
	hideSlide(images[currentIndex]);
	showSlide(images[prevIndex]);
	currentIndex = prevIndex;
}

function showSlide(image)
{
	var fx = new Fx.Styles(image, {duration:fadeDuration, wait:false});
	fx.start({'opacity':1});
}

function hideSlide(image)
{
	var fx = new Fx.Styles(image, {duration:fadeDuration, wait:false});
	fx.start({'opacity':0});
}

/* light ball in header */
function HeaderLightMove(){
	var bgPos = Header.getStyle('background-position').split(' ');
	var bgPosX = parseInt(bgPos[0]);
//	alert(bgPosX);
	if ( // check to change direction 
		(lightDir > 0 && (bgPosX + lightWidth + lightOffset) > Header.width ) ||
		(lightDir < 0 && (bgPosX - lightOffset) < -30 )
	)
	{
		lightDir *= -1;
	}
	
	bgPosX = bgPosX + lightDir*lightOffset;
	
	Header.setStyle('background-position', bgPosX + 'px ' + lightStartY + 'px');
}