var switchNewsTime;
var pauseNewsTime;
var numHeadlines;

var crossfadeContainerHTML = '';

var currentImageID = 0;
var switchImageTimeoutID = 0;
var paused = false;

//Pre Loading
numHeadlinesLoaded = 0;
var preloadImages = new Array();
var loadedImages = new Array();
var loadingTimeoutID = 0;

function startNewsHeadlines(xml_file)
{
	if (window.XMLHttpRequest)
	{
		xhttp = new XMLHttpRequest();
	}
	else // Internet Explorer 5/6
	{
		xhttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	xhttp.open("GET",xml_file,false);
	xhttp.send("");
	xmlDoc=xhttp.responseXML;

	switchNewsTime = xmlDoc.getElementsByTagName("Parameters")[0].attributes.getNamedItem("switchNewsTime").value;
	pauseNewsTime = xmlDoc.getElementsByTagName("Parameters")[0].attributes.getNamedItem("pauseNewsTime").value;
	numHeadlines = xmlDoc.getElementsByTagName("Parameters")[0].attributes.getNamedItem("numHeadlines").value;
	
	for (i = 0; i < numHeadlines; i++)
	{
		document.getElementById('news_headline_link_' + (i + 1)).innerHTML = xmlDoc.getElementsByTagName("NewsItem")[i].attributes.getNamedItem("title").value;
		if (getFileExtension(xmlDoc.getElementsByTagName("NewsItem")[i].attributes.getNamedItem("image").value) == 'jpg' || getFileExtension(xmlDoc.getElementsByTagName("NewsItem")[i].attributes.getNamedItem("image").value) == 'gif')
		{
			crossfadeContainerHTML += '<div class="news_headline_image" id="news_headline_image_box_' + (i + 1) + '"' +  ((i > 0) ? ' style="display: none;"' : '') + '><a href="' + xmlDoc.getElementsByTagName("NewsItem")[i].attributes.getNamedItem("url").value + '"><img src="' + xmlDoc.getElementsByTagName("NewsItem")[i].attributes.getNamedItem("image").value + '" width="646" height="182" alt="" /></a></div>';
		}
		else if (getFileExtension(xmlDoc.getElementsByTagName("NewsItem")[i].attributes.getNamedItem("image").value) == 'swf')
		{
			crossfadeContainerHTML += '<div class="news_headline_image" id="news_headline_image_box_' + (i + 1) + '"' +  ((i > 0) ? ' style="display: none;"' : '') + '><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="646" height="182" align="middle" name="news_banner"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="' + xmlDoc.getElementsByTagName("NewsItem")[i].attributes.getNamedItem("image").value + '" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="allowFullScreen" value="true" /><embed src="' + xmlDoc.getElementsByTagName("NewsItem")[i].attributes.getNamedItem("image").value + '" allowfullscreen="true" quality="high" bgcolor="#000000" width="646" height="182" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object></div>';
		}
	}
	document.getElementById('news_rotator_picture').innerHTML = crossfadeContainerHTML;

	for (i = 0; i < numHeadlines; i++)
	{
		preloadImages[i] = new Image()
		preloadImages[i].src = xmlDoc.getElementsByTagName("NewsItem")[i].attributes.getNamedItem("image").value;
		loadedImages[i] = false;
	}

	checkLoadProgress();
}

function getFileExtension(fileName)
{
	return (/[.]/.exec(fileName)) ? /[^.]+$/.exec(fileName) : undefined;
}

function checkLoadProgress()
{
	if (numHeadlinesLoaded == numHeadlines)
	{
		//BEGIN
		document.getElementById('news_box_preloading').style.display = 'none';
		document.getElementById('news_box_loaded').style.display = 'block';
		switchImage(false);
		return;
	}
	for (i = 0; i <= numHeadlines; i++)
	{
		if (loadedImages[i] == false && preloadImages[i].complete)
		{
			loadedImages[i] = true;
			numHeadlinesLoaded++;
		}
	}
	document.getElementById('loading_news_headlines').innerHTML = 'Loading News Headlines (' + numHeadlinesLoaded + ' of ' + numHeadlines + ')';
	loadingTimeoutID = setTimeout(checkLoadProgress,10);
}

//Post Loading
function rolloverNewsHeadline(itemNum,onOff)
{
	if (itemNum != currentImageID)
	{
		if (onOff == 1)
		{
			document.getElementById('news_headline_' + itemNum).className = 'news_rotator_headline_hover';
			document.getElementById('news_headline_link_' + itemNum).style.color = '#000000';
		}
		else
		{
			document.getElementById('news_headline_' + itemNum).className = 'news_rotator_headline_idle';
			document.getElementById('news_headline_link_' + itemNum).style.color = '#000000';
		}
	}
}

function startRotating()
{
	var flipDelay = (paused) ? pauseNewsTime : switchNewsTime;
	paused = false;
	switchImageTimeoutID = setTimeout("switchImage(true)",(flipDelay * 1000));
}

function switchHeadline(headlineNum)
{
	clearTimeout(switchImageTimeoutID);
	currentImageID = headlineNum - 1;
	paused = true;
	switchImage(false);
}

function switchImage(doFade)
{
	if (currentImageID == numHeadlines)
	{
		currentImageID = 1;
	}
	else
	{
		currentImageID++;
	}
	
	var fadeOutImageID = 0;
	var fadeInImageID = currentImageID;
	if (currentImageID == 1)
	{
		fadeOutImageID = numHeadlines;
	}
	else
	{
		fadeOutImageID = currentImageID - 1;
	}
	
	if (doFade == true)
	{
		Effect.Fade('news_headline_image_box_' + fadeOutImageID,{duration:1,from:1.0,to:0.0});
		Effect.Appear('news_headline_image_box_' + fadeInImageID,{duration:1,from:0.0,to:1.0});
		setTimeout(changeBoxColors,250);
	}
	else
	{
		changeBoxColors();
		for (i = 1; i <= numHeadlines; i++)
		{
			if (i == currentImageID)
			{
				document.getElementById('news_headline_image_box_' + i).style.display = 'block';
			}
			else
			{
				document.getElementById('news_headline_image_box_' + i).style.display = 'none';
			}
		}
	}
	startRotating();
}

function changeBoxColors()
{
	for (i = 1; i <= numHeadlines; i++)
	{
		if (i == currentImageID)
		{
			document.getElementById('news_headline_' + i).className = 'news_rotator_headline_active';
			document.getElementById('news_headline_link_' + i).style.color = '#ffffff';
		}
		else
		{
			document.getElementById('news_headline_' + i).className = 'news_rotator_headline_idle';
			document.getElementById('news_headline_link_' + i).style.color = '#000000';
		}
	}
}
