// JavaScript for Education Foundation
// Jacob T
// 2006.01.10

// setup functions and attach to form elements
function setup ()
{
	if (document.location.href.indexOf("form_donor_card.html") != -1)
	{
		dc_formActivate(document.forms[0]);
	}
	else if(document.location.href.indexOf("form_membership.html") != -1)
	{
		m_formActivate(document.forms[0]);
	}
}


// common validation
function commonValidate (f)
{
	var amtPersonal, amtCompany;
	
	var fields = f.elements;
	var error = false;
	var arrCheck = new Array(
		new Array("first_name", "a first name"),
		new Array("last_name", "a last name"),
		new Array("email", "an E-mail address"),
		new Array("address1", "an address"),
		new Array("city", "a city"),
		new Array("state", "a state"),
		new Array("zip", "a zip code")
	);
	
	for (var i = 0; i < arrCheck.length; i++)
	{
		if (f.elements[arrCheck[i][0]].value == "")
		{
			alert("Please provide " + arrCheck[i][1]);
			f.elements[arrCheck[i][0]].focus();
			return false;
		}
	}
	
	var mailFilter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!mailFilter.test(f.elements['email'].value))
	{
		alert("Please provide a valid E-mail address");
		f.elements['email'].focus();
		return false;
	}
	
	return !error;
}

/******************************
 * Donor card below:
 ******************************/

function dc_formActivate (f)
{
	
}

function dc_validate (f)
{
	if (!commonValidate(f)) return false;
	
	// set amount var
	
	var error = false;
	var amount = 0.0;
	var amt_company = f.elements['company_amount'].value;
	var amt_personal = f.elements['personal_amount'].value;
	amt_company = (amt_company) ? parseFloat(amt_company) : 0.0;
	amt_personal = (amt_personal) ? parseFloat(amt_personal) : 0.0;

	if (f.elements['company'].checked)
	{
		if (amt_company == 0.0)
		{
			alert("Please enter an amount for company donation");
			f.elements['company'].focus();
			return false;
		}
		amount += amt_company;
		
		if (f.elements['company_name'].value == "")
		{
			alert("Please enter a company name");
			f.elements['company_name'].focus();
			return false;
		}
	}
	
	if (f.elements['personal'].checked)
	{
		if (!amt_personal)
		{
			alert("Please enter an amount for personal donation");
			f.elements['personal'].focus();
			return false;
		}
		amount += amt_personal;
	}
	
	if (!amount)
	{
		alert("Please check either Personal Pledge or Company Pledge and enter a donation amount");
		return false;
	}
	
	f.elements['amount'].value = amount;
	
	// work on custom var	
	f.elements['custom'].value = "donor|"
		+ f.elements['email'].value + "|"
		+ f.elements['address1'].value + "|"
		+ f.elements['city'].value + "|"
		+ f.elements['state'].value + "|"
		+ f.elements['zip'].value + "|"
		+ f.elements['personal'].checked + "|"
		+ f.elements['personal_amount'].value + "|"
		+ f.elements['company'].checked + "|"
		+ f.elements['company_amount'].value + "|"
		+ f.elements['company_name'].value + "|"
		+ f.elements['amount'].value;
	
	return !error;
}

/******************************
 * Membership below:
 ******************************/

function m_formActivate (f)
{
}

function m_validate (f)
{
	if (!commonValidate(f)) return false;
	
	// set amount var
	
	var error = false;
	var amount = 0.0;
	var radioGroup = f.elements['level'];
	for (var i = 0; i< radioGroup.length; i++) {
		if (radioGroup[i].checked) {
			amount = radioGroup[i].value;
		}
	}
	//amount = f.elements['level'].value;
	amount = (amount) ? parseFloat(amount) : 0.0;
	
	if (!amount)
	{
		alert("Please select a Membership Level");
		return false;
	}
	
	f.elements['amount'].value = amount;
	
	// work on custom var
	f.elements['custom'].value = "membership|"
		+ f.elements['email'].value + "|"
		+ f.elements['address1'].value + "|"
		+ f.elements['city'].value + "|"
		+ f.elements['state'].value + "|"
		+ f.elements['zip'].value + "|"
		+ f.elements['amount'].value + "|"
		+ f.elements['subscribe_mail'].checked + "|"
		+ f.elements['subscribe_email'].checked;
	return !error;
}

/******************************
 * Golf card below:
 ******************************/

function gc_validate (f)
{
	if (!commonValidate(f)) return false;
	
	// set amount var
	
	var error = false;
	var amount = 0.0;
	var radioGroup = f.elements['level'];
	for (var i = 0; i< radioGroup.length; i++) {
		if (radioGroup[i].checked) {
			amount = radioGroup[i].value;
		}
	}
	//amount = f.elements['level'].value;
	amount = (amount) ? parseFloat(amount) : 0.0;
	
	if (!amount)
	{
		alert("Please select a Donation Level");
		return false;
	}
	
	f.elements['amount'].value = amount;
	
	// work on custom var
	f.elements['custom'].value = "golf|"
		+ f.elements['email'].value + "|"
		+ f.elements['address1'].value + "|"
		+ f.elements['city'].value + "|"
		+ f.elements['state'].value + "|"
		+ f.elements['zip'].value + "|"
		+ f.elements['amount'].value + "|"
		+ f.elements['company_name'].value + "|"
		+ f.elements['phone'].value + "|"
		+ f.elements['subscribe_mail'].checked + "|"
		+ f.elements['subscribe_email'].checked + "|"
		+ f.elements['merchandise'].checked;
	return !error;
}

window.onload = setup;

