var isIE = (navigator.appName.indexOf('Microsoft Internet Explorer') != -1) ? 1 : 0;
var xC = 0;
var theDelay = 0;
var scroll_frameRate_orig = scroll_frameRate;
var xN = 0;

function scroll_page_to_id(objectID, add_x, adjust_after_resize)
{
	if( typeof(add_x) == 'undefined' ) add_x = 0;
	if( typeof(adjust_after_resize) == 'undefined' ) adjust_after_resize = 0;
	xC = document.body.scrollLeft;
	var object = document.getElementById(objectID);
	xN = object.offsetLeft + add_x;
	//alert( xN );
	if( xC != xN ) scrollPage( adjust_after_resize );
}


function scroll_page_to_x(x, adjust_after_resize)
{
	if( typeof(adjust_after_resize) == 'undefined' ) adjust_after_resize = 0;
	xC = document.body.scrollLeft;
	xN = x;
	if( xC != xN ) scrollPage( adjust_after_resize );
}

function scrollPage( adjust_after_resize )
{
	if( typeof(adjust_after_resize) == 'undefined' ) adjust_after_resize = 0;
	if (xC > xN)
	{
		xC = xC - scroll_frameRate;
		posDif = (xC - xN)/(scroll_frameRate/2);
		if (xC < xN)
		{
			scroll_frameRate = scroll_frameRate_orig;
			
			if( isIE )
			{
				document.body.scrollLeft = xN + adjust_after_resize;
			}
			else
			{
				scrollTo(xN+adjust_after_resize,0);
			}

			return;
		}
	}
	else
	{
		xC = xC + scroll_frameRate;
		posDif = (xN - xC)/(scroll_frameRate/2);
		if (xC > xN)
		{
			scroll_frameRate = scroll_frameRate_orig;

			if( isIE )
			{
				document.body.scrollLeft = xN + adjust_after_resize;
			}
			else
			{
				scrollTo(xN+adjust_after_resize,0);
			}

			return;
		}
	}
	if (isIE)
	{
		document.body.scrollLeft = xC;
	}
	else
	{
		scrollTo(xC,0);
	}
	
	if ((posDif >= scroll_frameRateMax) && (scroll_frameRate != scroll_frameRateMax))
		scroll_frameRate = scroll_frameRate + 1;
	else if (scroll_frameRate > 1)
		scroll_frameRate = scroll_frameRate - 2;

	setTimeout ('scrollPage(' + adjust_after_resize + ')',theDelay);
}

