﻿
var shoppingToteOpen = false;
var navigatingShoppingTote = false;
var noItems = false;
var items;
var itemsWidth;
var itemsOffset = 0;
var itemsStart = 0;
var itemsStop;
var itemWidth = 127;
var itemsContainerWidth = 381;
var browserDepricated = false;
var ajaxUpdate = false;
var clickEventSet = false;
var AddingItem = false;
function openTote() {
	shoppingToteOpen = true;

	$("#ViewTote").addClass("ViewToteOn");
	$("#ShoppingTote").show("blind", { direction: "vertical" }, 800);

}

function closeTote() {
	if (navigatingShoppingTote == false) {
		$("#ShoppingTote").hide("blind", { direction: "vertical" }, 600, function() { $("#ViewTote").removeClass("ViewToteOn"); });
		shoppingToteOpen = false;
		 
	}
}

function checkIEVersion() {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		var version = parseFloat(navigator.appVersion.split("MSIE")[1]);
		if (version <= 7) {
			browserDepricated = true;
		}
	}
}

function showNextItem() {
	if (itemsOffset > itemsStart) {
		itemsOffset = (itemsOffset - itemWidth);
		$("#Items").animate({ "left": itemsOffset }, { duration: "1000" });
		disableEnableButtons();
	}
}

function showPreviousItem() {
	if (itemsOffset < itemsStop) {
		itemsOffset = (itemsOffset + itemWidth);
		$("#Items").animate({ "left": itemsOffset }, { duration: "1000" });
		disableEnableButtons();
	}
}

function disableEnableButtons() {
	if (itemsOffset == itemsStop) {
		$("a.Prev").attr("disabled", "disabled");
		$("a.Prev").css("cursor", "default");
	}
	else {
		$("a.Prev").removeAttr("disabled");
		$("a.Prev").css("cursor", "pointer");
	}
	if (itemsOffset <= itemsStart) {
		$("a.Next").attr("disabled", "disabled");
		$("a.Next").css("cursor", "default");
	}
	else {
		$("a.Next").removeAttr("disabled", "enabled");
		$("a.Next").css("cursor", "pointer");
	}
}

function setClickEvent() {

	if (noItems != true) {

			if (shoppingToteOpen == true)
				closeTote();
			else
				openTote();

	}

}

function setMouseLeave() {

	$("#ViewTote").mouseleave(function() {
		if (shoppingToteOpen == true)
			setTimeout(closeTote, 1400);
	});

}



function configurePCart() {
	if ($(document).ready) {

		try {

			items = document.getElementById("Items").getElementsByTagName("span");
			itemsWidth = (127 * items.length);

			checkIEVersion();

			if (browserDepricated != true) {
				itemsOffset = (itemsWidth - itemsContainerWidth);
			}
			else
				itemsStart = (itemsContainerWidth - itemsWidth);

			itemsStop = itemsOffset;

			$("#Items").css("width", itemsWidth);
			$("#Items").css("left", itemsOffset);

			$('.PrevNext').each(function() {
				var current = $(this);
				current.mouseenter(function() { navigatingShoppingTote = true; });
				current.mouseleave(function() { navigatingShoppingTote = false; });
			});

			$("a.Prev").click(function() { showPreviousItem(); });
			$("a.Next").click(function() { showNextItem(); });

			disableEnableButtons();
			if (AddingItem == true) {
			    //open tote so user can see items where added..
			    openTote();
			    // set backgound to orange 
			    $('#spncheckOut').attr('class', 'CheckOuton');
			}
		}

		catch (err) {
			//$(".ViewTote em").html("YOUR");
				noItems = true;
		}

		setPCartEvents();
	}
}

function setPCartEvents() {

    if (noItems != true) {
        $(".ViewTote").css("cursor", "pointer");
        //$(".ViewTote em").html("VIEW");
        $('#spncheckOut').attr('class', 'CheckOuton');

    }
    else {
        $('#spncheckOut').attr('class', 'CheckOut');
    }
	if (ajaxUpdate == false) {

		setMouseLeave();

	}

}

function addItem() {

	ajaxUpdate = true;
	noItems = false;
	setPCartEvents();
	setPanZoomEvents();
	loadPCart();
	AddingItem = true;
	 

}

function RemoveItem(sessionID, itemID) {

	$.ajax({
		type: "POST",
		url: "wscartItems.asmx/RemoveCartItems",
		data: "{'sessionID': '" + sessionID + "','ItemID':'" + itemID + "'}",
		contentType: "application/json; charset=utf-8",
		dataType: "json",
		cache: false,
		success: function(msg) {
			$("#ViewTote").html(msg.d);
			configurePCart();

		},
		error: AjaxFailed
	});

	function AjaxFailed(result) {
		//for debugging
		//alert(result.status + ' ' + result.statusText); 

	}
}
 
$(document).ready(function() {

 loadPCart();

});

