
			// ESSENTIAL GLOBALS

			var ItemNames = new Array("one","david","shannon","israel","galaedael");

			
			// FUNCTIONS used by the order form			

			function recalculateOrderFormTotals(OrderFormIN)
			{

				var BasePBPrice = parseFloat(OrderFormIN.of_pb_price.value);
				var BaseECPrice = parseFloat(OrderFormIN.of_ec_price.value);
				var BaseShippingCost = 2.0;
				
				var Total = 0.0;
				var ShippingCost = 0.0;
				
			
				var PBQuantityTotal = 0;
				var ECQuantityTotal = 0;
				var PBDiscount = 0.0
				var PBPrice = BasePBPrice;
				var ECPrice = BaseECPrice;
				var TempItem;
				var TempName;


				// Calculate Quantity Totals
				PBQuantityTotal = 0;
				for(i=0;i<ItemNames.length;i++)
				{
					TempItem = ItemNames[i];
					TempName = 'of_pb_'+TempItem+'_quantity';
					if(!isNaN(parseInt(OrderFormIN[TempName].value)))PBQuantityTotal += parseInt(OrderFormIN[TempName].value);
				}
			
				ECQuantityTotal = 0;
				for(i=0;i<ItemNames.length;i++)
				{
					TempItem = ItemNames[i];
					TempName = 'of_ec_'+TempItem+'_quantity';
					if(!isNaN(parseInt(OrderFormIN[TempName].value)))ECQuantityTotal += parseInt(OrderFormIN[TempName].value);
				}
			
				// Determine and set Papaerback Book Discount	
				PBDiscount = 0.0;
				if (PBQuantityTotal >= 6) PBDiscount = 1.00;
				else if ((PBQuantityTotal >= 3)&&(PBQuantityTotal <= 5)) PBDiscount = .50;
				else PBDiscount = 0.00;
	
				TempElement = document.getElementById('item_discount_label');
				if (PBDiscount>0.0) TempElement.style.visibility = "visible";	
				else TempElement.style.visibility = "hidden";	

			
				// Determine and set Shipping Cost
				ShippingCost = 0.00;
				if (PBQuantityTotal != 1) ShippingCost = 0.00;
				else ShippingCost = 2.00;

				TempElement = document.getElementById('shipping_cost');
				if ((PBQuantityTotal>0)&&(ShippingCost == 0.00)) TempElement.innerHTML="<span style=\"color: green;\">FREE</span>";				
				else TempElement.innerHTML="$"+ShippingCost.toFixed(2);				
	



				// Determine and set totals
				Total = ShippingCost;

				PBPrice = BasePBPrice - PBDiscount;

				var PBSubtotal = new Array();
				var ECSubtotal = new Array();
				
				for(i=0;i<ItemNames.length;i++)
				{
					var TempItem = ItemNames[i];

					if ((isNaN(parseInt(OrderFormIN['of_pb_'+TempItem+'_quantity'].value)))||(parseInt(OrderFormIN['of_pb_'+TempItem+'_quantity'].value
)<0))
					{
						PBSubtotal[TempItem] = 0;
					}
					else PBSubtotal[TempItem] = parseInt(OrderFormIN['of_pb_'+TempItem+'_quantity'].value) * PBPrice;				
					TempElement = document.getElementById('pb_'+TempItem+'_subtotal');
					TempElement.innerHTML="$"+PBSubtotal[TempItem].toFixed(2);				
				
					if ((isNaN(parseInt(OrderFormIN['of_ec_'+TempItem+'_quantity'].value)))||(parseInt(OrderFormIN['of_ec_'+TempItem+'_quantity'].value
)<0))
					{
						ECSubtotal[TempItem] = 0;
					}
					else ECSubtotal[TempItem] = parseInt(OrderFormIN['of_ec_'+TempItem+'_quantity'].value) * ECPrice;
					TempElement = document.getElementById('ec_'+TempItem+'_subtotal');
					TempElement.innerHTML="$"+ECSubtotal[TempItem].toFixed(2);				
	
					Total += (PBSubtotal[TempItem]+ECSubtotal[TempItem]);				
					
					TempElement = document.getElementById('pb_'+TempItem+'_discount');
					if (PBDiscount > 0.0) TempElement.innerHTML="- $"+PBDiscount.toFixed(2);				
					else TempElement.innerHTML="";

				}// for calculating subtotals and total

				// Set Total
				TempElement = document.getElementById('total');
				TempElement.innerHTML="$"+Total.toFixed(2);				

				//alert("pb_price: "+PBPrice+"\nec_price: "+ECPrice+"\nbase_shipping: "+BaseShippingCost+"\nRecalculating Total as: "+Total);

			}// recalculateOrderFormTotals

			function submitOrderForm(OrderFormIN,PayPalFormIN)
			{
				
				var PPForm = PayPalFormIN;
				var OForm = OrderFormIN;
				var TempItem;
				var TempName;

				if(typeof OrderFormIN == "undefined") OForm = document.order_form;
				if(typeof PayPalFormIN == "undefined") PPForm = document.paypal_form;
	
				//alert("Submitting to PayPal");
				
				var OrderName = "";
			
				var IsOrderValid = false;
			
				
				// IMPORTANT
				recalculateOrderFormTotals(OForm);

				
				// Add stuff to the name
				for(i=0;i<ItemNames.length;i++)
				{
					TempItem = ItemNames[i];
					TempName = 'of_pb_'+TempItem+'_quantity';
					TempQuantity = parseInt(OForm[TempName].value);
					if
					(
						(!isNaN(TempQuantity))
						&&
						(TempQuantity > 0)
					)
					{
						if(IsOrderValid)OrderName += " & ";
						OrderName += ""+TempQuantity+" "+TempItem.toUpperCase(TempItem)+" paperback";
						if(TempQuantity>1) OrderName +="s";
						OrderName += "\n";
						IsOrderValid = true;
					}
				}
			
				ECQuantityTotal = 0;
				for(i=0;i<ItemNames.length;i++)
				{
					TempItem = ItemNames[i];
					//alert(TempItem);
					TempName = 'of_ec_'+TempItem+'_quantity';
					TempQuantity = parseInt(OForm[TempName].value);
					if
					(
						(!isNaN(TempQuantity))
						&&
						(TempQuantity > 0)
					)
					{
						if(IsOrderValid)OrderName += " & ";
						OrderName += ""+TempQuantity+" "+TempItem.toUpperCase(TempItem)+" PDF";
						if(TempQuantity>1) OrderName +="s";
						//else OrderName +="";
						OrderName += "\n";
						IsOrderValid = true;
					}
				}
				
				if(!IsOrderValid) 
				{
					alert("WARNING: Your order is empty?");
					return;
				}

				var TotalText = String(document.getElementById('total').innerHTML);
				var ShippingCostText = String(document.getElementById('shipping_cost').innerHTML);
				var Total;
				var ShippingCost;

				
				if(ShippingCostText.toUpperCase().search('FREE') != -1)ShippingCostText = "0";
				if(TotalText.toUpperCase().search('FREE') != -1)TotalText = "0"; // Important to set as textg

				if(TotalText.substr(0,1)=='$')Total = TotalText.substr(1); 
				else Total = TotalText;

				
				if(ShippingCostText.substr(0,1)=='$')ShippingCost = ShippingCostText.substr(1); 
				else ShippingCost = ShippingCostText;
				
				if(isNaN(Total) || isNaN(ShippingCost || (typeof PPForm == 'undefined'))) 
				{	
					alert("WARNING: Total:"+Total+" or shipping cost:"+ShippingCost+" is not a number?");
					return;
					IsOrderValid = false;
				}
				else
				{
					Total = parseFloat(Total);
					ShippingCost = parseFloat(ShippingCost);
				}


				if(IsOrderValid)
				{
					
					//OrderName = OrderName.replace(/\n/g,'<br>');
					//OrderName = OrderName.replace(/\s+/g,'&nbsp;');
					//OrderName = OrderName.replace(/\n/g,'&nbsp;  &nbsp;');
					
					// Set the PayPal form up and submit
					if(ShippingCost>0)PayPalAmount = Total-ShippingCost;
					else PayPalAmount = Total;

					PPForm.item_name.value = OrderName;
					PPForm.amount.value    = PayPalAmount;
					PPForm.shipping.value  = ShippingCost;

					// UN "Steralize" input?
					
					//alert(OrderName);
					//alert(Total);
					//alert(ShippingCost);

					PPForm.submit();

				}
				else alert("Your order is empty or invalid. Please make adjustments to the form and resubmit.");
			
			}// submitOrderForm


