﻿// prevents double click
var addToCartEnabled = true;

// Suppress Enter Key for form, allows qty to update
function suppressEnter(e) {

    var keyPressed

	if(window.event)
        keyPressed = window.event.keyCode; 
    else
        keyPressed = e.which; 
        
    if (window.event.keyCode == 13) 
    {
	    window.event.cancelBubble = true;
	    window.event.returnValue = false;
	    e.preventDefault();
	}
}


//Remove
function removeOrderItem(orderItemId) {
	Order_ShoppingCart.RemoveItem(orderItemId, UpdateBasket_Callback);
}

//Change Quantity
function updateOrderItemQuantity(orderItemId, clientControlId) {
	var quantity = document.getElementById(clientControlId).value;
	Order_ShoppingCart.AmendItemQuantity(orderItemId, quantity, UpdateBasket_Callback);
}

//Add
function addToBasket(skuId) 
{
    if (addToCartEnabled)
    {
	    addToCartEnabled = false;
	    var addToCartButton = document.getElementById('addToCartButton');

	    var qty = 0;
	    var qtyInput = document.getElementById('qty');
	    var personalisation = document.getElementById('personalisation');
	    
	    var personalisationText = personalisation==null ? "" : personalisation.value;

	    if (qtyInput == null) {
		    qty = 1;
	    }
	    else {
	        if (personalisation == null)
	        {	           
		        qty = qtyInput.value;
		    }
		    else
		    {
		        qty = 1;
		    }
	    }	    

	    AddToBasket.AddItemsToBasket(skuId, qty, personalisationText, AddToBasket_Callback);

	    addToCartEnabled = true;
	}
}

//Add from Sku List
function addToBasketFromSkuList(skuId) 
{
    Controls_Orders_AddToBasketFromSkuList.AddItemsToBasket(skuId, 1, '', AddToBasket_Callback);
}


//Callbacks
function UpdateBasket_Callback(response) {

	if (response != null && response.error != null) {
		return;
	}

	var orderItem = response.value;

	if (typeof (orderItem) == "object") {

		var total = document.getElementById('ctl00_MiniBasket_MiniBasketTotal');
		var quantity = document.getElementById('ctl00_MiniBasket_TotalNumberOfItems');
		var totalOrderPrice = document.getElementById('TotalOrderPrice');

		total.innerText = orderItem.CartTotal;
		quantity.innerText = orderItem.CartQuantity;
		total.textContent = orderItem.CartTotal;
		quantity.textContent = orderItem.CartQuantity;
		if (totalOrderPrice  != null)
		{
		    totalOrderPrice.textContent = orderItem.CartTotal;
		    totalOrderPrice.innerHTML = orderItem.CartTotal;
		}
		
		var orderItemRow = document.getElementById(orderItem.Id);
		if (orderItemRow != null && orderItem.Quantity == 0) {
			orderItemRow.className = 'hidden';
		}

		if (orderItem.CartTotal == '£ 0.00') {
			var cartSummary = document.getElementById('cartSummary');
			var cartEmpty = document.getElementById('cartEmpty');

			if (cartSummary != null) {
				cartSummary.className = 'hidden';
				cartEmpty.className = 'body body_full_width basket_empty';
			}
		}
		
	}
}

function AddToBasket_Callback(response) {
	if (response != null && response.error != null) {
		return;
	}

	var order = response.value;

	if (typeof (order) == "object") {
		var total = document.getElementById('ctl00_MiniBasket_MiniBasketTotal');
		var quantity = document.getElementById('ctl00_MiniBasket_TotalNumberOfItems');

		total.innerText = order.TotalPrice;
		quantity.innerText = order.Quantity;
		total.textContent = order.TotalPrice;
		quantity.textContent = order.Quantity;
		
		$.jGrowl('<div><p><br />'+order.AddedSkuQuantity+' x '+order.AddedSkuName+'<br /></p></div>', { header: 'Items added to your basket', life: 3500, speed: 750, theme: 'littlefluff', closer: false } )

	}
}
