/*
 * news.js
 *
 * Simple tool for expanding/collapsing news stories. News summaries aren't
 * shown until the user clicks a headline.
 *
 * @author scampbell
 */
var newsIndex = 0;
var openTab = false;
var newsId = "press";
var headlines;
var summaries;
/**
 * Initialises the set of triggers. Attaches onclick event and
 * also emulates :hover behaviour for browsers that don't support
 * it on arbitrary elements. (IE/Win)
 */
var _news_js_wOnload = window.onload;
window.onload = function() {

	if (_news_js_wOnload != null) {
		_news_js_wOnload();
	}

	headlines = document.getElementById(newsId).getElementsByTagName("dt");
	summaries = document.getElementById(newsId).getElementsByTagName("dd");

	for (var ii = 0; ii < headlines.length; ii++) {
		var headline = headlines[ii];

		headline.onclick = _expand;

		if (document.getElementById && document.all) {
			headline.onmouseover = function() {
				this.className += " hover";
			}
			headline.onmouseout = function() {
				this.className = this.className.replace(" hover", "");
			}
		}
	}

	_collapseAll();
}

/**
 * Expands the selected news story and collapses all the others.
 */
function _expand() {
	_collapseAll();

	var storyIdx = -1;

	for (var ii = 0; ii < headlines.length; ii++) {
		if (headlines[ii] == this) {
			storyIdx = ii;
		}
	}
	if((newsIndex == storyIdx) && openTab == true){
		_collapseAll();	
		openTab = false;
	}else{
		if (storyIdx != -1) {
			var story = summaries[storyIdx];
			story.className = story.className.replace("collapsed", "");
			openTab = true;
		}
	}
	newsIndex = storyIdx;
}


/**
 * Collapses all news stories.
 */
function _collapseAll() {
	for (var ii = 0; ii < summaries.length; ii++) {
		var summ = summaries[ii];
		if (summ.className.indexOf("collapsed") == -1) {
			summ.className += " collapsed";
		}
	}
}