
var scrollArea;
var maxScrollSpeed = 7;

function ScrollArea(element,element_content)
{	
	var pos = Position.cumulativeOffset($(element));
	this.x = pos[0];
	this.y = pos[1];
	this.width = $(element).getWidth();
	this.height = $(element).getHeight();
	this.maxX = this.x + this.width;
	this.maxY = this.y + this.height;
	this.content = $(element_content);

	this.speed = 0;
} 

ScrollArea.prototype.isMouseOver = function (x,y)
{
	if (this.x <= x && this.maxX >= x && this.y <= y && this.maxY >= y)
	{
		return true;
	}
	return false;
}
ScrollArea.prototype.calculateSpeed = function (x,y)
{
	if (this.isMouseOver(x,y))
	{
		this.speed = ((y - this.y) /	this.height);
	}
	this.speed = (this.speed - 0.5) * 2;
	this.speed = -this.speed * maxScrollSpeed;
	return this.speed;
}
ScrollArea.prototype.scroll = function()
{
	
	var new_top =  Math.round(parseInt(this.content.getStyle('top')) + this.speed);
	if (new_top > 0) new_top = 0;
	
	var maxScrollOffset = this.content.getHeight() - this.height;
	if (maxScrollOffset < 0) maxScrollOffset = 0;

	if (new_top < - maxScrollOffset)
	{
		new_top = - maxScrollOffset;
	}
	this.content.style.top = new_top + 'px';
	
}


Event.observe(window, 'load', function() {
 if ($('big_news_scroller_container'))
 {
		scrollArea	= new ScrollArea('big_news_scroller_container','big_news_scroller_content');
		Event.observe(document,'mousemove',moveScroller);
 }
});

var timer;
var scrollActive = false;

function scroll()
{
	scrollArea.scroll();
	timer = setTimeout("scroll()",10);
}

function moveScroller(event)
{
	var posx = Event.pointerX(event);
	var posy = Event.pointerY(event);
	if (scrollArea.isMouseOver(posx,posy))
	{
		scrollArea.calculateSpeed(posx,posy);
		if (!scrollActive)
		{
			scrollActive = true;
			scroll();
		}
	}
	else
	{
		clearTimeout(timer);
		scrollActive = false;
	}

}