function howPay(frm, ctl) { 
	return false; 
} 

function removeLeadingZeroes(ctl) { 
	ctl.value = ctl.value.replace(/^[0]+/g, ""); 
} 

function gotPaymentFields(frm) { 
	var paymentfields = new Array("x_card_num", "x_card_code", "x_exp_date", "x_first_name", "x_last_name", "x_address", "x_city", "x_state", "x_zip"); 
	for (i = 0; i < paymentfields.length; i++) { 
		if (frm.elements[paymentfields[i]].value == "") { 
			return false; 
		} 
	}
	return true; 
} 

function gotRequiredData(frm){ 

	var formname = document.forms[frm.name].elements['form-name'].value; 

	if (formname == "e-gift") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "your-email" || fields[i] == "recipient-email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
		} 
	
	} else if (formname == "auction") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "payhow") { 
						if (! frm.elements[fields[i]][0].checked && ! frm.elements[fields[i]][1].checked && ! frm.elements[fields[i]][2].checked) { 
							return false; 
						} 
					} else if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
		} 
		// Additional validation. 
		var msg = ''; 
		// Tickets. 
		if (! frm.elements['attendance-1'].checked && frm.elements['no-of-people'].value != "") { 
			msg = "You've entered the number of tickets you'd like to reserve, but you haven't confirmed you will be attending the 2009 Auction. Please confirm, by clicking the checkbox, that you will be attending. Thank you!"; 
		} 
		if (frm.elements['attendance-1'].checked && frm.elements['no-of-people'].value == "") { 
			msg = "You've confirmed you will be attending the 2009 Auction, but you haven't entered the number of tickets you'd like to reserve. Please enter the number of tickets you'd like to reserve. Thank you!"; 
		} 
		// Raffle tickets. 
		if (! frm.elements['attendance-2'].checked && (frm.elements['no-of-tickets-for-raffle-1'].value != "" || frm.elements['no-of-tickets-for-raffle-2'].value != "" || frm.elements['no-of-tickets-for-raffle-3'].value != "")) { 
			msg = "You've entered the number of raffle tickets to purchase, but you haven't confirmed that you'd like to purchase raffle tickets. Please confirm, by clicking the checkbox, that you would like to purchase raffle tickets. Thank you!"; 
		} 
		if (frm.elements['attendance-2'].checked && frm.elements['no-of-tickets-for-raffle-1'].value == "" && frm.elements['no-of-tickets-for-raffle-2'].value == "" && frm.elements['no-of-tickets-for-raffle-3'].value == "") { 
			msg = "You've confirmed you would like to purchase raffle tickets, but you haven't entered the number of raffle tickets you'd like to purchase. Please enter the number of raffle tickets you'd like to purchase. Thank you!";
		} 
		// Gift memberships. 
		if (! frm.elements['attendance-3'].checked && frm.elements['no-of-family-memberships'].value != "") {
			msg = "You've entered the number of Family Memberships you'd like to purchase, but you haven't confirmed that you'd like to purchase these memberships. Please confirm, by clicking the checkbox, that you would like to purchase these Family Memberships. Thank you!"; 
		}
		if (frm.elements['attendance-3'].checked && frm.elements['no-of-family-memberships'].value == "") {
			msg = "You've confirmed you would like to purchase Family Memberships, but you haven't entered the number of memberships you'd like to purchase. Please enter the number of Family Memberships you would like to purchase. Thank you!"; 
		}
		// Thank you gifts. 
		if (! frm.elements['thank-you-gift'].checked && frm.elements['no-of-thank-you-gifts'].value != "") {
			msg = "You've entered the number of Thank You gifts you'd like sent, but you haven't confirmed you'd like these gifts. Please confirm, by clicking the checkbox, that you would like these Thank You gifts sent. Thank you!"; 
		} 
		if (frm.elements['thank-you-gift'].checked && frm.elements['no-of-thank-you-gifts'].value == "") {
			msg = "You've indicated you'd like Thank You gifts, but you haven't entered the number of gifts sent. Please enter the number of Thank You gifts you would like sent. Thank you!"; 
		} 
		// Theatre donation. 
		if (! frm.elements['attendance-4'].checked && frm.elements['contribution'].value != "") {
			msg = "You've entered the amount you'd like to contribute to the Children's Museum & Theatre of Maine, but you haven't confirmed that you'd like to make this contribution. Please confirm, by clicking the checkbox, that you'd like to make this contribution. Thank you!"
		}
		if (frm.elements['attendance-4'].checked && frm.elements['contribution'].value == "") {
			msg = "You've indicated you'd like to make a contribution to the Children's Museum & Theatre of Maine, but you haven't entered an amount. Please enter an amount of your contribution. Thank you!"; 
		} 
		if (msg != "") { 
			alert(msg); 
			return false; 
		} 	
	
	} else if (formname == "birthday-contract-private") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "party-is") { 
						if (! frm.elements[fields[i]][0].checked && ! frm.elements[fields[i]][1].checked) { 
							return false; 
						} 
					} else if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
		} 

	} else if (formname == "birthday-contract-birthday-room") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "party-is") { 
						if (! frm.elements[fields[i]][0].checked && ! frm.elements[fields[i]][1].checked) { 
							return false; 
						} 
					} else if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
		}

	} else if (formname == "birthday-contract-dress-up-theatre") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "party-is") { 
						if (! frm.elements[fields[i]][0].checked && ! frm.elements[fields[i]][1].checked) { 
							return false; 
						} 
					} else if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			}
		} 
		
	} else if (formname == "business-membership") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "payhow") { 
						if (! frm.elements[fields[i]][0].checked && ! frm.elements[fields[i]][1].checked && ! frm.elements[fields[i]][2].checked) { 
							return false; 
						} 
					} else if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
		}
	
	} else if (formname == "camp-registration") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "payhow") { 
						if (! frm.elements[fields[i]][0].checked && ! frm.elements[fields[i]][1].checked && ! frm.elements[fields[i]][2].checked) { 
							return false; 
						} 
					} else if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else if (fields[i] == "email") { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
			if (isNaN(frm.elements['total-amount'].value) || ! isNaN(frm.elements['total-amount'].value) && frm.elements['total-amount'].value == 0) 
				return false; 
		}
		
	} else if (formname == "donation") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "payhow") { 
						if (! frm.elements[fields[i]][0].checked && ! frm.elements[fields[i]][1].checked && ! frm.elements[fields[i]][2].checked) { 
							return false; 
						} 
					} else if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
		}
		// Additional validation. 
		var msg = ''; 
		// One time donation. 
		if (! frm.elements['one-time-donation'].checked && frm.elements['one-time-amount'].value != "") { 
			msg = "You've entered a donation amount, but you haven't indicated that this is a one time donation. Please confirm that this is a one time donation. Thank you!"; 
		} 
		if (frm.elements['one-time-donation'].checked && frm.elements['one-time-amount'].value == "") { 
			msg = "You've indicated that this is a one time donation, but you haven't entered a donation amount. Please an amount for your one time donation. Thank you!"; 
		} 
		// Recurring donation. 
		if (! frm.elements['recurring-donation'].checked && (frm.elements['recurring-amount'].value != "" || frm.elements['number-of-months'].value != "" || frm.elements['recurring-amount-total'].value != "")) { 
			msg = "You've entered a donation amount, but you haven't indicated that this is a recurring donation. Please confirm that this is a recurring donation. Thank you!"; 
		} 
		if (frm.elements['recurring-donation'].checked && (frm.elements['recurring-amount'].value == "" || frm.elements['number-of-months'].value == "" || frm.elements['recurring-amount-total'].value == "")) { 
			msg = "You've indicated that this is a recurring donation, but you haven't entered a donation amount. Please enter a donation amount. Thank you!"; 
		} 
		// Quarterly pledge. 
		if (! frm.elements['pledge-quarterly'].checked && frm.elements['pledge-amount'].value != "") { 
			msg = "You've entered a pledge amount, but you haven't indicated that this is a quaterly pledge. Please confirm that this is a quaterly pledge. Thank you!"; 
		} 
		if (frm.elements['pledge-quarterly'].checked && frm.elements['pledge-amount'].value == "") { 
			msg = "You've indicated that this is a quarterly pledge, but you haven't entered a pledge amount. Please enter a pledge amount. Thank you!"; 
		} 
		// Employer match. 
		if (! frm.elements['employer-matches-gift'].checked && frm.elements['employer-name'].value != "") { 
			msg = "You've entered your employer's name, but you haven't indicated that tyour employer provides a employer match donation. Please confirm that your employer provides a employer match donation. Thank you!"; 
		}
		if (frm.elements['employer-matches-gift'].checked && frm.elements['employer-name'].value == "") { 
			msg = "You've indicated that your employer provides a employer match donation, but you haven't entered your employer's name. Please enter your employer's name. Thank you!"; 
		}
		if (msg != "") { 
			alert(msg); 
			return false; 
		} 	
		
	} else if (formname == "endowment") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "payhow") { 
						if (! frm.elements[fields[i]][0].checked && ! frm.elements[fields[i]][1].checked && ! frm.elements[fields[i]][2].checked) { 
							return false; 
						} 
					} else if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
		}
		// Additional validation. 
		var msg = ''; 
		// One time donation. 
		if (! frm.elements['one-time-donation'].checked && frm.elements['one-time-amount'].value != "") { 
			msg = "You've entered a donation amount, but you haven't indicated that this is a one time donation. Please confirm that this is a one time donation. Thank you!"; 
		} 
		if (frm.elements['one-time-donation'].checked && frm.elements['one-time-amount'].value == "") { 
			msg = "You've indicated that this is a one time donation, but you haven't entered a donation amount. Please an amount for your one time donation. Thank you!"; 
		} 
		// Recurring donation. 
		if (! frm.elements['recurring-donation'].checked && (frm.elements['recurring-amount'].value != "" || frm.elements['number-of-months'].value != "" || frm.elements['recurring-amount-total'].value != "")) { 
			msg = "You've entered a donation amount, but you haven't indicated that this is a recurring donation. Please confirm that this is a recurring donation. Thank you!"; 
		} 
		if (frm.elements['recurring-donation'].checked && (frm.elements['recurring-amount'].value == "" || frm.elements['number-of-months'].value == "" || frm.elements['recurring-amount-total'].value == "")) { 
			msg = "You've indicated that this is a recurring donation, but you haven't entered a donation amount. Please enter a donation amount. Thank you!"; 
		} 
		// Employer match. 
		if (! frm.elements['employer-matches-gift'].checked && frm.elements['employer-name'].value != "") { 
			msg = "You've entered your employer's name, but you haven't indicated that tyour employer provides a employer match donation. Please confirm that your employer provides a employer match donation. Thank you!"; 
		}
		if (frm.elements['employer-matches-gift'].checked && frm.elements['employer-name'].value == "") { 
			msg = "You've indicated that your employer provides a employer match donation, but you haven't entered your employer's name. Please enter your employer's name. Thank you!"; 
		}
		if (msg != "") { 
			alert(msg); 
			return false; 
		} 	
		
	} else if (formname == "event-registration") { 
		if (frm.elements['required-fields'].value != "") { 
			if (frm.elements['ismember'][0].checked) { 
				frm.elements['required-fields'].value = frm.elements['required-fields'].value + ",member-number"; 
			} 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
		}
		
	} else if (formname == "theatre-registration") { 
		if (frm.elements['required-fields'].value != "") { 
			if (frm.elements['ismember'][0].checked) { 
				frm.elements['required-fields'].value = frm.elements['required-fields'].value + ",member-number"; 
			} 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
		}
	
	} else if (formname == "facilities-rental") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
		}
	
	} else if (formname == "general-membership") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "payhow") { 
						if (! frm.elements[fields[i]][0].checked && ! frm.elements[fields[i]][1].checked && ! frm.elements[fields[i]][2].checked) { 
							return false; 
						} 
					} else if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else if (fields[i] == "membership") { 
						var ok = false; 				
					 	for (var j = 0; j < frm.elements[fields[i]].length; j++) { 
							if (frm.elements[fields[i]][j].checked)  
								ok = true; 
					 	} 
						if (! ok)  
							return false; 
					} else { 
						if (frm.elements[fields[i]].value == "")  
							return false; 
					} 
				} 
			} 
			if (frm.elements['gift-membership'].checked) { 
				if (frm.elements['gift-membership-from-name'].value == "" || frm.elements['gift-membership-from-address'].value == "" || frm.elements['gift-membership-from-city'].value == "" || frm.elements['gift-membership-from-state'].value == "" || frm.elements['gift-membership-from-zip'].value == "" || frm.elements['gift-membership-from-phone'].value == "" || frm.elements['gift-membership-from-email'].value == "") { 
					return false; 
				} 
				if (! frm.elements['gift-membership-from-email'].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
					return false; 
				} 
				if ((! frm.elements['send-membership-card'][0].checked && ! frm.elements['send-membership-card'][1].checked) || (! frm.elements['send-renewals'][0].checked && ! frm.elements['send-renewals'][1].checked)) { 
					return false; 
				} 
			} 
		} 
	
	} else if (formname == "golf-registration") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "payhow") { 
						if (! frm.elements[fields[i]][0].checked && ! frm.elements[fields[i]][1].checked && ! frm.elements[fields[i]][2].checked) { 
							return false; 
						} 
					} else if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
		} 
	
	} else if (formname == "kit-registration") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
		} 
	
	} else if (formname == "library-membership") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "payhow") { 
						if (! frm.elements[fields[i]][0].checked && ! frm.elements[fields[i]][1].checked && ! frm.elements[fields[i]][2].checked) { 
							return false; 
						} 
					} else if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else if (fields[i] == "one-membership") { 
						if (! frm.elements[fields[i]].checked) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
		} 
	
	} else if (formname == "non-profit-membership") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "payhow") { 
						if (! frm.elements[fields[i]][0].checked && ! frm.elements[fields[i]][1].checked && ! frm.elements[fields[i]][2].checked) { 
							return false; 
						} 
					} else if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
		} 

	} else if (formname == "outreach-registration") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
		}

	} else if (formname == "scholarship-membership-donation") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "payhow") { 
						if (! frm.elements[fields[i]][0].checked && ! frm.elements[fields[i]][1].checked && ! frm.elements[fields[i]][2].checked) { 
							return false; 
						} 
					} else if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
		}
		// Additional validation. 
		var msg = ''; 
		// One time donation. 
		if (! frm.elements['one-time-donation'].checked && frm.elements['one-time-amount'].value != "") { 
			msg = "You've entered a donation amount, but you haven't indicated that this is a one time donation. Please confirm that this is a one time donation. Thank you!"; 
		} 
		if (frm.elements['one-time-donation'].checked && frm.elements['one-time-amount'].value == "") { 
			msg = "You've indicated that this is a one time donation, but you haven't entered a donation amount. Please an amount for your one time donation. Thank you!"; 
		} 
		// Recurring donation. 
		if (! frm.elements['recurring-donation'].checked && (frm.elements['recurring-amount'].value != "" || frm.elements['number-of-months'].value != "" || frm.elements['recurring-amount-total'].value != "")) { 
			msg = "You've entered a donation amount, but you haven't indicated that this is a recurring donation. Please confirm that this is a recurring donation. Thank you!"; 
		} 
		if (frm.elements['recurring-donation'].checked && (frm.elements['recurring-amount'].value == "" || frm.elements['number-of-months'].value == "" || frm.elements['recurring-amount-total'].value == "")) { 
			msg = "You've indicated that this is a recurring donation, but you haven't entered a donation amount. Please enter a donation amount. Thank you!"; 
		} 
		// Employer match. 
		if (! frm.elements['employer-matches-gift'].checked && frm.elements['employer-name'].value != "") { 
			msg = "You've entered your employer's name, but you haven't indicated that tyour employer provides a employer match donation. Please confirm that your employer provides a employer match donation. Thank you!"; 
		}
		if (frm.elements['employer-matches-gift'].checked && frm.elements['employer-name'].value == "") { 
			msg = "You've indicated that your employer provides a employer match donation, but you haven't entered your employer's name. Please enter your employer's name. Thank you!"; 
		}
		if (msg != "") { 
			alert(msg); 
			return false; 
		} 	

	} else if (formname == "self-guided-group-registration") { 
		if (frm.elements['required-fields'].value != "") { 
			var fields = frm.elements['required-fields'].value.split(","); 
			if (fields.length > 0) { 
				for (var i = 0; i < fields.length; i++) { 
					if (fields[i] == "email") { 
						if (! frm.elements[fields[i]].value.match(/^[A-Za-z0-9_\+-]+(\.[A-Za-z0-9_\+-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.([A-Za-z]{2,4})$/)) { 
							return false; 
						} 
					} else { 
						if (frm.elements[fields[i]].value == "") { 
							return false; 
						} 
					} 
				} 
			} 
		}

	} 
	
	return true; 
	
} 

function calculateTotal(frm) { 
	var formname = document.forms[frm.name].elements['form-name'].value; 
	var totalamt = 0; 
	var grandtotalamt = 0; 

	if (formname == "auction") { 		
		if (frm.elements['attendance-1'].checked) { 
			if (frm.elements['no-of-people'].value != "")
				if (! isNaN(frm.elements['no-of-people'].value)) 
					totalamt = parseFloat(totalamt) + parseFloat(frm.elements['no-of-people'].value) * parseFloat(35); 
		} 
		if (frm.elements['attendance-2'].checked) { 
			var tickets = 0; 
			var price = 0; 
			if (frm.elements['no-of-tickets-for-raffle-1'].value != "") 
				if (! isNaN(frm.elements['no-of-tickets-for-raffle-1'].value)) 
					tickets = parseInt(tickets) + parseInt(frm.elements['no-of-tickets-for-raffle-1'].value); 
			if (frm.elements['no-of-tickets-for-raffle-2'].value != "") 
				if (! isNaN(frm.elements['no-of-tickets-for-raffle-2'].value)) 
					tickets = parseInt(tickets) + parseInt(frm.elements['no-of-tickets-for-raffle-2'].value); 
			if (frm.elements['no-of-tickets-for-raffle-3'].value != "") 
				if (! isNaN(frm.elements['no-of-tickets-for-raffle-3'].value)) 
					tickets = parseInt(tickets) + parseInt(frm.elements['no-of-tickets-for-raffle-3'].value); 
			if (tickets >= 10) 
				price = 7.5
			else if (tickets >= 5 && tickets < 10) 
				price = 10; 		
			else // if (tickets > 0 && tickets < 5) 
				price = 20; 
			totalamt = parseFloat(totalamt) + (parseFloat(tickets) * parseFloat(price)); 
		} 
		if (frm.elements['attendance-3'].checked) { 
			if (! isNaN(frm.elements['no-of-family-memberships'].value))
				totalamt = totalamt + parseInt(frm.elements['no-of-family-memberships'].value) * 95; 
		} 
		if (frm.elements['attendance-4'].checked) { 
			if (! isNaN(frm.elements['contribution'].value)) 
				totalamt = totalamt + parseInt(frm.elements['contribution'].value); 		
		} 
		frm.elements['total-amount'].value = totalamt; 

  } else if (formname == "business-membership") { 
		/* The amount is hand entered. So no calculations happen. */ 

	} else if (formname == "camp-registration") { 
		var noofcamps = 0; 
		var whichcamps = ''; 
		var addtlfees = 0; 
		var allfees = ""; 
		for (i = 0; i < frm.elements['which-camp'].length; i++) { 
			if (frm.elements['which-camp'][i].checked) { 
				if (frm.elements['which-camp'][i].value == "The Play's the Thing! (July 12-30)") 
					noofcamps = noofcamps + 0; 
				else 
					noofcamps = noofcamps + 1; 
				if (frm.elements['which-camp'][i].value == "Puppets and More! (June 28-July 2)") { 
					addtlfees = addtlfees + 20; 
					allfees += 150 + 20 - (frm.elements['member'][0].checked && frm.elements['member'][0].value == "Yes" ? 30 : 0) +"|"; 
				} else if (frm.elements['which-camp'][i].value == "Magical Myths (July 12-16)") { 
					addtlfees = addtlfees + 10; 
					allfees += 150 + 10 - (frm.elements['member'][0].checked && frm.elements['member'][0].value == "Yes" ? 30 : 0) +"|"; 
				} else if (frm.elements['which-camp'][i].value == "The Play's the Thing! (July 12-30)") { 
					if (frm.elements['member'][0].checked && frm.elements['member'][0].value == "Yes") { 
						addtlfees = addtlfees + 270; 
						allfees += "270|"; 
					} else { 
						addtlfees = addtlfees + 300; 
						allfees += "300|"; 
					} 
				} else if (frm.elements['which-camp'][i].value == "Under the Deep Blue Sea (July 19-23)") { 
					addtlfees = addtlfees + 10; 
					allfees += 150 + 10 - (frm.elements['member'][0].checked && frm.elements['member'][0].value == "Yes" ? 30 : 0) +"|"; 
				} else { 
					allfees += 150 - (frm.elements['member'][0].checked && frm.elements['member'][0].value == "Yes" ? 30 : 0) +"|"; 
				} 
				whichcamps += frm.elements['which-camp'][i].value +'\r'; 
			} 
		} 
		if (frm.elements['member'][0].checked && frm.elements['member'][0].value == "Yes") 
			totalamt = noofcamps * 120; 
		else 
			totalamt = noofcamps * 150; 		
		totalamt = totalamt + addtlfees; 
		allfees = allfees.substr(0, allfees.length - 1); 
		var allfeeslist = allfees.split("|"); 
		allfeeslist.sort(); 
		var discount = 0; 
		if (allfeeslist.length > 1) 
			discount = allfeeslist[allfeeslist.length - 2] / 2; 
		//if (noofcamps > 1) 
		//	if (frm.elements['member'][0].checked && frm.elements['member'][0].value == "Yes")
		//		totalamt = totalamt - 60; 
		//	else 
		//		totalamt = totalamt - 75; 
		//alert("Your discount: "+ discount); 
		frm.elements['total-amount'].value = totalamt; // - discount; 
		frm.elements['which-camps'].value = whichcamps; 

	} else if (formname == "daycare-membership") { 
		for (i = 0; i < frm.elements['membership'].length; i++) 
			if (frm.elements['membership'][i].checked)  
				totalamt = totalamt + parseFloat(frm.elements['membership'][i].value); 
		frm.elements['total-amount'].value = totalamt; 

	} else if (formname == "donation") { 
		if (frm.elements['one-time-donation'].checked) 
			if (frm.elements['one-time-amount'].value != "") 
				if (! isNaN(frm.elements['one-time-amount'].value)) { 
					grandtotalamt = grandtotalamt + parseFloat(frm.elements['one-time-amount'].value); 
					totalamt = totalamt + parseFloat(frm.elements['one-time-amount'].value); 
				} 
		if (frm.elements['recurring-donation'].checked) { 
			if (frm.elements['recurring-amount'].value != "" && frm.elements['number-of-months'].value != "") { 	
				if (! isNaN(frm.elements['recurring-amount'].value) && ! isNaN(frm.elements['number-of-months'].value)) { 
					frm.elements['recurring-amount-total'].value = parseFloat(frm.elements['recurring-amount'].value) * parseFloat(frm.elements['number-of-months'].value); 
					grandtotalamt = totalamt + parseFloat(frm.elements['recurring-amount-total'].value); 
					totalamt = totalamt + parseFloat(frm.elements['recurring-amount'].value); 
				} 
			} 	
		} 
		if (frm.elements['pledge-quarterly'].checked) { 
			if (frm.elements['pledge-amount'].value != "") { 
				if (! isNaN(frm.elements['pledge-amount'].value)) { 
					grandtotalamt = grandtotalamt + parseFloat(frm.elements['pledge-amount'].value); 
					totalamt = totalamt + parseFloat(frm.elements['pledge-amount'].value); 
				} 
			} 	
		} 
		frm.elements['total-amount'].value = totalamt; 
		frm.elements['grand-total-amount'].value = grandtotalamt; 

	} else if (formname == "endowment") { 
		if (frm.elements['one-time-donation'].checked) 
			if (frm.elements['one-time-amount'].value != "") 
				if (! isNaN(frm.elements['one-time-amount'].value)) 
					totalamt = totalamt + parseFloat(frm.elements['one-time-amount'].value); 
		if (frm.elements['recurring-donation'].checked) { 
			if (frm.elements['recurring-amount'].value != "" && frm.elements['number-of-months'].value != "") { 	
				if (! isNaN(frm.elements['recurring-amount'].value) && ! isNaN(frm.elements['number-of-months'].value)) { 
					frm.elements['recurring-amount-total'].value = parseFloat(frm.elements['recurring-amount'].value) * parseFloat(frm.elements['number-of-months'].value); 
					grandtotalamt = totalamt + parseFloat(frm.elements['recurring-amount-total'].value); 
					totalamt = totalamt + parseFloat(frm.elements['recurring-amount'].value); 
				} 
			} 	
		} 
		frm.elements['total-amount'].value = totalamt; 
		frm.elements['grand-total-amount'].value = grandtotalamt; 
		
	} else if (formname == "general-membership") { 
		for (i = 0; i < frm.elements['membership'].length; i++) 
			if (frm.elements['membership'][i].checked)  
				totalamt = totalamt + parseFloat(frm.elements['membership'][i].value); 
		if (frm.elements['additional-1'].checked) 
			totalamt = totalamt + parseFloat(frm.elements['additional-1'].value); 
		if (frm.elements['additional-2'].checked) 
			totalamt = totalamt + parseFloat(frm.elements['additional-2'].value); 
		if (frm.elements['additional-3'].checked)
			if (frm.elements['additional-amount'].value != "") 
				if (! isNaN(frm.elements['additional-amount'].value)) 
					totalamt = totalamt + parseFloat(frm.elements['additional-amount'].value); 
		if (frm.elements['additional-4'].checked) 
			totalamt = totalamt + parseFloat(frm.elements['additional-4'].value); 
		if (frm.elements['additional-5'].checked) 
			totalamt = totalamt + parseFloat(frm.elements['additional-5'].value); 
		frm.elements['total-amount'].value = totalamt; 		

	} else if (formname == "golf-registration") { 
		if (frm.elements['golfer-registration-foursome'].checked) { 
			if (frm.elements['sponsorship-1'].checked || frm.elements['sponsorship-2'].checked || frm.elements['sponsorship-3'].checked) { 
				totalamt = totalamt + 0; 
			} else if (frm.elements['sponsorship-4'].checked) { 
				totalamt = totalamt + 375; 
			} else { 
				totalamt = totalamt + 525; 
			} 
		} 
		if (frm.elements['golfer-registration-individual'].checked) { 
			if (frm.elements['sponsorship-4'].checked) {
				totalamt = totalamt + 0; 
			} else { 
				totalamt = totalamt + 150; 
			} 
		} 

// 		for (i = 0; i < frm.elements['sponsorship'].length; i++) { 
// 			if (frm.elements['sponsorship'][i].checked) { 
// 				if (frm.elements['sponsorship'][i].value.match(/Corporate\ Leader/)) 
// 					totalamt = totalamt + 2500; 
// 				else if (frm.elements['sponsorship'][i].value.match(/Lunch\ Reception\ Sponsor/)) 
// 					totalamt = totalamt + 1500; 
// 				else if (frm.elements['sponsorship'][i].value.match(/Goody\ Bag\ Sponsor/)) 
// 					totalamt = totalamt + 1200; 
// 				else if (frm.elements['sponsorship'][i].value.match(/Breakfast\ Sponsor/)) 
// 					totalamt = totalamt + 800; 
// 				else if (frm.elements['sponsorship'][i].value.match(/Snack\ Shack\ Sponsor/)) 
// 					totalamt = totalamt + 800; 
// 				else if (frm.elements['sponsorship'][i].value.match(/Cart\ Sponsor/)) 
// 					totalamt = totalamt + 800; 
// 				else if (frm.elements['sponsorship'][i].value.match(/Hole\ Sponsor/)) 
// 					totalamt = totalamt + 300; 
// 				else if (frm.elements['sponsorship'][i].value.match(/Gift\ Item\ Sponsor/)) 
// 					totalamt = totalamt + 0; 
// 				else if (frm.elements['sponsorship'][i].value.match(/Hole\-in\-One\ Sponsor/)) 
// 					totalamt = totalamt + 0; 
// 			} 

		for (i = 1; i <= frm.elements['number-of-sponsorships'].value; i++) { 
			if (frm.elements['sponsorship-'+ i].checked) { 
				if (frm.elements['sponsorship-'+ i].value.match(/Corporate\ Leader/)) 
					totalamt = totalamt + 2000; 
				else if (frm.elements['sponsorship-'+ i].value.match(/Lunch\ Reception\ Sponsor/)) 
					totalamt = totalamt + 1500; 
				else if (frm.elements['sponsorship-'+ i].value.match(/Continental\ Breakfast\ Sponsor/)) 
					totalamt = totalamt + 1000; 
				else if (frm.elements['sponsorship-'+ i].value.match(/Golf\ Cart\ Sponsor/)) 
					totalamt = totalamt + 750; 
				else if (frm.elements['sponsorship-'+ i].value.match(/Hole\ Sponsor/)) 
					totalamt = totalamt + 350; 
			} 

		} 
		frm.elements['total-amount'].value = totalamt; 		

	} else if (formname == "library-membership") { 
		if (frm.elements['one-membership'].checked) 
			totalamt = totalamt + 150; 
		if (frm.elements['additional-membership'].value != "") 
			if (! isNaN(frm.elements['additional-membership'].value)) 
				totalamt = totalamt + parseInt(frm.elements['additional-membership'].value) * 75; 
		frm.elements['total-amount'].value = totalamt; 		

	} else if (formname == "non-profit-membership") { 
		if (frm.elements['one-membership'].checked) 
			totalamt = totalamt + 150; 
		if (frm.elements['additional-membership'].value != "") 
			if (! isNaN(frm.elements['additional-membership'].value)) 
				totalamt = totalamt + parseInt(frm.elements['additional-membership'].value) * 75; 
		frm.elements['total-amount'].value = totalamt; 		

	} else if (formname == "scholarship-membership-donation") { 
		if (frm.elements['number-of-family-in-need-memberships'].value != "") { 
			if (! isNaN(frm.elements['number-of-family-in-need-memberships'].value)) { 
				grandtotalamt = grandtotalamt + parseInt(frm.elements['number-of-family-in-need-memberships'].value) * 95; 
				totalamt = totalamt + parseInt(frm.elements['number-of-family-in-need-memberships'].value) * 95; 		
			} 
		} 
		if (frm.elements['number-of-theatre-scholarships'].value != "") {
			if (! isNaN(frm.elements['number-of-theatre-scholarships'].value)) {
				grandtotalamt = grandtotalamt + parseInt(frm.elements['number-of-theatre-scholarships'].value) * 50; 
				totalamt = totalamt + parseInt(frm.elements['number-of-theatre-scholarships'].value) * 50; 				
			} 
		} 
		frm.elements['total-amount'].value = totalamt; 
		//frm.elements['grand-total-amount'].value = grandtotalamt; 
				
	} 
	return false; 
} 

function processCustomForm(frm) { 
	// alert('Processing form "'+ document.forms[frm.name].elements['form-name'].value +'"...\nProcessing script is "'+ frm.action +'"...\n'); 
	frm.action = document.forms[frm.name].elements['process-with'].value; 
	if (document.forms[frm.name].elements['do-what'].value == "Calculate Total") { 
		calculateTotal(frm); 
		return false; 
	} else { 
		if (confirm('Are you certain you want to submit this form\'s data?')) { 
			if (! gotRequiredData(frm)) { 
				alert("Not all required data is entered. Please enter all information denoted by the red dot, and submit your form again. Thank you!"); 
				return false; 
			} 
			
			/* alert(document.forms[frm.name].elements['form-name'].value +"\n"+ frm.elements['payhow'][0].checked +"\n"+ gotPaymentFields(frm)); 
			return false; */ 
			
			if (document.forms[frm.name].elements['form-name'].value == "auction" || document.forms[frm.name].elements['form-name'].value == "business-membership" || document.forms[frm.name].elements['form-name'].value == "camp-registration" || document.forms[frm.name].elements['form-name'].value == "daycare-membership" || document.forms[frm.name].elements['form-name'].value == "donation" || document.forms[frm.name].elements['form-name'].value == "endowment" || document.forms[frm.name].elements['form-name'].value == "general-membership" || document.forms[frm.name].elements['form-name'].value == "golf-registration" || 			document.forms[frm.name].elements['form-name'].value == "event-registration" || 			document.forms[frm.name].elements['form-name'].value == "theatre-registration" || 			document.forms[frm.name].elements['form-name'].value == "library-membership" || 			document.forms[frm.name].elements['form-name'].value == "non-profit-membership" || document.forms[frm.name].elements['form-name'].value == "scholarship-membership-donation") { 
				if (frm.elements['payhow'][0].checked) { 
					if (! gotPaymentFields(frm)) { 
						alert("Not all required data to process your payment online was entered. Please make certain you've entered your credit card information as it appears on your card. Thank you!"); 
						return false; 
					} 
					if (document.forms[frm.name].elements['form-name'].value == "event-registration" || 			document.forms[frm.name].elements['form-name'].value == "theatre-registration") { 
						if (parseFloat(document.forms[frm.name].elements['registrations'].value) > parseFloat(document.forms[frm.name].elements['available'].value)) { 
							alert('We\'re sorry. There isn\'t enough space available. Please contact CMTM.'); 
							return false; 
						} 
					} 
					if (document.forms[frm.name].elements['form-name'].value == "theatre-registration") { 
						if (document.forms[frm.name].elements['flex-pass'].value != "" && ! document.forms[frm.name].elements['flex-pass'].value.match(/^F(\d{4})$/)) { 
							alert('Please enter a valid Flex pass number.'); 
							return false; 
						} 
					} 
					//var win = window.open(frm.action, 'Process', 'width=420,height=380,scrollbars=1'); 
					//win.focus(); 
					//return false; 
					return true; 
				
				} 
			} 
			return true; 
		} 
	} 
	return false; 
} 

function auctionAttendance(frm, ctl) { 
// 	if (ctl.name == "attendance-4")  
// 		for (var i = 1; i <= 3; i++)  
// 			frm.elements['attendance-'+ i].checked = false; 
// 	else 
// 		frm.elements['attendance-4'].checked = false; 
} 
