var topNewsIndex = 0;
var scrollTo;
var slideFrom;
var slideTo;
var newsEntryDisplayTime = 6;

function newsEntryElementForNewsEntry(newsEntry) {
	if (newsEntry && newsEntry['title']) {
		var element = document.createElement("div");
		element.className = "newsentry";
		var container = element;
		if (newsEntry['link']) {
			container = document.createElement("a");
			container.href = newsEntry['link'];
			element.appendChild(container);
		}
		title = document.createElement("h3");
		title.className = "newstitle";
		titletext = document.createTextNode(newsEntry['title']);
		title.appendChild(titletext);
		container.appendChild(title);
		if (newsEntry['lead']) {
			lead = document.createElement("div");
			lead.className = "newsbody";
			leadtext = document.createTextNode(newsEntry['lead']);
			lead.appendChild(leadtext);
			container.appendChild(lead);
		}
		return element;
	} else {
		return null;
	}
}

function newsEntryElementsForNewsData(news) {
	var elements = new Array();
	var currentElement;
	if (news && news.length) {
		for (i=0; i<news.length; i++) {
			currentElement = newsEntryElementForNewsEntry(news[i]);
			if (currentElement) {
				currentElement.id = "newsEntry"+elements.length;
				elements.push(currentElement);
			}
		}
	}
	return elements;
}

function setupNewsInContainer(news, newscontainer) {
	if (newscontainer && news) {
		newscontainer.innerHTML = "";
		var newsElements = newsEntryElementsForNewsData(news);
		for (i=0; i<newsElements.length; i++) {
			newscontainer.appendChild(newsElements[i]);
		}
	} else {
		alert("Error: newscontainer = "+newscontainer+"; news = "+news);
	}
}

function totalHeightOfNewsElements(newscontainer) {
	var height = 0;
	if (newscontainer) {
		var newsElements = newscontainer.childNodes;
		for (i=0; i<newsElements.length; i++) {
			height += newsElements[i].offsetHeight;
		}
	}
	return height;
}

function heightOfNewsElementAtIndex(newscontainer, i) {
	if (newscontainer && !(i == undefined)) {
		var newsElements = newscontainer.childNodes;
		if (i < newsElements.length) {
			return newsElements[i].offsetHeight;
		}
	} else {
		alert("Error: newscontainer = "+newscontainer+"; i = "+i);
	}
}

function scrollToNextNews(newscontainer) {
	if (newscontainer == undefined) {
		newscontainer = newsContainerElement;
	}
	var heightToScroll = heightOfNewsElementAtIndex(newscontainer, topNewsIndex);
	slideFrom = slideTo;
	slideTo = slideFrom - heightToScroll;
	slideText();
	topNewsIndex ++;
	if (topNewsIndex < newsContainerElement.childNodes.length) {
		setTimeout("scrollToNextNews()",newsEntryDisplayTime * 1000);
	} else {
//		alert("starting over (topNewsIndex = " + topNewsIndex + ")";
		topNewsIndex = 0;
		slideFrom = 200;
		slideTo = 0;
		slideText();
		setTimeout("scrollToNextNews()",(newsEntryDisplayTime+1) * 1000);
	}
}

/*var setCurrentTop = function() {
	newsContainerElement.style.top = scrollTo;
	if (topNewsIndex < newsContainerElement.childNodes.length) {
		setTimeout("scrollToNextNews()",3000);
	} else {
		newsContainerElement.style.top = "200px";
		topNewsIndex == 0;
		slideInText();
	}
}

var slideInText = function() { 
	var slideInTextAnim = new YAHOO.util.Anim(newsContainerElement.id);
	slideInTextAnim.attributes.top = { to: 0 };		
	slideInTextAnim.duration = 1;
	slideInTextAnim.method = YAHOO.util.Easing.easeOut;
	slideInTextAnim.animate();
}*/

var slideText = function() { 
	var slideInTextAnim = new YAHOO.util.Anim(newsContainerElement.id);
	slideInTextAnim.attributes.top = {from: slideFrom, to: slideTo };		
	slideInTextAnim.duration = 1;
	slideInTextAnim.method = YAHOO.util.Easing.easeOut;
	slideInTextAnim.animate();
}
