$j(function(){
		
		var $basketControler = $j("#basket-controler");
		var $basketContent = $j("#basket-content");
		var $basketItemCont = $basketContent.find("ul");
		var $basketElts;
		
		// Update items count in rendering
		function updateBasketInfos(){
			
			$basketElts = $basketItemCont.find("li:not(.last)");
			
			var items = $basketElts.length;
			
			//$basketContent.parent().find("p.basket-total span").text(items);
			
			if(items == 0){
				$basketControler.add($basketItemCont).hide();
			} else {
				$basketControler.add($basketItemCont).show();
			}
			if(items < 2){
				$basketItemCont.find("li.last").remove();
			}
			
			if(items > 5){
				$basketItemCont.find("li.last span").text(items);
			} 
			else {
				$basketItemCont.find("li.last span").text("");
			}
			
			$openedElt = $basketElts.trigger("collapse").slice(0,1).trigger("expand");
		};
		
		updateBasketInfos();
		
		$basketContent.removeClass("no-js");
		
		var basketTimer;
		
		$basketItemCont
			.bind("expand", function(e){
				e.stopImmediatePropagation();
				
				$basketControler.addClass("expanded");
				
				if ($j.browser.msie && $j.browser.version < 7) {
					$j("#basket-container").next(".user-actions").hide();
				};
				
				$j("#basket-container")
					.bind("mouseleave", function(){
						basketTimer = window.setTimeout(function(){
							$basketControler.click();
						},2000);
					})
					.bind("mouseenter", function(){
						window.clearTimeout(basketTimer);
					});
					
				$basketItemCont.slideDown();
			})
			.bind("collapse", function(e){
				e.stopImmediatePropagation();
				if ($j.browser.msie && $j.browser.version < 7) {
					$j("#basket-container").next(".user-actions").show();
				};
				$basketControler.removeClass("expanded");
				$j("#basket-container").unbind();
				$basketItemCont.slideUp();
			});
		
		
		$basketItemCont.hide();
		
		$basketControler.hover(
			function(){
				$j(this).addClass("hover");
			},
			function(){
				$j(this).removeClass("hover");
			}
		)
		.toggle(
			function(){
				$basketItemCont.trigger("expand");
			},
			function(){
				$basketItemCont.trigger("collapse");
			}
		);
		
		$basketElts
			.bind("collapse", function(e){
				e.stopImmediatePropagation();
				$j(this).find("a.prd-image, p.prd-amount, p.prd-quantity").hide();
			})
			.bind("expand", function(e){
				e.stopImmediatePropagation();
				$j(this).find("a.prd-image, p.prd-amount, p.prd-quantity").show();
			})
			.find("a.prd-remove").click(
				function(){
					var ajaxUrl = $j(this).attr("rel").slice(8);
					var $oElement = $j(this);
					
					$j.get(ajaxUrl, function(data){
						var aResults = data.split('::');
						
						if (aResults[0] == 'true')
						{
							if (aResults[1] == '0')
							{
								document.location.reload();
							}
							else
							{
								$oElement.parent().remove();
								updateBasketInfos();
								$j("#basket-container").find(".basket-total span").html(aResults[1]);
								$j("#basket-container").find(".basket-amount").html(aResults[2]);
							}
						}
					});
				}
			);
		
		var $openedElt = $basketElts.slice(0,1);
		
		$basketElts.trigger("collapse").find("p.prd-name a").click(function(e){
			$openedElt.trigger("collapse");
			$openedElt = $j(this).blur().parents("li:eq(0)").trigger("expand");
		});
		
		$openedElt.trigger("expand");
});