var portfolioScrollAcceleration = null;
var portfolioScrollDirection = null;
var portfolioScrollSpeed = null;
var portfolioMaxScrollSpeed = 50;
var portfolioTopScrollSpeed = null;
var portfolioIntervalLength = 50;
var portfolioScrX = null;
var portfolioScroller = null;
var portfolioPreviews = null;
var portfolioStopTO = null;
var portfolioScrollInterval = null;

function portfolioGetX( oElement ) {
    var iReturnValue = 0;
    while( oElement != null ) {
    	iAdd = oElement.offsetLeft;
    	if (iAdd == undefined)
    	{
			iAdd = 0;
		}
        iReturnValue = iReturnValue - (-iAdd);
        oElement = oElement.parentNode;
    }
    return iReturnValue;
}

function portfolioStartScroll(event)
{
	event = event || window.event;
	
	clearTimeout(portfolioStopTO);
	
	portfolioPreviews = document.getElementById('portfolioPreviews');
	previewsX = portfolioPreviews.offsetLeft;
	if (previewsX == 0)
	{
		previewsX = portfolioGetX(portfolioPreviews);
	}
	var x = event.clientX - previewsX;
	var w = portfolioPreviews.offsetWidth;
	portfolioScroller = document.getElementById('portfolioScroller');
	if (x > 0 && x < 0.43*w)
	{
		portfolioScrollAcceleration = 1;
		portfolioScrollDirection = -1;
		dimention = 0.43*w - x;
	}
	else
	if (x > 0.57*w && x < w)
	{
		portfolioScrollAcceleration = 1;
		portfolioScrollDirection = 1;
		dimention = x - 0.57*w;
	}
	else
	{
		dimention = 0;
	}
	portfolioTopScrollSpeed = dimention/(0.43*w)*portfolioMaxScrollSpeed;
	
}

function portfolioStopScroll()
{
	portfolioStopTO = setTimeout('portfolioGoStop()',40);
}

function portfolioGoStop()
{
	if (portfolioScrollAcceleration > 0)
	{
		portfolioScrollAcceleration = -3*portfolioScrollAcceleration;
	}
}

function portfolioMoveScroller()
{
	if (portfolioScrollDirection != 0)
	{
		remeaningDimention = (portfolioScrollDirection > 0 ? portfolioScroller.clientWidth - portfolioPreviews.offsetWidth - portfolioScrX : portfolioScrX);
		if (portfolioScrollAcceleration > 0 && remeaningDimention < portfolioScrollSpeed*portfolioScrollSpeed/(6*portfolioScrollAcceleration))
		{
			portfolioScrollAcceleration = -3*portfolioScrollAcceleration;
		}
		portfolioScrollSpeed = portfolioScrollSpeed -(-portfolioScrollAcceleration);
		if (portfolioScrollSpeed < 0)
		{
			portfolioScrollSpeed = 0;
		}
		if (portfolioScrollSpeed > portfolioTopScrollSpeed)
		{
			portfolioScrollSpeed = portfolioTopScrollSpeed;
		}
		portfolioScrX = portfolioScrX -(-portfolioScrollSpeed*portfolioScrollDirection);
		if (portfolioScrX < 0)
		{
			portfolioScrX = 0;
		}
		if (portfolioScrX > portfolioScroller.clientWidth - portfolioPreviews.offsetWidth)
		{
			portfolioScrX = portfolioScroller.clientWidth - portfolioPreviews.offsetWidth;
		}
		portfolioScrX = Math.round(portfolioScrX);
		portfolioScroller.style.marginLeft = - portfolioScrX + 'px';
	}
}

