

var arrSlideList = new Array();
var slide_state = '';
var current_element = 0;
var elObj;
var SlideSpeed = 2; //delay between jumps, in milliseconds
var SlideRate = 10; // number of pixels to jump

function addSlideElement(el_id,delay)
{
	arrSlideList.push(new Array(el_id,delay));
}	
	
function handleState()
{
	//document.getElementById('state').innerHTML=slide_state;

	switch(slide_state)
	{
		case 'INIT':
			current_element = 0;
			setState('SLIDE_IN_START',10);
		break;
		case 'SLIDE_IN_START':
			elObj = document.getElementById(arrSlideList[current_element][0]);
			if(elObj)
			{
				elObj.style.left = parseInt(elObj.parentNode.style.width)+1+ 'px';
				showElement(elObj);	
				setState('SLIDE_IN',10);
			}
			else
			{
				setState('NEXT_ELEMENT',10);
			}
		break;
		case 'SLIDE_IN':
			elObj.style.left = parseInt(elObj.style.left) - SlideRate + 'px';
			if(parseInt(elObj.style.left) > 0)
			{
				setState('SLIDE_IN',SlideSpeed);
			}
			else
			{
				setState('SLIDE_IN_END');
			}
		break;
		case 'SLIDE_IN_END':
			setState('SLIDE_DELAY',1);
		break;
		case 'SLIDE_DELAY':
			setState('SLIDE_DELAY_COMPLETE',arrSlideList[current_element][1]);
		break;
		case 'SLIDE_DELAY_COMPLETE':
			setState('SLIDE_OUT_START',1);
		break;
		case 'SLIDE_OUT_START':
			setState('SLIDE_OUT');
		break;
		case 'SLIDE_OUT':
			elObj.style.left = parseInt(elObj.style.left) + SlideRate + 'px';
			if(parseInt(elObj.style.left) > parseInt(elObj.parentNode.style.width))
			{
				setState('SLIDE_OUT_END',10);
			}
			else
			{
				setState('SLIDE_OUT',SlideSpeed)
			}
		break;
		case 'SLIDE_OUT_END':
			hideElement(elObj);
			setState('NEXT_ELEMENT',1000);
		break;
		case 'NEXT_ELEMENT':
			current_element++;
			if(current_element>arrSlideList.length-1)
				current_element = 0;
			setState('SLIDE_IN_START',10);
		break;
		default:
			setState('INIT',1);
		break;
	}
}

function setState(newState,timeOut)
{
  slide_state = newState;
  setTimeout("handleState()",timeOut); //fire off the new state
 }
