shaker.widgets.ticker = {};

shaker.widgets.ticker.data = new Array();

shaker.widgets.ticker.tick = function(){
	 for (elementId in shaker.widgets.ticker.data) {
		if (shaker.widgets.ticker.data[elementId]['mouse'] == 'out') {
			if (shaker.widgets.ticker.data[elementId]['pos'] < shaker.widgets.ticker.data[elementId]['minPos']) {
				shaker.widgets.ticker.data[elementId]['pos'] = shaker.widgets.ticker.data[elementId]['startPos'];
			}
			shaker.widgets.ticker.data[elementId]['pos'] -= 3;
		 	shaker.widgets.ticker.data[elementId]['textElement'].style.left = shaker.widgets.ticker.data[elementId]['pos'] + "px";
		}
	 }
	 setTimeout("shaker.widgets.ticker.tick()", 100);
}


shaker.widgets.ticker.over = function(evt) {
	evt = (evt) ? evt : ((window.event) ? window.event : "");
	var target = (evt.target) ? evt.target : evt.srcElement;
	if (target.nodeType==3) target = target.parentNode;
	if (target.nodeName=="a" || target.nodeName=="A") {
		target = target.parentNode;
		shaker.widgets.ticker.data[target.parentNode.id]['mouse'] = 'over';
	}
}


shaker.widgets.ticker.out = function(evt) {
	evt = (evt) ? evt : ((window.event) ? window.event : "");
	var target = (evt.target) ? evt.target : evt.srcElement;
	if (target.nodeType==3) target = target.parentNode;
	if (target.nodeName=="a" || target.nodeName=="A") {
		target = target.parentNode;
		shaker.widgets.ticker.data[target.parentNode.id]['mouse'] = 'out';
	}
}


shaker.widgets.ticker.add = function(element) {
	shaker.widgets.ticker.data[element.id] = new Array();
	shaker.widgets.ticker.data[element.id]['startPos'] = element.offsetWidth;
	shaker.widgets.ticker.data[element.id]['pos'] = shaker.widgets.ticker.data[element.id]['startPos'];
	shaker.widgets.ticker.data[element.id]['minPos'] = element.firstChild.offsetWidth * (-1);
	shaker.widgets.ticker.data[element.id]['textElement'] = element.firstChild;
	shaker.widgets.ticker.data[element.id]['mouse'] = 'out';
	element.firstChild.onmouseover = shaker.widgets.ticker.over;
	element.firstChild.onmouseout = shaker.widgets.ticker.out;
	if (shaker.widgets.ticker.data.length <= 1) shaker.widgets.ticker.tick();
}


