var ANIMATION_INTERVAL=50,SCREEN_MARGINTOP=20,SMOOTHNESS=4,BASKET_ID='ctl00_ctl00_MainContent_SideContent_ib_BasketFrame';

var basket=null,basketMaximumScroll=0,basketOriginalMargintop=0,basketOriginalTop=0,basketMaximumScroll=0;

function getEl(a)
{
	if(typeof a=="string")return document.getElementById(a);else return a
}
function getTopoffset(a)
{
	var b=0;do{b+=a.offsetTop;a=a.offsetParent}while(a);return b
}
function getStyle(a,b)
{
	var c=a.style[b];if(!c&&document.defaultView){var d=document.defaultView.getComputedStyle(a,null);c=d?d[b]:null}else if(!c&&a.currentStyle){c=a.currentStyle[b]}return c
}
function basketSmoothScroll()
{
	var a=parseInt(basket.style.marginTop,10)
	,scrollTop=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop
	,finalPosition=0
	,move=0;
	
	if(scrollTop>basketMaximumScroll)scrollTop=basketMaximumScroll;
	if(scrollTop>basketOriginalTop)finalPosition=scrollTop-basketOriginalTop;
	move=Math.ceil((finalPosition-a)/SMOOTHNESS);
	basket.style.marginTop=(a+move)+'px'
}

var PROMO_DESC_CLASS='promoDescription';
var promotionBox=null;
var isIE=!!(window.attachEvent&&!window.opera);var ieVersion=navigator.userAgent.toLowerCase().indexOf('msie')>-1?parseInt(navigator.userAgent.match(/(?:msie\s)([\d]+)/i)[1],10):-1;

function addEvent(a,b,c)
{
	if(a.addEventListener)a.addEventListener(b,c,false);else a.attachEvent("on"+b,c)
}
function removeEvent(a,b,c)
{
	if(a.removeEventListener)a.removeEventListener(b,c,false);else a.detachEvent("on"+b,c)
}
function createPromotionBox()
{
		var a=promotionBox=document.createElement('div');a.innerHTML='...';a.className=PROMO_DESC_CLASS;a.style.position='absolute';a.style.zIndex=10000;addEvent(document,'mousemove',repositionTooltip);document.body.appendChild(a)
}
function displayPromotionBox(a)
{
	if(promotionBox==null)createPromotionBox();promotionBox.innerHTML=getEl(a).innerHTML;promotionBox.style.display='block'
}
function hidePromotionBox()
{
	promotionBox.style.display='none';
}
function repositionTooltip(e)
{
	var a=e.clientX,mouseY=e.clientY,scrollTop=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop,scrollLeft=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft,boxHeight=promotionBox.clientHeight||promotionBox.offsetHeight,boxWidth=promotionBox.clientWidth||promotionBox.offsetWidth,marginTop=(isIE&&ieVersion<=6)?15:(-boxHeight-20),marginLeft=-(Math.floor(boxWidth/2));promotionBox.style.top=mouseY+scrollTop+marginTop+'px';promotionBox.style.left=a+scrollLeft+marginLeft+'px'
}

function InitializeFloatingBasket()
{
	if(Sys.Browser.agent == Sys.Browser.InternetExplorer && Sys.Browser.version < 7)
	{
	//	is IE  or less, no scroll basket
	}
	else
	{
		basket=getEl(BASKET_ID);
		basketOriginalMargintop=parseInt(getStyle(basket,'marginTop'),10)||0;
		basketOriginalTop=getTopoffset(basket)-SCREEN_MARGINTOP;
		basket.style.marginTop=basketOriginalMargintop+'px';
		fullpageHeight=document.body.clientHeight||document.documentElement.clientHeight;browserHeight=window.innerHeight||document.documentElement.offsetHeight;
		basketMaximumScroll=fullpageHeight-browserHeight;
		// Start the animation
		setInterval(basketSmoothScroll, ANIMATION_INTERVAL);
	}
}
Sys.Application.add_init(InitializeFloatingBasket);
