// newsfeed.js
// requires functions: changeOpac, opacity, WriteByID

var curNewsIndex = 0;
var newsTarget = 'news_content';
var fadeInTime = 500;
var fadeOutTime = 500;
var displayTime = 10000;
var growTime = 250;
var userControl = false;
var changeTimeout;
var news = Array();

function newsfeed_init() {
	if (news.length > 0) {
		curNewsIndex = Math.round(Math.random()*(news.length-1));
		prep_height();
	}
}

function prep_height() {
	var ht = 20;
	if (document.getElementById(newsTarget).style.height) {
		ht = document.getElementById(newsTarget).style.height.replace("px","");
	}
	wd = document.getElementById(newsTarget).style.width.replace("px","");
	content = news[curNewsIndex];
	content = '<div style="position:relative; width:'+wd+'px;">'+content+'</div>';
	WriteByID('hTester',null,'');
	WriteByID('hTester',null,content);
	new_ht = parseInt(document.getElementById('hTester').offsetHeight);		
	growY(newsTarget, ht, (0 + new_ht), growTime);
	setTimeout("display_news()",growTime);
}

function display_news() {
	changeOpac(0, newsTarget);
	WriteByID(newsTarget,null,news[curNewsIndex]);
	opacity(newsTarget, 0, 100, fadeInTime);
	changeTimeout = setTimeout("change_news()",Number(displayTime + fadeInTime));
	
}

function change_news() {
	if (userControl == false) {
		if (curNewsIndex >= news.length - 1) {
			curNewsIndex = 0;
		} else {
			curNewsIndex++;	
		}
		opacity(newsTarget, 100, 0, fadeOutTime);
		setTimeout("prep_height()",fadeOutTime);
	}
}

function nextNews() {
	userControl = true;
	clearTimeout(changeTimeout);
	if (curNewsIndex >= news.length - 1) {
		curNewsIndex = 0;
	} else {
		curNewsIndex++;	
	}
	opacity(newsTarget, 100, 0, fadeOutTime);
	setTimeout("prep_height()",fadeOutTime);
}
function prevNews() {
	userControl = true;
	clearTimeout(changeTimeout);
	if (curNewsIndex > 0) {
		curNewsIndex--;
	} else {
		curNewsIndex = news.length - 1;
	}
	opacity(newsTarget, 100, 0, fadeOutTime);
	setTimeout("prep_height()",fadeOutTime);
}
