var computedWidth = 0;
var maxWidth = 755;
var t;
function startTicker() {
	var xml = getXmlHttp();
	xml.onreadystatechange = function() {
		if (xml.readyState == 4) {
			var rsp = xml.responseText;
			if (rsp == '') {
				// error
			} else {
				bar = document.getElementById('ticker-bar');
				rsp = rsp.replace(/\s*$/, '').replace(/^\s*/, '');
				if (rsp.toLowerCase().indexOf('<p') == -1) rsp = '<p>' + rsp + '</p>';
				bar.innerHTML = rsp;
				tick = bar.childNodes[0];
				tick.style.left = '753px';
				computedWidth = computeWidth();
				t = setInterval('slideQuotes(2, 50, maxWidth);', 50);
			}
		}
	}
	xml.open('GET', '/ajax/get-ticker.asp');
	xml.send(null);
}

function slideQuotes(toMove, delay, maxWidth) {
	if (document.getElementById && document.getElementById('ticker-bar')) {
		var quoteEl = document.getElementById('ticker-bar').childNodes[0];
		var currLeft = (quoteEl.style.left) ? parseInt(quoteEl.style.left) : maxWidth;
		currLeft -= toMove;
		if (currLeft + computedWidth < 0) {
			clearInterval(t);
			currLeft = maxWidth;
			startTicker();
			computedWidth = computeWidth();
		}
		quoteEl.style.left = currLeft + 'px';
		//setTimeout('slideQuotes(' + toMove + ', ' + delay + ', ' + maxWidth + ');', delay);
	}
}

function computeWidth() {
	if (document.getElementById && document.getElementById('ticker-bar')) {
		var quoteEl = document.getElementById('ticker-bar').childNodes[0];
		var computedWidth = 0;
		if (document.defaultView && !document.offsetWidth) {
			computedWidth = parseInt(document.defaultView.getComputedStyle(quoteEl, '').getPropertyValue('width'));
		} else if (document.all) {
			computedWidth = parseInt(quoteEl.offsetWidth);
		}
		if (isNaN(computedWidth) || computedWidth <= 0) computedWidth = quoteEl.innerHTML.length * 7;
		return computedWidth;
	}
}

function getXmlHttp() {
	var xmlHttp = false;
	if (typeof(window.ActiveXObject) != 'undefined') {
		try {
			xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
		} catch (e) {
			try {
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (E) {
				xmlHttp = false;
			}
		}
	} else if (typeof(window.XMLHttpRequest) != 'undefined') {
		xmlHttp = new XMLHttpRequest();
	}
	return xmlHttp;
}
