var mainOffsetTop = 0;
var basketMaxScrollTop = 0;
var scrollInterval;

$(document).ready(function()
{
	floatBasketIfPossible();
});


function floatBasketIfPossible()
{
	var windowHeight = $(window).height();
	var basket = $("#basket-wrapper");
	var basketHeight = basket.height();	
	var position = basket.position();
	var main = $("#main");
	var mainOffset = main.offset();
	
	if(windowHeight > (basketHeight + 120) && main.innerHeight() > (basketHeight + 120))
	{
		basket.css({'position': 'absolute', 'right': '0', 'top': '73px'});
		basketMaxScrollTop = position.top;
		mainOffsetTop = mainOffset.top;
		floatBasket();
		$(window).scroll(windowScroll);
	}
}

function windowScroll(event)
{
	window.clearInterval(scrollInterval);
	scrollInterval = window.setTimeout(floatBasket, 300);
}

function floatBasket()
{
	var basket = $("#basket-wrapper");
	var height = basket.height();
	var offset = $(window).scrollTop();
	var style = {};
	var top = 0;
	
	if (offset > mainOffsetTop + basketMaxScrollTop)
	{
		top = offset - mainOffsetTop + 16;
	}
	else
	{
		top = basketMaxScrollTop;
	}
	
	if (top + height > $("#main").height())
	{
		style['top'] = $("#main").height() - height + 'px';
	}
	else
	{
		style['top'] = top + 'px';
	}

	basket.stop().delay(200).animate(style, 500, 'swing');
}
