
function init() {

	var newwins = getElementsByClassName('newwin', 'a', document);
	var childwins = getElementsByClassName('childwin', 'a', document);

	for (var i=0; i<newwins.length; i++) {
		if (!newwins[i].href) continue;
		newwins[i].onclick = NewWin;
		
		if (document.createElement) {
			var img = document.createElement('img');
			img.src = "/images/new-win-icon.gif";
			newwins[i].appendChild(img);
		}
	}
	for (var i=0; i<childwins.length; i++) {
		if (!childwins[i].href) continue;
		childwins[i].onclick = ChildWin;

		if (document.createElement) {
			var img = document.createElement('img');
			img.src = "/images/new-win-icon.gif";
			childwins[i].appendChild(img);
		}
	}
	
	//initTicker();
}

function NewWin(e) {

	// Accommodate IE's non-standard event handling.
	if (!e) var e = window.event;
	var a = e.target ? e.target : e.srcElement;
	
	while (a.nodeName != 'A' && a.nodeName != 'BODY') {
		a = a.parentNode;
	}
	
	if (a.nodeName == 'BODY') {
		return true;
	}
	
	// Open a new window with the link's href.
	var newwin = window.open(a.href);

	// The thought is that if the new window didn't
	// (popups blocked or whatever) we want to return
	// true so the link is follow normally. Not sure
	// if this works, but it doesn't seem to hinder.
	return !newwin;                               
}

function ChildWin(e) {

	// Accommodate IE's non-standard event handling.
	if (!e) var e = window.event;
	var a = e.target ? e.target : e.srcElement;

	var options = 'toolbar=no,location=yes,status=yes,height=550,width=780,scrollbars=yes,resizable=yes,directories=no';

	// Open a new window with the link's href.
	var newwin = window.open(a.href, 'foo', options);

	// The thought is that if the new window didn't
	// (popups blocked or whatever) we want to return
	// true so the link is follow normally. Not sure
	// if this works, but it doesn't seem to hinder.
	return !newwin;                               
}


function getElementsByClassName(strClass, strTag, objContElm) {
	strTag = strTag || "*";
	objContElm = objContElm || document;
	var objColl = (strTag == '*' && document.all && !window.opera) ? document.all : objContElm.getElementsByTagName(strTag);
	var arr = new Array();
	var delim = strClass.indexOf('|') != -1  ? '|' : ' ';
	var arrClass = strClass.split(delim);
	for (var i = 0, j = objColl.length; i < j; i++) {
	var arrObjClass = objColl[i].className.split(' ');
	if (delim == ' ' && arrClass.length > arrObjClass.length) continue;
	var c = 0;
	
	comparisonLoop:
	for (var k = 0, l = arrObjClass.length; k < l; k++) {
		for (var m = 0, n = arrClass.length; m < n; m++) {
			if (arrClass[m] == arrObjClass[k]) c++;
				if (( delim == '|' && c == 1) || (delim == ' ' && c == arrClass.length)) {
					arr.push(objColl[i]);
					break comparisonLoop;
				}
			}
		}
	}
	return arr;
}

onload = init;



var gContainer, gText, gArrPos, gTickInTimer, gTickerTimer, gTickerItems, gTickerIndex;
var gMouseover = false;
var gTickerInterval = 4000;
var gTextInterval = 40;
function initTicker()
{
	if (!gTickerItems)
		return false;
	
	document.getElementById('tickerContainer').onmouseover = stopTicker;
	document.getElementById('tickerContainer').onmouseout = startTicker;
	
	gTickerIndex = -1;
	doNextTicker();
}

function stopTicker()
{
	gMouseover = true;
	clearTimeout(gTickerTimer);
}
function startTicker()
{
	gMouseover = false;
	gTickerTimer = setTimeout(doNextTicker, gTickerInterval);
}

function tickIn() {
	if (!gArrPos)
		gArrPos = 0;
	
	if (gArrPos >= gText.length) {
		// done ticking in; set up the next item
		if (!gMouseover)
			gTickerTimer = setTimeout(doNextTicker, gTickerInterval);
		
		return;
	}
	
	gContainer.innerHTML += gText.charAt(gArrPos);
	gArrPos++;
	
	gTickInTimer = setTimeout(tickIn, gTextInterval);
}

function doPrevTicker()
{
	clearTimeout(gTickerTimer);
	clearTimeout(gTickInTimer);
	gTickerIndex--;
	if(gTickerIndex >= gTickerItems.length)
		gTickerIndex = 0;
	
	if (gTickerIndex < 0)
		gTickerIndex = gTickerItems.length-1;
	
	gText = gTickerItems[gTickerIndex]['text'];
	gTitle = gTickerItems[gTickerIndex]['title'];
	document.getElementById('tickerContainer').innerHTML = '<a id="tickerLink" href="'+gTickerItems[gTickerIndex]['href']+'">'+gTitle+':<br /></a>';
	gContainer = document.getElementById('tickerLink');
	gArrPos = 0;
	tickIn();
}

function doNextTicker()
{
	clearTimeout(gTickerTimer);
	clearTimeout(gTickInTimer);
	gTickerIndex++;
	if(gTickerIndex >= gTickerItems.length || gTickerIndex < 0)
		gTickerIndex = 0;
	
	gText = gTickerItems[gTickerIndex]['text'];
	gTitle = gTickerItems[gTickerIndex]['title'];
	document.getElementById('tickerContainer').innerHTML = '<a id="tickerLink" href="'+gTickerItems[gTickerIndex]['href']+'">'+gTitle+':<br /></a>';
	gContainer = document.getElementById('tickerLink');
	gArrPos = 0;
	tickIn();
}
