﻿var RotatorTimer 		= null;
var RotatorTimerSpeed 		= 6000;
var RotatorTimerIniSpeed	= 5500;
var RotatorTip			= 0;
var RotatorTipOld		= 0;
var RotatorTipCount		= 5;


//**********************************************************************
// ROTATOR CHANGE HANDLER
//**********************************************************************
function StartTipRotator()
{
	SetRotatorTipOpacity(gObject("article-promo-content-detail-0"), 100)
	if(!gObject("article-promo-lister")) return;

	if(RotatorTimer!=null)
	{
		clearTimeout(RotatorTimer);
		RotatorTimer = null;
	}
	RotatorTimer = setTimeout("RotateTip()", RotatorTimerIniSpeed);
}
//**********************************************************************
function RotateTip()
{
	RotatorTipOld = RotatorTip;
	RotatorTip++;
	if(RotatorTip==RotatorTipCount)
	{
		RotatorTip = 0;
	}
	DisplayTip(RotatorTip, RotatorTipOld, RotatorTimerSpeed, false);
}
//**********************************************************************
function ShowPromoTip(which)
{
	which = RotatorTip + which;
	if(which==RotatorTipCount)
	{
		which = 0;
	}
	if(which<0)
	{
		which = RotatorTipCount-1;
	}
	ShowPromoTipExact(which)
}
//**********************************************************************
function ShowPromoTipExact(which)
{
	RotatorTipOld = RotatorTip;
	RotatorTip = which;
	DisplayTip(RotatorTip, RotatorTipOld, RotatorTimerIniSpeed, true);
}
//**********************************************************************
function DisplayTip(nTip, oTip, oSpeed, SkipAnimation)
{
	clearTimeout(RotatorTimer);
	RotatorTimer = null;

	if(SkipAnimation)
	{

		if(RotatorOpacityTimer != null)
		{
			clearTimeout(RotatorOpacityTimer);
			RotatorOpacityTimer = null;
		}
		gObject("article-promo-content-detail-" + oTip).style.visibility = "hidden";
		SetRotatorTipOpacity(gObject("article-promo-content-detail-" + oTip), 0);

		gObject("article-promo-content-detail-" + nTip).style.visibility = "visible";
		SetRotatorTipOpacity(gObject("article-promo-content-detail-" + nTip), 100);

		RotatorTimer = setTimeout("RotateTip()", oSpeed);
	}
	else
	{
		gObject("article-promo-content-detail-" + nTip).style.visibility = "visible";
		ChangeTipOpacity();
	}
	var ListerLinks = gObject("article-promo-lister").getElementsByTagName("SPAN")[1].getElementsByTagName("A");

	ListerLinks[oTip].setAttribute("class", "num");
	ListerLinks[oTip].setAttribute("className", "num");
	ListerLinks[nTip].setAttribute("class", "num act");
	ListerLinks[nTip].setAttribute("className", "num act");
}

//**************************************************
// ROTATOR DISPLAY HANDLER
//**************************************************
var RotatorOpacityState = 0;
var RotatorOpacityStep 	= 10;
var RotatorOpacitySpeed = 50;
var RotatorOpacityTimer = null;


//**********************************************************************
function ChangeTipOpacity()
{
	clearTimeout(RotatorOpacityTimer);
	RotatorOpacityTimer = null;

	if(RotatorOpacityState>=100)
	{
		gObject("article-promo-content-detail-" + RotatorTipOld).style.visibility = "hidden";
		RotatorOpacityState 	= 0;
		RotatorTimer 		= setTimeout("RotateTip()", RotatorTimerSpeed);
		return;
	}

	RotatorOpacityState += RotatorOpacityStep;

	SetRotatorTipOpacity(gObject("article-promo-content-detail-" + RotatorTipOld), 100-RotatorOpacityState)
	SetRotatorTipOpacity(gObject("article-promo-content-detail-" + RotatorTip), RotatorOpacityState)
	
	RotatorOpacityTimer = setTimeout("ChangeTipOpacity()", RotatorOpacitySpeed); 
}

//**********************************************************************
function SetRotatorTipOpacity(oObj, opacity)
{
	try
	{
		oObj.style.opacity 	= (opacity / 100);
		oObj.style.MozOpacity 	= (opacity / 100);
		oObj.style.KhtmlOpacity = (opacity / 100);
		oObj.style.filter 	= "alpha(opacity=" + opacity + ")";

		if(opacity==100 && oObj.style.removeAttribute)
		{
			if(oObj.style.filter)
			{
				oObj.style.removeAttribute('filter');
			}
		}
	}
	catch(e)
	{
		return;
	}
}
