var RotatorTimer 		= null;
var RotatorTimerSpeed 		= 3000;
var RotatorTimerIniSpeed	= 0;
var RotatorTip			= 0;
var RotatorTipOld		= 0;
var RotatorTipCount		= 4;


//**********************************************************************
// ROTATOR CHANGE HANDLER
//**********************************************************************
function gObject(oName){
	return document.getElementById(oName);
} 

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();
	}
	
}

//**************************************************
// ROTATOR DISPLAY HANDLER
//**************************************************
var RotatorOpacityState = 0;
var RotatorOpacityStep 	= 10;
var RotatorOpacitySpeed = 0;
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;
	}
}


//**********************************************************************
// ROTATOR LINKS
//**********************************************************************
var RotatorLinksSpeed = 500;
var RotatorLinksTimer = null;

//**********************************************************************
function ShowPromoTipList(state)
{
	if(RotatorLinksTimer!=null)
	{
		clearTimeout(RotatorLinksTimer);
		RotatorLinksTimer = null;
	}

	var ListerLinks = gObject("article-promo-lister-links");
	if(!ListerLinks)
	{
		BuildLinkList();
		ListerLinks = gObject("article-promo-lister-links");
	}

	if(state==null)
	{
		ListerLinks.style.visibility = "hidden";
	}
	else if(state==true)
	{
		ListerLinks.style.visibility = "visible";
	}
	else
	{
		RotatorLinksTimer = setTimeout("ShowPromoTipList()", RotatorLinksSpeed);
	}
}
//**********************************************************************
function BuildLinkList()
{
	var oDiv = document.createElement("DIV");
	oDiv.setAttribute("id", "article-promo-lister-links");

	var oDivText = "<div class=\"box\">";

	oDivText += "<div class=\"box-top\"></div>\n";
	oDivText += "<div class=\"box-data\">";

	for(var i=0; i<RotatorTipCount; i++)
	{
		oDivText += "<div onmouseover=\"ShowPromoTipList(true)\" onmouseout=\"ShowPromoTipList(false)\">";
		oDivText += gObject("article-promo-content-detail-" + i).getElementsByTagName("H1")[0].innerHTML; 
		oDivText += "</div>\n";
	}
	oDivText += "</div>\n";
	oDivText += "<div class=\"box-bottom-more\"><a onmouseover=\"ShowPromoTipList(true)\" onmouseout=\"ShowPromoTipList(false)\" href=\"/Nejlepsi-clanky-a-tipy-redakce/sc-111/default.aspx\">Další nejlepší články &raquo;</a></div>\n";
	oDivText += "<div class=\"box-bottom\"></div>\n";
	oDivText += "</div>\n";

	oDiv.innerHTML = oDivText;

	gObject("page-column-left").parentNode.insertBefore(oDiv, gObject("page-column-left"));

};
