function InitSmoothScroll(target, container) {
	target.css('position', 'absolute')
			.css('top', '0px')
			.data('paused', false);

	container.css('position', 'relative')
				.mouseover(function() { target.data('paused', true); })
				.mouseout(function() { target.data('paused', false); });
							
	SmoothScrollList(target);
	setInterval(function() { LoopList(target); }, 1000);
}

function ConvertCssToNumericValue(cssValue) {
	var result = cssValue.replace('px', '');
	result = cssValue.replace('pt', '');
	result = cssValue.replace('em', '');
	result = cssValue.replace('%', '');
	
	return parseInt(result);
}

function SmoothScrollList(list) {
	if (!list.data('paused')) {
		var currTop = ConvertCssToNumericValue(list.css('top')) - 1;
		list.css('top', currTop);
	}
	
	setTimeout(function() { SmoothScrollList(list); }, 55);
}

function LoopList(list) {
	var first = list.children(':first');
	var currTop = ConvertCssToNumericValue(list.css('top')) - 1;
	
	if (first) {
		var firstHeight = first.outerHeight();
		
		if ((firstHeight + 10) < Math.abs(currTop)) {
			list.append(first);
			list.css('top', (currTop + firstHeight));
		}
	}
}
