		function scrollLayer(layerStr, xOffset, yOffset, windowWidth, windowHeight, interval)
		{
			layerObj = eval(layerStr);
//			layerObj.timer = setInterval('scrollLayerHV(' + layerStr + ', ' + xOffset + ', ' + yOffset + ', ' + windowWidth + ', ' + windowHeight + ')', interval);
			scrollLayerHV(layerStr, xOffset, yOffset, windowWidth, windowHeight);
			layerObj.timer = setTimeout('scrollLayer("' + layerStr + '", ' + xOffset + ', ' + yOffset + ', ' + windowWidth + ', ' + windowHeight + ', ' + interval + ')', interval);
		}

		function scrollLayerHV(layerStr, xOffset, yOffset, windowWidth, windowHeight)
		{
			layerObj = eval(layerStr);
			layerHeight = layerObj.getHeight();
			layerWidth = layerObj.getWidth();
			layerX = layerObj.getX();
			layerY = layerObj.getY();

			if (layerWidth < windowWidth)
				newX = layerX;
			else
			{
				newX = layerX + xOffset;
				if (newX > 0)
					newX = 0;
				else if (newX < (-1 * layerWidth + windowWidth))
					newX = -1 * layerWidth + windowWidth;
			}

			if (layerHeight < windowHeight)
				newY = layerY;
			else
			{
				newY = layerY + yOffset;
				if (newY > 0)
					newY = 0;
				else if (newY < (-1 * layerHeight + windowHeight))
					newY = -1 * layerHeight + windowHeight;
			}

			layerObj.moveTo(newX, newY);
		}

		function scrollLayerH(layerStr, xOffset, windowWidth, interval)
		{
			scrollLayer(layerStr, xOffset, 0, windowWidth, 0, interval);
		}

		function scrollLayerV(layerStr, yOffset, windowHeight, interval)
		{
			scrollLayer(layerStr, 0, yOffset, 0, windowHeight, interval);
		}

		function stopLayer(layerStr)
		{
			layerObj = eval(layerStr);
//			if (layerObj.timer != null)
//				clearInterval(layerObj.timer);
			if (layerObj.timer != null)
				clearTimeout(layerObj.timer);
		}