$j(document).ready(function(){

	function moduleOpen(){
		if (!$j("#cart-summary").hasClass("showing-mini-cart")){
			var module = $j("#the-mini-cart");
			module.css("display","block");
			var modOffset = module.offset();
			var modTop = modOffset.top-75;
			var modLeft = modOffset.left-50;
			var modRight = modLeft+380;
			var height = module.outerHeight();
			var modBottom = modTop+(height+150);
			$j("#cart-summary").addClass("showing-mini-cart");
			//$j("<div style='position: absolute; width: 380px; top: "+modTop+"px; left: "+modLeft+"px; height: "+(height+150)+"px; background: rgba(255,255,0,.65); z-index: 9999;'></div>").insertBefore(module);
			trackMouse(modTop,modRight,modBottom,modLeft);
		}
	}
	
	function moduleClose(){
		var module = $j("#the-mini-cart");
		module.slideUp(200,function(){
			$j("#cart-summary").removeClass("showing-mini-cart");
		});
	}
	
	function trackMouse(top,right,bottom,left){
		$j(document).bind("mousemove",function(e){
			if (e.pageX > right || e.pageX < left || e.pageY < top || e.pageY > bottom){
				moduleClose();
			}
		});
	}

	var panelTracker = 0;

	function moduleMove(direction){
		var module = $j("#the-mini-cart");
		var moduleItems = module.find("li");
		var moduleCount = moduleItems.length;
		
		if (direction == "down") {
			panelTracker++;
			module.find("ul").animate({marginTop: "-=130px"},200);
			console.log("total panel moves: "+panelTracker+"\nmodule count: "+moduleCount);
			if (panelTracker == (moduleCount-2)){
				$j(".down-active").removeClass("down-active").addClass("down-inactive");
				$j(".up-inactive").removeClass("up-inactive").addClass("up-active");
			} else {
				$j(".up-inactive").removeClass("up-inactive").addClass("up-active");
			}
		} else {
			panelTracker--;
			module.find("ul").animate({marginTop: "+=130px"},200);
			console.log("total panel moves: "+panelTracker+"\nmodule count: "+moduleCount);
			if (panelTracker == 0){
				$j(".up-active").removeClass("up-active").addClass("up-inactive");
				$j(".down-inactive").removeClass("down-inactive").addClass("down-active");
			} else {
				$j(".down-inactive").removeClass("down-inactive").addClass("down-active");
			}
		}
		
	}
	
	$j("#cart-summary").mouseenter(function(){
		if ($j("#the-mini-cart").length > 0 && !$j(this).find("a").hasClass("empty") && $j(this).find("p").length == 0){
			moduleOpen();
		}
	});
	
	$j("#the-mini-cart .down-active").live("click",function(){
		moduleMove("down");
	});
	
	$j("#the-mini-cart .up-active").live("click",function(){
		moduleMove("up");
	});
	
	
	
	
	
	$j(".remove-this-item").live("click",function(){
		var myProductId = $j(this).parent("li").attr("data-productid");
		var pageLoc = window.location.search;
		if (pageLoc.indexOf(myProductId) != -1){
			$j(".in-cart-notice").remove();
			$j("#add-to-cart label[for='quantity']").text("Quantity:");
			$j(".adjust-quantity").html("Add to Cart<span></span>").removeClass("adjust-quantity").removeClass("smallify-now");
			$j(".go-to-cart").remove();
		}
		$j(this).siblings("input[type='checkbox']").attr("checked",true);
		var miniCartData = $j("#the-mini-cart form").serialize();
		//alert(miniCartData);
		$j.ajax({
			type: "POST",
			url: "/store/cart/updateCart.do",
			data: miniCartData,
			success: function() {
					getTheCart("showCart","none");		
				}
			});
	});
	
	$j("#the-mini-cart li a").live("click",function(){
		var theHref = $j(this).attr("href");
		window.location = theHref;
		return false;
	});
	

});
