﻿

var curCartLastUpdated = '';
var cartDiv = document.getElementById('dvCartItems');
var subtotalDiv = document.getElementById('spnSubtotal');
var subtotalDivMsg = document.getElementById('spnSubtotalMsg');


function addToCartPU(type) {
	var txtQtyPopup = document.getElementById('qtyPopup');
	var qty = parseInt(txtQtyPopup.value);
	if (!(qty > 0)) {
		qty = 1;
	}
	addToCartGn(curPopUpItem, type, descArr[curPopUpItem][3], qty);
	txtQtyPopup.value = txtQtyPopup.className;
	txtQtyPopup.style.color = '#A2A2A2';
	txtQtyPopup = document.getElementById('qty' + curPopUpItem);
	if (txtQtyPopup) {
	    txtQtyPopup.value = ' ✔ ';
	    txtQtyPopup.style.color = '#000';
	}
	itemPopClose();
}
function addToCart(id, type, desc) {
	var txtQtyPopup = document.getElementById('qty' + id);
	var qty = parseInt(txtQtyPopup.value);
	if (!(qty > 0)) {
		qty = 1;
	}
    txtQtyPopup.value = ' ✔ ';
    txtQtyPopup.style.color = '#000';
	addToCartGn(id, type, desc, qty);
}
function addToCartGn(id, type, desc, qty) {
    cartItemCount += qty;
    $.post('/Cart/AddToCart/' + id, { qty: qty, type: type }, function (data) {
    	if (!cartServerChanged(data.cartHash)) {
    		if ((type + id) in curCart) {
    			curCart[type + id].qty += qty;
    			newItem = document.getElementById('cartQty' + type + '-' + id);
    			newItem.innerHTML = curCart[type + id].qty;
    			cartAddedTo(newItem.parentNode);
    		}
    		else {
    			curCart[type + id] = { qty: qty };
    			var newDiv = document.createElement('div');
    			newDiv.id = "cartItem" + id;
    			newDiv.className = 'headCartItem';
    			//newDiv.innerHTML = '<a class="upDown up" href="#" onfocus="this.blur();">+</a><a class="upDown down" href="#" onfocus="this.blur();">-</a><a href="#" onclick="ajaxPopup(' + id + ', \'details\'); return false;" class="headCartItemImg"><img src="/content/images/icon/' + id + '.jpg"></a><span id="cartQty' + type + '-' + id + '">' + qty + '</span> <a href="#" onclick="ajaxPopup(' + id + ', \'details\'); return false;">'
    			newDiv.innerHTML = '<a style="left:0; position:relative; vertical-align:middle" href="#" onclick="removeFromCart(' + id + ', \'z\'); return false;"><img src="/content/images/checkout-btn-remove.jpg" /></a>'
					+ ' <a href="#" onclick="ajaxPopup(' + id + ', \'details\'); return false;" class="headCartItemImg"><img src="/content/images/icon/' + id + '.jpg"></a><span id="cartQty' + type + '-' + id + '">' + qty + '</span> <a href="#" onclick="ajaxPopup(' + id + ', \'details\'); return false;">'
					+ desc + '</a><div class="clear">';
    			cartDiv.appendChild(newDiv);
    			cartAddedTo(newDiv);
    		}
    		data = eval("(" + data + ")");
    		subtotalDiv.innerHTML = data.subTotal;
    		document.getElementById('cartCount').innerHTML = cartItemCount;
    		if (data.nextAmount == "$0") {
    			hideAlert();
    			subtotalDivMsg.innerHTML = "You currently have " + data.discount + " in free tickets";
    			return;
    		}
    		subtotalDivMsg.innerHTML = (data.disUnused > 0 ? "You have $" + formatNumber(data.disUnused) + " worth of unused free tickets." : "Spend another " + data.nextAmount + " to get " + data.nextDiscount + " free.")
    		document.getElementById('freeTixAmt').innerHTML = data.discount;
    		document.getElementById('freeTixMore').innerHTML = data.nextAmount;
    		document.getElementById('freeTixMoreAward').innerHTML = data.nextDiscount;
    		showAlert();
    	}
    });
}
function cartServerChanged(hash) {
    //if (curCartHash == hash)
        return false;
    $.get('/Cart?r=' + Math.random(), function (data) {
        curCart = '';
        curCartHash = data.hash;
        cartDiv.innerHTML = '';
        var cartItem, newDiv;
        for (var i = 0; i < data.cartItems.length; i++) {
            cartItem = data.cartItems[i];
            curCart[cartItem.type + cartItem.id] = { qty: cartItem.qty };
            newDiv = document.createElement('div');
            newDiv.id = "cartItem" + cartItem.id;
            newDiv.className = 'headCartItem';
            newDiv.innerHTML = '<a style="left:0; position:relative; vertical-align:middle" href="#" onclick="removeFromCart(' + cartItem.id + ', \'z\'); return false;"><img src="/content/images/checkout-btn-remove.jpg" /></a>'
                + ' <a href="#" onclick="ajaxPopup(' + cartItem.id + ', \'details\'); return false;" class="headCartItemImg"><img src="/content/images/icon/' + cartItem.id + '"></a><a href="#" onclick="ajaxPopup(' + cartItem.id + ' , \'details\'); return false;">'
                + '<span id="cartQty' + cartItem.id + '">' + cartItem.qty + ' </span>' + cartItem.desc + '</a><div class="clear">';
            cartDiv.appendChild(newDiv);
        }
        subtotalDiv.innerHTML = data.subTotal;
        cartAddedTo();
    });
}
function removeFromCart(id, type) {
	$.post('/Cart/RemoveFromCart/' + id, { type: type }, function (data) {
		if (!cartServerChanged(data.cartHash)) {
			$("#cartItem" + id).remove();
			data = eval("(" + data + ")");
			subtotalDiv.innerHTML = data.subTotal;
			document.getElementById('cartCount').innerHTML = data.itemCount;
			if (data.nextAmount == "$0") {
				hideAlert();
				subtotalDivMsg.innerHTML = "You currently have " + data.discount + " in free tickets";
				return;
			}
			subtotalDivMsg.innerHTML = (data.disUnused > 0 ? "You have $" + formatNumber(data.disUnused) + " worth of unused free tickets." : "Spend another " + data.nextAmount + " to get " + data.nextDiscount + " free.")
			document.getElementById('freeTixAmt').innerHTML = data.discount;
			document.getElementById('freeTixMore').innerHTML = data.nextAmount;
			document.getElementById('freeTixMoreAward').innerHTML = data.nextDiscount;
			showAlert();
		}
	});
}

