function InitScrollBlock(num, scrollSpeed, initialDelay, direction, circularScroll, stopOnMouseOver, startVisible) {
	objScrBlkCtr[num] = MM_findObj('ScrBlkCtr' + num);
	objScrBlkCtrW[num] = objScrBlkCtr[num].offsetWidth;
	objScrBlkCtrH[num] = objScrBlkCtr[num].offsetHeight;
	
	objScrBlkCtt[num] = MM_findObj('ScrBlkCtt' + num);
	objScrBlkCttW[num] = objScrBlkCtt[num].offsetWidth;
	objScrBlkCttH[num] = objScrBlkCtt[num].offsetHeight;

	if (circularScroll && (
		((direction == "rl" || direction == "lr" ) && (objScrBlkCttW[num] / 2) < objScrBlkCtrW[num]) || 
		((direction == "tb" || direction == "bt" ) && (objScrBlkCttH[num] / 2) < objScrBlkCtrH[num])
		)) {
		circularScroll = 0;
		
		MM_findObj('ScrBlkCtt' + num + "-2").innerHTML = "";
		
		objScrBlkCttW[num] = objScrBlkCtt[num].offsetWidth;
		objScrBlkCttH[num] = objScrBlkCtt[num].offsetHeight;
	}

	objScrBlkSpd[num] = scrollSpeed;
	objScrBlkDel[num] = initialDelay;
	objScrBlkDir[num] = direction;
	objScrBlkCnt[num] = circularScroll;
	objScrBlkMus[num] = stopOnMouseOver;

	objScrBlkStp[num] = 0;
	
	var offset = 0;

	if (!startVisible) {
		switch (direction) {
			case "bt":
				objScrBlkCtt[num].style.top = (objScrBlkCtrH[num] - offset) + "px";
				break;
			case "tb":
				objScrBlkCtt[num].style.top = (-1 * objScrBlkCttH[num] + offset) + "px";
				break;
			case "rl":
				objScrBlkCtt[num].style.left = (objScrBlkCtrW[num] - offset) + "px";
				break;
			case "lr":
				objScrBlkCtt[num].style.left = (-1 * objScrBlkCttW[num] + offset) + "px";
				break;
		}
	}
	
	objScrBlkCtr[num].style.position = "relative";
	objScrBlkCtt[num].style.visibility = "visible";

	setTimeout("StartScroll(" + num + ")", initialDelay);
}

function StartScroll(num)
{
	setTimeout("Scroll(" + num + ")", 50);
}

function StopScroll(num)
{
	objScrBlkStp[num] = 1;
}

function ResumeScroll(num)
{
	objScrBlkStp[num] = 0;
}

function Scroll(num)
{
	if (!objScrBlkMus[num] || (objScrBlkMus[num] && objScrBlkStp[num] == 0))
	{
		var delta = 0;
		var newMargin = 0;
		var cs = objScrBlkCnt[num];
		
		switch(objScrBlkDir[num])
		{
			case "bt":
				delta = objScrBlkCtrH[num] + (objScrBlkCttH[num] / (cs ? 2 : 1));
				newMargin = parseInt(objScrBlkCtt[num].style.top) - objScrBlkSpd[num];
				
				if (Math.abs(objScrBlkCtrH[num] - newMargin) >= delta)
					newMargin = objScrBlkCtrH[num] - (cs ? objScrBlkCtrH[num] : 0);
						 
				objScrBlkCtt[num].style.top = newMargin + "px";
				break;
			case "tb":
				delta = objScrBlkCtrH[num] + (objScrBlkCttH[num] / (cs ? 2 : 1));
				newMargin = parseInt(objScrBlkCtt[num].style.top) + objScrBlkSpd[num];
				
				if (Math.abs(- objScrBlkCttH[num] - newMargin) > delta)
					newMargin = -1 * objScrBlkCttH[num] + (cs ? objScrBlkCtrH[num] : 0);
				
				objScrBlkCtt[num].style.top = newMargin + "px";
				break;
			case "rl":
				delta = objScrBlkCtrW[num] + (objScrBlkCttW[num] / (cs ? 2 : 1));
				newMargin = parseInt(objScrBlkCtt[num].style.left) - objScrBlkSpd[num];

				if (Math.abs(objScrBlkCtrH[num] - newMargin) >= delta)
					newMargin = objScrBlkCtrW[num] - (cs ? objScrBlkCtrW[num] : 0);

				objScrBlkCtt[num].style.left = newMargin + "px";
				break;
			case "lr":
				delta = objScrBlkCtrW[num] + (objScrBlkCttW[num] / (cs ? 2 : 1));
				newMargin = parseInt(objScrBlkCtt[num].style.left) + objScrBlkSpd[num];
				
				if (Math.abs(- objScrBlkCttW[num] - newMargin ) >= delta)
					newMargin = -1 * objScrBlkCttW[num] + (cs ? objScrBlkCtrW[num] : 0);	
				
				objScrBlkCtt[num].style.left = newMargin + "px";
				break;		
		}	
	}
	
	setTimeout("Scroll(" + num + ")", 50);
}

