/* Top 100 Javascript */

/* Calls setBackToRanking on element load, with a brief delay */
tii_callFunctionOnElementLoad ('back_to_ranking_placeholder', function () {
	var delay = setTimeout (setBackToRanking, 1);
});

/* Sets the Top 100 blue nav hover behavior */
function setBackToRanking ()
{
	var query = location.search;
	if (!query)
	{
		return false
	}
	var backIndex = query.indexOf ('back');
	var backPair;
	if (backIndex > -1)
	{
		backPair = query.substring (backIndex, backIndex + 6);
	}
	else
	{
		return false;
	}
	var cameFromTop100Ranking;
	if (backPair.indexOf ('1') > -1)
	{
		cameFromTop100Ranking = true;
	}
	else
	{
		return false;
	}
	
	var placeholder = document.getElementById ('back_to_ranking_placeholder');
	if (!placeholder || !cameFromTop100Ranking)
	{
		return false;
	}
	placeholder.id = 'back_to_ranking';
	placeholder.innerHTML = '&lt;&lt; <a id="btr_anchor" href="#" title="Back to Ranking">Back to Ranking</a>';
	var btr_anchor = document.getElementById ('btr_anchor');
	tii_addEventHandler (btr_anchor, 'click', function (event)
	{
		tii_stopDefaultAction (event);
		history.back ();
	}, false);
	var keyevent = browser_issafari || browser_isie ? 'keydown' : 'keypress';
	tii_addEventHandler (btr_anchor, keyevent, function (event)
	{
		tii_stopDefaultAction (event);
		history.back ();
	}, false);
}


/* Calls setTop100BlueNav on element load, with a brief delay */
tii_callFunctionOnElementLoad ('top100_nav', function () {
	var delay = setTimeout (setTop100BlueNav, 1);
});

/* Sets the Top 100 blue nav hover behavior */
function setTop100BlueNav ()
{
	function setNavOver (event)
	{
		var target = typeof event.target != 'undefined' ? event.target : event.srcElement;
		target = getLi (target);
		if (!target)
		{
			return false;
		}
		target.className += (target.className == ''? '' : ' ') + 'over';
	}
	function setNavOut (event)
	{
		var target = typeof event.target != 'undefined' ? event.target : event.srcElement;
		target = getLi (target);
		if (!target)
		{
			return false;
		}
		target.className = target.className.replace (/over/gi, '');
	}
	function getLi (target)
	{
		while (target && target.nodeName.toUpperCase () != 'LI')
		{
			target = target.parentNode;
		}
		return target;
	}
	var navRoot = document.getElementById ('top100_nav');
	var navLis = navRoot.getElementsByTagName ('li');
	var navLisLength = navLis.length;
	for (var i = 0; i < navLisLength; i++)
	{
		var navLi = navLis.item (i);
		tii_addEventHandler (navLi, 'mouseover', function (event) {setNavOver (event);}, false);
		tii_addEventHandler (navLi, 'mouseout', function (event) {setNavOut (event);}, false);
	}
}