function getObj(name)
{
	if (document.getElementById)
	{
		this.obj = document.getElementById(name);
		this.style = document.getElementById(name).style;
	}
	else if (document.all)
	{
		this.obj = document.all[name];
		this.style = document.all[name].style;
	}
	else if (document.layers)
	{
		this.obj = document.layers[name];
		this.style = document.layers[name];
	}
}
/****************************************************************************************************/
function scroller(id, speed, delay, limit)
{
	if (document.getElementById)
	{
		var scroller = new getObj(id);
		
		scroller.style.position = "relative";
		scroller.style.overflow = "hidden";
		
		scroller.obj.innerHTML = "<div id=\"" + id + "_absDiv\">" + scroller.obj.innerHTML + "</div>";
		
		var absDiv = new getObj(id + "_absDiv");
		absDiv.style.position = "absolute";
		absDiv.style.padding = "6px";
		absDiv.style.left = parseInt(scroller.style.width) + "px";
		absDiv.style.top = parseInt(scroller.style.height) + "px";
				

		absDiv.style.left = "0px";
		absDiv.style.width = parseInt(scroller.style.width) + "px";
//		limit = parseInt(scroller.style.height);//obj.getElementsByTagName('div').length * parseInt(scroller.style.height);

		//setTimeout("scrollOnce(\"" + id + "\", " + limit + ", " + speed + ", " + delay + ")", parseInt(speed));
		scrollOnce(id, limit, speed, delay);
	}
}

/****************************************************************************************************/

function scrollOnce(id, limit, speed, delay)
{
	var scroller = new getObj(id);
	var absDiv = new getObj(id + "_absDiv");
	
	nextTick = speed;
	
	if (!absDiv.style.top) absDiv.style.top = "0px";
	
	if (parseInt(absDiv.style.top) < -limit)
	{
	 	absDiv.style.position = "absolute";
		absDiv.style.padding = "6px";		
		absDiv.style.top = parseInt(scroller.style.height) + "px";
		//absDiv.style.top = 0;//parseInt(scroller.style.height) + "px";
	}
	else
	{
		absDiv.style.top = (parseInt(absDiv.style.top) - 1) + "px";
	}

/*	if (!(parseInt(absDiv.style.top) == parseInt(scroller.style.height)) &&
		!(parseInt(absDiv.style.top) == -limit) &&
		(parseInt(absDiv.style.top) % parseInt(scroller.style.height)) == 0)
	{
		nextTick = delay;
	}
*/	
	setTimeout("scrollOnce(\"" + id + "\", " + limit + ", " + speed + ", " + delay + ")", parseInt(nextTick));
//	scrollOnce(id, limit, speed, delay);
}
