// JavaScript Document
var rssfile = "rssfeed.xml";
var newsitemagelimit = 14;
var tickerwidth = 800;
var tickerposition = 0;
var tickerpositionlimit = -800;
var tickerspeed = 30;
var tickerincrement = 1;
var tickerpaused = false;

var scrollerid = "";
var faderid = "";

function CreateRequest()
{
	if (window.ActiveXObject)
	{
		var versions = ["MSXML2.XMLHttp.6.0","MSXML2.XML2.3.0"];
		
		for (var i = 0;i < versions.length; i++)
		{
			try
			{
				return new ActiveXObject(versions[i]);
			}
			catch (error) {}
		}
		
		throw new Error("Request could not be created.");
	}
	else if (window.XMLHttpRequest)
	{
		return new XMLHttpRequest();
	}
	else throw new Error("Request could not be created.");
}

function DisplayNewsTicker()
{
	window.clearTimeout(scrollerid);
	
	var newsrequest = CreateRequest();
	
	if (newsrequest.overrideMimeType)
	{
		newsrequest.overrideMimeType('text/xml');
	}
	
	newsrequest.open("get",rssfile,true);
	newsrequest.onreadystatechange = function ()
	{
		if (newsrequest.readyState == 4)
		{
			if (newsrequest.status == 200 || newsrequest.status == 304)
			{
				var xmldata = newsrequest.responseXML;
				
				var newsitems = xmldata.getElementsByTagName("item");
				
				var output = "";
				
				var newsmarquee = document.getElementById("newsmarquee");
				var intro = document.getElementById("intro");
				var newsticker = document.getElementById("newsticker");
				
				if (newsmarquee != null && intro != null && newsticker != null && newsitems.length > 0)
				{
					var currentdate = new Date();
					
					var startdate = new Date();
					
					startdate.setDate(startdate.getDate() - newsitemagelimit);
				
					var displaymarquee = false;
					var totalnewsitems = 0;
				
					for (var i = 0; i < newsitems.length; i++)
					{
						var pubdate = newsitems[i].getElementsByTagName('pubDate')[0].firstChild.nodeValue;
						
						var pubdatearray = pubdate.split(" ");
						
						var pubmonth = 0;
						
						switch (pubdatearray[2])
						{
							case "Jan":
							pubmonth = 0;
							break;
							case "Feb":
							pubmonth = 1;
							break;
							case "Mar":
							pubmonth = 2;
							break;
							case "Apr":
							pubmonth = 3;
							break;
							case "May":
							pubmonth = 4;
							break;
							case "Jun":
							pubmonth = 5;
							break;
							case "Jul":
							pubmonth = 6;
							break;
							case "Aug":
							pubmonth = 7;
							break;
							case "Sep":
							pubmonth = 8;
							break;
							case "Oct":
							pubmonth = 9;
							break;
							case "Nov":
							pubmonth = 10;
							break;
							case "Dec":
							pubmonth = 11;
							break;
						}
						
						var pubdatetime = pubdatearray[4].split(":");
						
						var j_pubdate = new Date(pubdatearray[3],pubmonth,pubdatearray[1],pubdatetime[0],pubdatetime[1],pubdatetime[2],0);
					
						if (j_pubdate >= startdate && j_pubdate <= currentdate)
						{
							if (!displaymarquee)
							{
								displaymarquee = true;
							}
							
							totalnewsitems++;
						
							var newslink = document.createElement("a");
							newslink.innerHTML = newsitems[i].getElementsByTagName('title')[0].firstChild.nodeValue;
							newslink.setAttribute("href",newsitems[i].getElementsByTagName('link')[0].firstChild.nodeValue);
							newslink.setAttribute("target","_blank");
								
							newsticker.appendChild(newslink);
						}
					}
					
					if (displaymarquee)
					{
						newsmarquee.style.display = "block";
						newsticker.style.width = tickerwidth + "px";
						newsticker.style.left = tickerposition + "px";
						
						var introheight = Math.round((totalnewsitems+1)/4);
						
						intro.style.height = introheight + ".25em";
						
						ChangeOpacity(0);
					}
				}
			}
		}
	};
	
	newsrequest.send(null);
	
	faderid = setTimeout("FadeIn()",tickerspeed/2);
}

function FadeIn()
{
	var newsticker = document.getElementById("newsticker");
	
	var faderspeed = 25;
	var timer = 0;
	
	if (newsticker != null)
	{
		for (var i = 0;i <= 100;i++)
		{
			setTimeout("ChangeOpacity(" + i + ")",(faderspeed*timer));
			timer++;
		}
		
		scrollerid = setTimeout("Scroll()",tickerspeed*100);
	}
}

function ChangeOpacity(opacity)
{
	var newsticker = document.getElementById("newsticker");
	
	if (newsticker != null)
	{
		var objectstyle = newsticker.style;
		
		objectstyle.opacity = (opacity/100);
		objectstyle.MozOpacity = (opacity/100);
		objectstyle.KHtmlOpacity = (opacity/100);
		objectstyle.filter = "alpha(opacity=" + opacity + ")";
	}
}

function Scroll()
{
	var newsticker = document.getElementById("newsticker");
	
	if (newsticker != null)
	{
		tickerspeed = 30;
		var tickerposition = newsticker.style.left;
	
		var pxregex = /px/;
		var leftposition = parseInt(tickerposition.replace(pxregex,""));	
	
		if (isNaN(leftposition))
		{
			leftposition = 0;
		}
	
		if (leftposition > tickerpositionlimit)
		{
			leftposition = leftposition - tickerincrement;
			newsticker.style.left = leftposition + "px";
			
			scrollerid = setTimeout("Scroll()",tickerspeed);
		}
		else
		{
			ChangeOpacity(0);
		
			newsticker.style.left = "0px";
			faderid = setTimeout("FadeIn()",0);
		}
	}
}

function StopScroll()
{	
	window.clearTimeout(scrollerid);
	window.clearTimeout(faderid);

	var newsticker = document.getElementById("newsticker");
	
	if (newsticker != null)
	{
		var tickerposition = newsticker.style.left;
		
		var pxregex = /px/;
		var leftposition = parseInt(tickerposition.replace(pxregex,""));	
	
		if (isNaN(leftposition))
		{
			leftposition = 0;
		}
		
		newsticker.style.left = leftposition + "px";
	}
}

function StartScroll()
{
	Scroll();
}