///////////////////
// Functions
//////////////////

var Cur = 1;
var Timeout;
var DoLoop = false;
var LoopInterval = 3000;
var LoopDelay = 0.2;

var ElmArr = [];
var $dContentHolder=null;

//document.observe('dom:loaded', initMivzakimBox)
Event.observe(window,'load', initMivzakimBox)


function initMivzakimBox()
{
	if($dContentHolder) return;
	
	$dContentHolder = $('dContentHolder');

	for(var j=1; j++<=Amount;)
	{
		ElmArr[j] = $('dContent' + j);
	}
	
	//$('ShowNext').observe('click',ShowNext);
	//$('ShowPrev').observe('click',ShowPrev);
}


//***********************************************************
function GetCurObj(){
	return $('dContent' + Cur);
}
//*******************************************7****************
function GetNextObj(){
	var i = Cur + 1;
	if (i > Amount)	i = 1;
	//return ElmArr[i];
	return $('dContent' + i);
}

function GetPrevObj(){
	var i = Cur - 1;
	if (i == 0)	i = Amount;
	//return ElmArr[i];
	return $('dContent' + i);
}
//***********************************************************
function MoveToPrevObj(){
	if (--Cur == 0)	Cur = Amount;
}

function MoveToNextObj(){
	if (++Cur > Amount)	Cur = 1;
}

//***********************************************************
function StopLoop(){
	clearTimeout(Timeout);
	DoLoop = false;
}
//***********************************************************
function GoToRunLoop(){
	DoLoop = true;
	Timeout = setTimeout(function(){ShowNext()},LoopInterval);
}
//***********************************************************

//***********************************************************
function ShowNext(){

	if(!$dContentHolder) initMivzakimBox();
	
	clearTimeout(Timeout);
	
	var CurObj, NextObj;
	CurObj = GetCurObj();
	NextObj = GetNextObj();
	
	replaceElements(CurObj,NextObj);
	MoveToNextObj();
}

function ShowPrev(){
	clearTimeout(Timeout);

	var CurObj, PrevObj;
	
	CurObj = GetCurObj();
	PrevObj = GetPrevObj();
	
	replaceElements(CurObj,PrevObj);
	
	MoveToPrevObj();
}


function replaceElements(fromObj, targetObj)
{
	if (DoLoop)
	{
		fadeOutFX = new OpacityTween($dContentHolder, Tween.regularEaseOut, 100, 0, LoopDelay);	// fade out
		fadeInFX = new OpacityTween($dContentHolder, Tween.regularEaseOut, 0, 100, LoopDelay);	// fade in
		
		fadeOutFX.onMotionFinished = function(){fromObj.style.display='none';fadeInFX.start();};	
		fadeInFX.onMotionStarted = function(){targetObj.style.display='block';};	
		fadeInFX.onMotionFinished = function(){Timeout = setTimeout( function(){ShowNext();},LoopInterval);	};	
		
		fadeOutFX.start();
	}
	else
	{
		fromObj.style.display='none';
		targetObj.style.display='block';
	}
}
///////  End  Functions /////////////////////////////////////////////////////////////////

