/* --------------------------------------------------------------------------------------------
	Javascript for WRAP Main index page news ticker (to replace Tuiticker)
	- VC 13/10/06
	
	Dependent on: YUI/yahoo-min.js, YUI/dom-min.js, YUI/event-min.js, YUI/animation.js
-------------------------------------------------------------------------------------------- */

// uses yahoo dom, event and animation
var $D = YAHOO.util.Dom;
var $E = YAHOO.util.Event;
var $ = $D.get; // get element by ID

//init function
function initNewsTicker(){
	var news = $('top_news_ticker');
	if (!news) return;
	
	//get all news item li in the div
	var arr_newsitems = news.getElementsByTagName("li");
	
	//generate id for div if none given
	$D.generateId(arr_newsitems, 'hiddentopnews_');
	
	if(arr_newsitems.length > 0){
		showHideNews(arr_newsitems, 1);
	}	
}
function showHideNews(arr_news, next_index){
	var prev_index = next_index - 1;
	
	if(next_index >= arr_news.length){
		next_index = 0; 
		prev_index = arr_news.length -1;
	}
	
	var oldNews = arr_news[prev_index]; 
	var newNews = arr_news[next_index];

	//fade news
	var animFade = new YAHOO.util.Anim( oldNews.id, { opacity: {from: 1, to: 0 } }, 0.5, YAHOO.util.Easing.easeBoth);
	var animFadeIn = new YAHOO.util.Anim( newNews.id, { opacity: { from: 0, to: 1 } }, 0.5, YAHOO.util.Easing.easeOut);
	
	window.setTimeout(function(){animFade.animate()},4000);
	
	animFade.onComplete.subscribe(function(){
		oldNews.style.display = 'none';
		newNews.style.display = 'block';
		$D.setStyle(newNews, 'opacity', 0);
		animFadeIn.animate();
		animFadeIn.onComplete.subscribe(function(){
			showHideNews(arr_news, next_index+1);
			arr_news = null;
			next_index = null;
			prev_index = null;
			animFade = null;
			animFadeIn = null;
		});
	});
}

//=============================================
// on load
$E.addListener(window,'load',initNewsTicker);


