/*
	
	script: splashBox
	version: 0.1-alpha
	author: SkyKnight -> http://skyknight.info
	license: Creative Commons Attribution 2.5
	date: 25-03-2008
	
	*/

// config

var splashId = "splashbox"; 								// id of main splashBox container
var splashItemClass = "splashitem"; 				// class of items in container
var splashInterval = 10000; 								// interval to show next item
var splashPagesListClass = "splashpages";		// class of <ul> which contain list of items
var splashPagesId = "testSplashPage";				// id for items
var splashAutoChange = true;									// show next page automaticly?

// globals
var splashContainer;
var splashPages;
var splashPagesList;
var splashTimer;

var initSplash = function()
{
  
  splashContainer = $(splashId);
  if(splashContainer.length == 0)
  	return;
  
  splashPages = $$('.'+splashItemClass);

  if(splashPages.length == 0)
  	return;
	
	splashPagesList = document.createElement('ul');
  Element.extend(splashPagesList);
  splashPagesList.addClassName(splashPagesListClass);
  
  for(i=0;i<splashPages.length;i++)
  {
		splashPagesListItem = document.createElement('li');
		if(i==0)
			splashPagesListItem.className = "current";
		splashPagesListItemA = document.createElement('a');
		splashPagesListItemA.innerHTML = i+1;
		splashPagesListItemA.href = "#";
		Event.observe(splashPagesListItemA, 'click', splashClickChange, false);
		splashPagesListItemA.onclick=function(){return false;}
		splashPagesListItem.appendChild(splashPagesListItemA);
		splashPagesList.appendChild(splashPagesListItem);
		splashPages[i].id = splashPagesId + i;
	}
	splashContainer.appendChild(splashPagesList);
	splashPages[0].style.display = "block";
	startTime();
}

var splashChange = function(to)
{
  from = splashPagesList.getElementsByClassName("current")[0].getElementsByTagName("a")[0].innerHTML;  
  if(from == to || from > splashPages.length || to > splashPages.length || from == null)
  	return;
 	new Effect.Fade(splashPagesId + (from-1));
 	splashPagesList.getElementsByClassName("current")[0].className = "";
 	splashPagesList.getElementsByTagName("li").item(to-1).className = "current";
 	setTimeout("Effect.Appear('"+splashPagesId+(to-1)+"', {duration: 2.5})", 990);
}

var splashClickChange = function(n)
{
  stopTime();
  splashChange(Event.element(n).innerHTML);
  startTime();
}

var splashNext = function()
{
	stopTime();
  from = splashPagesList.getElementsByClassName("current")[0].getElementsByTagName("a")[0].innerHTML;
  to = (from >= splashPages.length) ? 1 : parseInt(from) + 1;
  splashChange(to);
  startTime();
}

var startTime = function()
{
  if(splashAutoChange)
  	splashTimer = setTimeout("splashNext()", splashInterval);
}

var stopTime = function()
{
  if(splashAutoChange)
  	clearTimeout(splashTimer);
}

Event.observe(window, 'load', initSplash, false);
