function copyAddress() {
	document.order.del_address.value = document.order.comp_add.value;
	document.order.del_address_name.value = document.order.name.value;
	document.order.del_phone.value = document.order.phone.value;
	document.order.del_email.value = document.order.email_address.value;
}


function validateOrder(step) {

	switch (step) {
		case 'menu':
		
			if(parseFloat(window.total) == 0) {
				alert('You have not ordered any items. Please order enough items to meet the $75.00 minimum order requirement.');
				return false;
			} else if(parseFloat(window.total) < 75) {
				alert('There is a $75.00 minimum order requirement. Please order additional items to meet this minimum requirement.');
				return false;
			}
			
			return true;

			break;
			
		case 'account_returning':
		
			var error = 'Please fill in the following fields:\n';
			
			var email_address = document.order_returning.username.value;
			var password = document.order_returning.password.value;
		
			// check name field
			if (! email_address) {
				error += " * the Email Address.\n";
			}
			
			if (! password) {
				error += " * the Password.\n";
			}
			
			// check for errors and return boolean value
			if(error != 'Please fill in the following fields:\n') {
				alert(error);	// print error message
				return false;
			}
		
			return true;
			
			break;
			
		case 'account_new':
		
			var error = 'Please fill in the following fields:\n';
			
			var name = document.order.name.value;
			var company = document.order.company.value;
			var comp_add = document.order.comp_add.value;
			var phone = document.order.phone.value;
			var email_address = document.order.email_address.value;
		
			// check name field
			if (! name) {
				error += " * the Participant Name.\n";
			}
			
			if (! company) {
				error += " * the Company Name.\n";
			}
			
			if (! comp_add) {
				error += " * the Company Address.\n";
			}
			
			if (! phone) {
				error += " * the Contact Phone Number.\n";
			}
			
			if (! email_address) {
				error += " * the Email Address.\n";
			}
			
			// check for errors and return boolean value
			if(error != 'Please fill in the following fields:\n') {
				alert(error);	// print error message
				return false;
			}
		
			return true;
			
			break;
			
		case 'delivery':
		
			var error = 'Please fill in the following fields:\n';

			var delivery_date = document.order.delivery_date.value;
			var delivery_time = document.order.delivery_time.value;
			var del_address_name = document.order.del_address_name.value;
			var delivery = document.order.del_address.value;
			var del_phone = document.order.del_phone.value;
			var del_email = document.order.del_email.value;
			
			if (! delivery_date) {
				error += " * the Date of delivery.\n";
			}
			
			if (! delivery_time) {
				error += " * the Time of delivery.\n";
			}
			
			if (! delivery) {
				error += " * the Delivery Address.\n";
			}
			
			if (! del_address_name) {
				error += " * the Delivery Address Name.\n";
			}
			
			if (! del_phone) {
				error += " * the Delivery Phone Number.\n";
			}
			
			if (! del_email) {
				error += " * the Delivery Email Address.\n";
			}

			if(error != 'Please fill in the following fields:\n') {
				alert(error);	// print error message
				return false;
			}
						
			// if the requested delivery date is "tomorrow", then they can order until midnight, but should be warned if it is
			// after 4PM that it is at the discretion of the catering manager
			
			var notice = '';
			var bDateValid = false;
			
			var dNow = new Date();
			
			var dEarly = new Date();
				dEarly.setHours(16);
				dEarly.setMinutes(0);
				dEarly.setSeconds(0);
				dEarly.setMilliseconds(0);
				
			var dLate = new Date();
				dLate.setHours(0);
				dLate.setMinutes(0);
				dLate.setSeconds(0);
				dLate.setMilliseconds(0);
				dLate.setDate(dLate.getDate() + 1);
			
			var dRequested = Date.parse(document.order.delivery_date.value);
		
			if (dRequested.compareTo(dLate) < 0) {
				// it's requested for today or earlier, do not allow
				notice = 'Sorry, but we need twenty-four hours notice for orders. Please call our Catering Manager, Dan @ 877 - 577 - 3773.  We will always do our best to accommodate your catering needs!';
				bDateValid = false;
			} else {
				if (dRequested.compareTo(dLate) == 0) {
					// it is for tomorrow, need to check the current time to decide what message to show
					if (dNow.compareTo(dEarly) < 0) {
						notice = "";
						bDateValid = true;
					} else {
						notice = 'All catering orders received after 4PM on the day prior to delivery require a phone confirmation from our Catering Manager, Dan @ 877 - 577 - 3773.';
						bDateValid = true;
					}
				} else {
					notice = "";
					bDateValid = true;
				}
			}
			
			// check for errors and return boolean value
			if (notice != '') {
				alert(notice);
				return bDateValid;
			}
			
			return true;
		
			break;
			
		case 'billing':
		
			var error = 'Please fill in the following fields:\n';

			var paymentSel = false;
			for (var i = 0; i < document.order.payment.length; i++) {
				if (document.order.payment[i].checked) {
					paymentSel = true;
				}
			}
			if (!paymentSel) {
				error += " * the Delivery Email Address.\n";
			}
			
			if (document.order.payment[1].checked) {
				if (!document.order.CCName.value) {
					error += " * the Credit Card Billing Name.\n";
				}
				if (!document.order.CCNum.value) {
					error += " * the Credit Card Number.\n";
				}
				if (!document.order.CCZip.value) {
					error += " * the Credit Card Billing Zip Code.\n";
				}
				if (document.order.CCMon.selectedIndex == 0) {
					error += " * the Credit Card Expiration Month.\n";
				}
				if (document.order.CCYr.selectedIndex == 0) {
					error += " * the Credit Card Expiration Year.\n";
				}
					
			}

			if(error != 'Please fill in the following fields:\n') {
				alert(error);	// print error message
				return false;
			}

			return true;

			break;
			
	}

}