// by james ostrowick

var sTimer = null;
var pos = 0;
var xmlhttp;

function GetXmlHttpObject()
{
    if (window.XMLHttpRequest)
    {
	// code for IE7+, Firefox, Chrome, Opera, Safari
	return new XMLHttpRequest();
    }
    if (window.ActiveXObject)
    {
	// code for IE6, IE5
	return new ActiveXObject("Microsoft.XMLHTTP");
    }
    return null;
}

function startTicker()
{
	tickerStatus = true;
	drawTicker();
}

function stopTicker()
{
	if (tickerStatus)
	{
		tickerStatus = false;
		if (sTimer != null)
		{
			clearTimeout (sTimer);
			sTimer = null;
		}
	}
}

function drawTicker()
{
	if (tickerStatus)
	{
		var inner = document.getElementById("inner_tape");
		var rssButton = document.getElementById("rssbutton");
		var tickerBox = document.getElementById("ticker_box");
		inner.style.left = -pos+"px";
		pos ++;
		var x = findPos(rssButton).x+rssButton.offsetWidth;
		var y = findPos(rssButton).y;
		var under = document.elementFromPoint(x+3,y+20);
		if (under.id == "last")
		{
			pos = -(tickerBox.offsetWidth);
		}
		sTimer = setTimeout("drawTicker()",15);
	}
	else
	{
		if (sTimer != null)
		{
			clearTimeout (sTimer);
			sTimer = null;
		}
	}
}

function findPos(obj)
{
    var x = 0;
    var y = 0;
    do
    {
		x = x + obj.offsetLeft;
		y = y+ obj.offsetTop;
	}
	while ((obj = obj.offsetParent));
	return {x:x,y:y};
}

function getText()
{
	xmlhttp = GetXmlHttpObject();
	var url = "http://www.icp2012.com/user_data/rss_feed.xml?t="+Math.random();
	xmlhttp.onreadystatechange = insertText;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

function insertText()
{
	var inner = document.getElementById("inner_tape");

	if (xmlhttp.readyState <4)
	{
		inner.innerHTML = "Loading news, please wait...";
	}
	if (xmlhttp.readyState == 4)
	{
		var xmlDoc = xmlhttp.responseXML.documentElement;
		var num = xmlDoc.getElementsByTagName("item").length;
		var desc = "";

		inner.innerHTML = "";
		inner.onmouseover = function () {stopTicker()};
		inner.onmouseout = function () {startTicker()};

		for (var i =0;i< num;i++)
		{
			var span = document.createElement("span");
			desc = xmlDoc.getElementsByTagName("item")[i].getElementsByTagName("description")[0];
			desc = desc.lastChild.nodeValue;
			desc = desc.replace(/\n/g, '&nbsp;&nbsp;' );
			span.innerHTML = desc;
			span.id = i;
			span.style.marginRight = "20px";
			inner.appendChild(span);
		}
		span = document.createElement("span");
		span.innerHTML = "&nbsp;&nbsp;";
		span.id = "last";
		inner.appendChild(span);
		inner.style.width = "50000px";
		inner.style.height = "28px";
	}
}

