var itemsInCart = 0;

var totalAmount = 0.00;

var creditCardsVisible = false;
var billingInfoVisible = false;
var shippingContainerVisible = false;
var shippingInfoVisible = false;
var checkoutVisible = false;

jQuery(document).ready(function($){
	$("div#products input[type=checkbox]").each(function(i){
		$(this).click(function(){
			var checked = this.checked;
			var name = $(this).attr('name');

			if( name )
			{
				var element_name = "tr#" + name;
				
				$("div#update-cart").show('medium');

				if( checked )
				{
					// in case we dont have any items in the cart we dont display the whole table
					if( !itemsInCart )
					{
						$("div#cart-container, div#billing, ul#supported-cards").removeClass('hidden').addClass('visible');
					}

					updateQuantity(name,1);

					$(element_name).removeClass('hidden').addClass('visible');

					itemsInCart++;
					
					$("div#update-cart").text('Please update your cart.');
				}
				else
				{
					$(element_name).removeClass('visible').addClass('hidden');

					updateQuantity(name,0);

					itemsInCart--;

					if( !itemsInCart )
					{
						$("div#cart-container, div#billing, ul#supported-cards").removeClass('visible').addClass('hidden');
				
						$("div#update-cart").text('Please select the products that you would like to buy.');
					}
				}
			}

			// if we have items in cart then we display the checkout option
			if( itemsInCart && !checkoutVisible )
			{
				$("div#billing").removeClass('hidden').addClass('visible');
			}
			else if( !itemsInCart && checkoutVisible )
			{
				$("div#billing").removeClass('visible').addClass('hidden');
			}
		});
	});

	$("table#summary td.quantity input").each(function(i){
		$(this).change(function(){
			if( isNaN(parseInt(this.value)) )
				this.value = 1;
		});
	});

	$("input.input-credit-card").click(function(){
		$("div#billing-address-form").addClass('visible').removeClass('hidden');
		$("input#button-continue").addClass('visible').removeClass('hidden');
		$("div#second-offer").show();
		$("div#second-offer-paypal").hide();
	});
	
	$("input.input-card-paypal").click(function(){
		$("div#billing-address-form,input#button-continue").addClass('hidden').removeClass('visible');
		$("div#second-offer, div#second-offer-paypal").show();
	});

	$("input#ShippingSameAsBilling").click(function(){
		var checked = this.checked;
		
		if( checked )
			$("div#shipping").addClass('hidden').removeClass('visible');
		else
			$("div#shipping").removeClass('hidden').addClass('visible');
	});
	
	$("div.tooltip div.tooltip-question a").mouseover( function() {
		var tooltipContainer = $(this).closest('div.tooltip');
		$("div.tooltip-text",tooltipContainer).show();
	});
	
	$("div.tooltip div.tooltip-question a").mouseout( function(){
		var tooltipContainer = $(this).closest('div.tooltip');
		$("div.tooltip-text",tooltipContainer).hide();
	});
	
	$("input#RecurringBillingProgram").click(function(){
		$("div#update-cart").show('medium');
		
		if( this.checked )
		{
			$("tr#AutoShippingCart").addClass('visible').removeClass('hidden');
		}
		else
		{
			$("tr#AutoShippingCart").removeClass('visible').addClass('hidden');
		}
	});
	
	$("div#second-offer input[type=checkbox]").click(function(){
		if( this.id != 'disable-second-offer' )
		{
			$("div#second-offer input#disable-second-offer").removeAttr('checked');
		}
	});
	
	$("input#disable-second-offer").click(function(){
		$("ul#second-offer-items li input").each(function(){
			this.checked = false;
		});
	});
});

function updateQuantity(itemName,quantity)
{
	$("tr#" + itemName + " td.quantity input").val(quantity);
}

function updateAmount(itemName,quantity)
{
	var subtracting = ( quantity == 0 ) ? true : false;
	
	quantity = ( subtracting ) ? 1 : quantity;

	switch( itemName )
	{
		case 'StarterSmall':
			var amount = products.StarterSmall * quantity;
			break;

		case 'StarterLarge':
			var amount = products.StarterLarge * quantity;
			break;

		case 'DeluxeSmall':
			var amount = products.DeluxeSmall * quantity;
			break;

		case 'DeluxeLarge':
			var amount = products.DeluxeSmall * quantity;
			break;

		case 'DogGrassSmall':
			var amount = products.DogGrassSmall * quantity;
			break;

		case 'DogGrassLarge':
			var amount = products.DogGrassLarge * quantity;
			break;

		case 'ReservoirSmall':
			var amount = products.ReservoirSmall * quantity;
			break;

		case 'ReservoirLarge':
			var amount = products.ReservoirLarge * quantity;
			break;

		case 'CleaningSpray1':
			var amount = products.CleaningSpray1 * quantity;
			break;

		case 'CleaningSpray2':
			var amount = products.CleaningSpray2 * quantity;
			break;

		case 'CleaningSpray8':
			var amount = products.CleaningSpray8 * quantity;
			break;

		case 'ReservoirPack':
			var amount = products.ReservoirPack * quantity;
			break;
	}

	// we need to make sure to remove all the items in the cart, which means the previous items
	if( subtracting )
	{
		totalAmount -= amount;
	}
	else
	{
		totalAmount += amount;
	}

	$("td#total-text span").text(totalAmount);

	$("tr#" + itemName + " td.amount").text(amount);
}
