// Begin jQuery

$(document).ready(function(){

// Set variables
	$.metadata.setType('attr','data-json');
	
	function tallyGrandTotal()
	{
		var newGrandTotal = 0;
		$('.item-price-total').each(function(){
			newGrandTotal += parseFloat($(this).text());
		});
		
		$('.cart-grand-total').text($.addCommas(newGrandTotal.toFixed(2)));
	};
		
	$('table#table-cart tr.item').each(function(key,i){
		
	// Custom delete handler
		$('.click-delete',i).ajaxEventHandler({
			dataContainer:this,
			eventType:'click',
			actionController:$.jqPHP.getUrl('public-cart-item-delete'),
			success:[function(data){
				// Change class name so that the .click-delete class does not get re-enabled.
				$('.click-delete',i).attr('class','click-delete-remove');
				
				$(i).fadeOut('normal',function(){
					$(this).remove();
				});
			},showResponse]
		});
		
		var initialQty = $('.keyup-update',this).val();
		
	// Update item quantity and totals
		$('.keyup-update',this).ajaxEventHandler({
			dataContainer:this,
			eventType:'keyup',
			actionController:$.jqPHP.getUrl('public-cart-item-update'),
			beforeSend:[function(xhr,updateField){
				// Turn query into array
				if(typeof($(updateField).val()) == 'string'){
					if($(updateField).val() < 1 || isNaN($(updateField).val())){;
						xhr.abort();
						$('.pending-spinner').remove();
						$('.keyup-update').removeAttr('disabled');
					}
				}
			}],
			success:[showResponse]
		});
		
		$('.keyup-update',this).keyup(function(){
		
			var itemPrice = $(i).metadata().itemPriceRetail;
			var qty = $(this).val();

			if(qty !== '' && qty !== '0'){
				qty = parseInt(qty);
				$(this).val(qty);
				$(this).unbind('blur');
				initialQty = qty;
				$('.item-price-total',i).text(formatMoney((itemPrice * qty),'$',',','.'));
			}else{
				// don't leave quantity field blank
				$(this).unbind('blur').blur(function(){
					$(this).val(initialQty);
					$(this).trigger('keyup');
				});
			}
		});

		function showResponse( data )
		{
			var cartSubtotal = formatMoney(data.cart_total.grand_discount,'$',',','.');
			$('.cart-grand-total').text( cartSubtotal );
			$('.cart-grand-discount').text( '- '+ formatMoney(data.cart_total.grand_retail - data.cart_total.grand_discount,'$',',','.') );
			cartTotalMessageUpdate( data.cart_total.grand_discount );
			
			//$('#cart-stats .cart-item-count').text(data.cartItemCount);
			//$('#cart-stats .cart-subtotal').text( cartSubtotal );
		};
	});
	
	// Custom code
	function cartTotalMessageUpdate( cartSubtotal )
	{
		//$.voMessage.debug(cartSubtotal);
		if(cartSubtotal >= 300){
			if($('.cart-message.qualified').is(':hidden')){
				$('.cart-message.unqualified').fadeOut('fast',function(){
					$('.cart-message.qualified').fadeIn('fast');
				});
			}
		}else{
			$('.cart-message.unqualified .till-300').text(formatMoney(300 - cartSubtotal,'$',',','.'));
			
			if($('.cart-message.unqualified').is(':hidden')){
				$('.cart-message.qualified').fadeOut('fast',function(){
					$('.cart-message.unqualified').fadeIn('fast');
				});
			}
		}
	};
	
	cartTotalMessageUpdate( $('.cart-grand-total').text().replace(',','').replace('\$','') );
});
