/* Configuration variables */

var ticker_show_source = false;
var ticker_char_timeout = 200;
var ticker_item_timeout = 5000;
var ticker_separator = "Latest News: ";

/* Initialise variables */

var ticker_item	 = -1;
var ticker_length = 0;
var ticker_itemcount = 0;
var rss_title  	 = new Array();
var rss_link   	 = new Array();
var rss_source 	 = new Array();
var rss_location = new Array();
var rss_hours 	 = new Array();
var rss_date 		 = new Array();
var rss_distance = new Array();

function rsstickerTick()
{
	if(ticker_length == 0)
	{
		ticker_item++;
		ticker_item = ticker_item % ticker_itemcount;
		if( ticker_item < rss_link.length )
		{
			ticker.href = rss_link[ticker_item];
		}
		else
		{
			ticker.href = "#";
		}
	}

	ticker.innerHTML = "";
	
	if( ticker_show_source && ticker_item < rss_source.length )
	{
		ticker.innerHTML += '<span id="source">' + rss_source[ticker_item] + '</span>';
	}

	if( ticker_show_source && ticker_separator.length > 0 )
	{
		ticker.innerHTML += '<span id="separator">' + ticker_separator + '</span>' ;
	}
	
	ticker.innerHTML += rss_title[ticker_item].replace(/&quot;/g,'"').substring(0,ticker_length);
	
	if(ticker_length != rss_title[ticker_item].replace(/&quot;/g,'"').length)
	{
		ticker_length++;
		setTimeout("rsstickerTick()", ticker_char_timeout);
	}
	else
	{
		ticker_length = 0;
		setTimeout("rsstickerTick()", ticker_item_timeout);
	}
}

function myGetElementById(id) {
	var myElement = null;
	
	if( document.layers )
	{
		myElement = document.layers[id];
	}
	else if( document.all )
	{
  	myElement = document.all[id];
	}
	else if( document.getElementById )
	{
  	myElement = document.getElementById(id);
  }
	return myElement;
}

function myXMLHttpRequest()
{
	var xhr = false;

	if(window.XMLHttpRequest)
	{
		xhr = new XMLHttpRequest();
		if(xhr.overrideMimeType)
		{
			xhr.overrideMimeType('text/xml');
		}
	}
	else if(window.ActiveXObject)
	{
		try
		{
			xhr = new ActiveXObject('Msxml2.XMLHTTP');
		}
		catch(e)
		{
			try
			{
				xhr = new ActiveXObject('Microsoft.XMLHTTP');
			}
			catch(e)
			{
				xhr = false;
			}
		}
	}

	return xhr;
}
      
function rsstickerStart() {
	
  var xhr = myXMLHttpRequest();
  
  if( xhr != false )
  {
		xhr.open("GET", feed ,true);
	
		xhr.onreadystatechange=function() 
		{
			if (xhr.readyState==4) 
			{
		   		if (xhr.status==200) 
		   		{
	        	xml = xhr.responseXML.documentElement;
	
						ticker_itemcount = xml.getElementsByTagName('item').length;
					    
						for(var i=0; i<ticker_itemcount; i++) 
						{
							if(xml.getElementsByTagName('item')[i].getElementsByTagName('title').length==1)
							{
								try
								{								
									rss_title[i] = xml.getElementsByTagName('item')[i].getElementsByTagName('title')[0].firstChild.data;
								}
								catch(e)
								{
									rss_title[i] = '';
								}
							}
							if(xml.getElementsByTagName('item')[i].getElementsByTagName('link').length==1)
							{
								try
								{
									rss_link[i] = xml.getElementsByTagName('item')[i].getElementsByTagName('link')[0].firstChild.data;
								}
								catch(e)
								{
									rss_link[i] = '';
								}
							}
							if(xml.getElementsByTagName('item')[i].getElementsByTagName('source').length==1)
							{
								try
								{
									rss_source[i] = xml.getElementsByTagName('item')[i].getElementsByTagName('dc:creator')[0].firstChild.data;
								}
								catch(e)
								{
									rss_source[i] = '';
								}
							}
						}
	
		        rsstickerTick();
				}
			}
		}
		
		xhr.send(null);
	}
}

