<!--

	var ocsfShoppingCart, ocsfInlineShoppingCart;
	$(document).ready(function(){
		ocsfShoppingCart = new OCSF_ShoppingCart();
		ocsfInlineShoppingCart = new OCSF_InlineShoppingCart();
	});

/*
		checkQuantity: function( isSubmitting )
		{
			var productId = $('#change_quantity_product_id').val();
			if( !productId ) return false;

			var error = '', product = products[ productId ], selectedIndex, quantity, partial;
			$('#change_quantity_quantity_in_cart_whole').val( $('#change_quantity_quantity_in_cart_whole').val().replace(/[^0-9]+/g,'') );
			quantity = (isNaN(Number($('#change_quantity_quantity_in_cart_whole').val())) ? 0 : Number($('#change_quantity_quantity_in_cart_whole').val()))
				+ (isNaN(Number($('#change_quantity_quantity_in_cart_partial').val())) ? 0 : Number($('#change_quantity_quantity_in_cart_partial').val()));
			if( quantity > product.availableQuantity ) {
				var availableQuantity = product.availableQuantity;

				if( !product.isFabric() ) {
					availableQuantity = parseInt( availableQuantity, 10 );
				}
				unitName = product.getUnitLabel( availableQuantity );
				error += "Sorry, we only have " + availableQuantity + ' ' + unitName + ' available to buy for ' + product.originalManufacturerCode + '.';
				$('#change_quantity_quantity_in_cart_whole').val( parseInt( product.availableQuantity, 10 ) );
				partial = product.availableQuantity - parseInt( availableQuantity, 10 );
				selectedIndex = 0;
				if( partial==.25 ) selectedIndex=1;
				else if( partial==.5 ) selectedIndex=2;
				else if( partial==.75 ) selectedIndex=3;
				$('#change_quantity_quantity_in_cart_partial').attr('selectedIndex', selectedIndex);
			} else if( isSubmitting && quantity==0 ) {
				error += "Please enter a quantity.";
			} else if( isSubmitting && quantity < .5 && quantity > 0 ) {
				error += "Sorry, our minimum order is \275 yard.";
			}
			
			if( error=='' ) {
				return true;
			} else {
				alert(error);
				return false;
			}
		}
*/

	var OCSF_InlineShoppingCart = Class.create({
		
		allow_submit: false,
		
		check_availability: function()
		{
			var m = $(this).attr('name').match(/quantity_(partial|whole)\[([0-9]+)\]/);
			if( m && products[ m[2] ] ) {
				var product = products[ m[2] ];
				$('#quantity_whole'+product.productId).val( $('#quantity_whole'+product.productId).val().replace(/[^0-9]+/,'') );
				var requestedQuantity = parseInt( $('#quantity_whole'+product.productId).val(), 10 ) + parseInt( $('#quantity_partial'+product.productId).val(), 10 );

				var requestedQuantity = (isNaN(Number($('#quantity_whole'+product.productId).val())) ? 0 : Number($('#quantity_whole'+product.productId).val()))
					+ (isNaN(Number($('#quantity_partial'+product.productId).val())) ? 0 : Number($('#quantity_partial'+product.productId).val()));

				var error = false;
				dbg( requestedQuantity +' > '+product.availableQuantity );
				if( requestedQuantity > product.availableQuantity ) {
					$('#quantity_whole'+product.productId).val( parseInt( product.availableQuantity, 10 ) );
					$('#quantity_partial'+product.productId).val( new String(product.availableQuantity - Math.floor( product.availableQuantity )).replace(/^0/,'') );
					dbg(''+product.availableQuantity - Math.floor( product.availableQuantity ));
					error = "Sorry, we only have " + product.availableQuantity + ' ' + product.getUnitLabel( product.availableQuantity ) + ' available to buy for ' + product.originalManufacturerCode + '.';
				} else if( requestedQuantity < .5 && requestedQuantity > 0 ) {
					error = "Sorry, our minimum order is \275 yard.";
				}
				
				if( error ) {
					alert(error);
					return false;
				}
				return true;
			}
		},
		
		remove_product: function()
		{
			var m = $(this).attr('id').match(/remove_product([0-9]+)/);
			if( m && products[ m[1] ] ) {
				var product = products[ m[1] ];
				$('#quantity_whole'+product.productId).val( 0 );
				$('#quantity_partial'+product.productId).val( 0 );
			}
		},
		
		remove_all_products: function() {
			if( confirm('Are you sure you want to remove these products from your cart?') ) {
				$('.quantity_whole').val(0);
				$('.quantity_partial').val('');
				
				this.allow_submit = true;
				$('.shopping_cart_body_inline form').get(0).submit();
			}
		},
		
		init: function()
		{
			if( $('.shopping_cart_body_inline_container').length ) {
				$('.shopping_cart_body_inline .quantity_partial').change( this.check_availability );
				$('.shopping_cart_body_inline .quantity_whole').change( this.check_availability );
				$('.shopping_cart_body_inline .product_remove_product a').click( this.remove_product );
				$('#remove_products').click( this.remove_all_products.bind(this) );
				$('#notification_okay').click(function(){
					location.href = location.href;
				});
				$('#submit_products').click(function(){
					this.allow_submit = true;
					$('.shopping_cart_body_inline form').submit();
				}.bind(this));
				
				$('.shopping_cart_body_inline form').submit(function(){
					return this.allow_submit;
				}.bind(this));

				setTimeout( function(){
					$('.simplemodal-wrap').css({
						'overflow-y':'auto ! important',
						'overflow-x':'hidden ! important'
					});
					
					$('.shopping_cart_body_inline_container').modal({
						overlayId: 'dialog_overlay',
						escClose: false
					});
				}, 300 );
			}
		}		
	});
	
	var OCSF_ShoppingCart = Class.create({
		defaultDuration: .3,
		isEffectRunning: [],
		
		emptyCart: function()
		{
			if( confirm("Are you sure you want to empty your shopping cart?\n\nThis cannot be undone.") ) {
				location.href = "shoppingcart.php?emptycart=true";
			}
		},

		saveChanges: function()
		{
			var productId = $('#change_quantity_product_id').val();
			if( !productId || !this.checkQuantity( 1 ) ) return false;

			if($('#change_quantity_buttons')) $('#change_quantity_buttons').hide();
			if($('#change_quantity_saving_changes')) $('#change_quantity_saving_changes').show();
			$('#quantity_whole'+productId).val( $('#change_quantity_quantity_in_cart_whole').val() ); 
			$('#quantity_partial'+productId).val( $('#change_quantity_quantity_in_cart_partial').val() );
			
			$('#shopping_cart_form').submit();
		},
		
		updateQuantity: function(productId)
		{
			$('#change_quantity_form').modal({
				overlayId: 'dialog_overlay',
				escClose: true
			});
			
			var product = products[ productId ];
			$('#change_quantity_product_id').val( product.productId );
			var imageFilenameSuffix = '';
			if(	product.isFatQuarterPack() ) {
				imageFilenameSuffix = 'r';
			}
			$('#change_quantity_img').attr( 'src', imgPath + product.productId + 'tn124' + imageFilenameSuffix + '.jpg' );
			$('#change_quantity_manufacturer').html( product.manufacturer );
			$('#change_quantity_fabric_line_name').html( product.fabricLineName );
			$('#change_quantity_manufacturer_code').html( product.originalManufacturerCode );
			$('#change_quantity_price').html( product.price.toFixed(2) );
			$('#change_quantity_available_quantity').html( product.availableQuantity );
			$('#change_quantity_number_of_fabrics').html( product.numberOfFabrics );
			$('#change_quantity_quantity_in_cart_whole').val( parseInt( product.quantityInCart, 10 ) );

			var partial = product.quantityInCart - parseInt( product.quantityInCart, 10 );
			var selectedIndex = 0;
			if( partial==.25 ) selectedIndex = 1;
			else if( partial==.5 ) selectedIndex = 2;
			else if( partial==.75 ) selectedIndex = 3;
			$('#change_quantity_quantity_in_cart_partial').attr('selectedIndex', selectedIndex);
			
			if( product.fabricLineName=='' ) {
				$('#change_quantity_fabric_line_name_container').hide();
			} else {
				$('#change_quantity_fabric_line_name_container').show();
			}
			$('#change_quantity_number_of_fabrics_container').hide();
			if( product.isPanel() ) {
				$('.change_quantity_type_panel').show();
				$('.change_quantity_type_fabric').hide();
				$('.change_quantity_type_fat_quarter_pack').hide();
				$('.change_quantity_type_precut').hide();
			} else if( product.isPrecut() ) {
				$('.change_quantity_type_panel').hide();
				$('.change_quantity_type_fabric').hide();
				$('.change_quantity_type_fat_quarter_pack').hide();
				$('.change_quantity_type_precut').show();
			} else if( product.isFatQuarterPack() ) {
				$('.change_quantity_type_panel').hide();
				$('.change_quantity_type_fabric').hide();
				$('.change_quantity_type_fat_quarter_pack').show();
				$('.change_quantity_type_precut').hide();
				$('#change_quantity_number_of_fabrics_container').show();
			} else {
				$('.change_quantity_type_panel').hide();
				$('.change_quantity_type_fabric').show();
				$('.change_quantity_type_fat_quarter_pack').hide();
				$('.change_quantity_type_precut').hide();
			} 
			
			if( $('#change_quantity_quantity_in_cart_whole') ) $('#change_quantity_quantity_in_cart_whole').focus();
			if( $('#change_quantity_quantity_in_cart_whole') ) $('#change_quantity_quantity_in_cart_whole').select();
		},
		
		removeProduct: function(productId)
		{
			if( !confirm('Are you sure you want to remove this product from your cart?') ) return;
			$('#quantity_whole' + productId).val( '0' ); 
			$('#quantity_partial' + productId).val( '0' );
			setTimeout( function(){$('#shopping_cart_form').submit()}, 100 ); // IE6 is stupid
		},

		toggleAllGroups: function()
		{
			var id=0;
			var count=0;
			var isFirstElementHidden = $('#shopping_cart'+id).css('display')=='none' ? true : false;
			while( $('#shopping_cart'+id) ) {
				if( isFirstElementHidden ) {
					if( $('#shopping_cart'+id).css('display')=='none' ) {
						// for whatever reason, it doesn't animate otherwise
						//this.groupToggle(id);
						setTimeout( this.groupToggle.bind(this,id), 0 );
					}
				} else {
					if( $('#shopping_cart'+id).css('display')=='block' ) {
						setTimeout( this.groupToggle.bind(this,id), 0 );
					}
				}
				if( id++>10000 ) return; // just in case
			}
		},

		groupToggle: function(id,quickToggle)
		{
			$('#show_hide_link_show'+id).toggle();
			$('#show_hide_link_hide'+id).toggle();
			$('#shopping_cart'+id).slideToggle();
		},
		
		checkQuantityOnEnter: function(e)
		{
		if (!e) var e = window.event;
			var code=e.keyCode ? e.keyCode:e.which; 
			if( code==13 ) this.saveChanges();
		},

		checkQuantityAndSubmit: function()
		{
			if( this.checkQuantity( 1 ) ) { 
				$('#shopping_cart_form').submit();
			}
		},
		
		checkQuantity: function( isSubmitting )
		{
			var productId = $('#change_quantity_product_id').val();
			if( !productId ) return false;

			var error = '', product = products[ productId ], selectedIndex, quantity, partial;
			$('#change_quantity_quantity_in_cart_whole').val( $('#change_quantity_quantity_in_cart_whole').val().replace(/[^0-9]+/g,'') );
			quantity = (isNaN(Number($('#change_quantity_quantity_in_cart_whole').val())) ? 0 : Number($('#change_quantity_quantity_in_cart_whole').val()))
				+ (isNaN(Number($('#change_quantity_quantity_in_cart_partial').val())) ? 0 : Number($('#change_quantity_quantity_in_cart_partial').val()));
			if( quantity > product.availableQuantity ) {
				var availableQuantity = product.availableQuantity;

				if( !product.isFabric() ) {
					availableQuantity = parseInt( availableQuantity, 10 );
				}
				unitName = product.getUnitLabel( availableQuantity );
				error += "Sorry, we only have " + availableQuantity + ' ' + unitName + ' available to buy for ' + product.originalManufacturerCode + '.';
				$('#change_quantity_quantity_in_cart_whole').val( parseInt( product.availableQuantity, 10 ) );
				partial = product.availableQuantity - parseInt( availableQuantity, 10 );
				selectedIndex = 0;
				if( partial==.25 ) selectedIndex=1;
				else if( partial==.5 ) selectedIndex=2;
				else if( partial==.75 ) selectedIndex=3;
				$('#change_quantity_quantity_in_cart_partial').attr('selectedIndex', selectedIndex);
			} else if( isSubmitting && quantity==0 ) {
				error += "Please enter a quantity.";
			} else if( isSubmitting && quantity < .5 && quantity > 0 ) {
				error += "Sorry, our minimum order is \275 yard.";
			}
			
			if( error=='' ) {
				return true;
			} else {
				alert(error);
				return false;
			}
		}
	});
-->

