function SalutationHandler(salutationList)
{
	var SelectedValue	= salutationList[salutationList.selectedIndex].value;
	
	if (SelecetedValue == "Other")
	{
		var NewSalutation	= prompt("Please enter your salutation:", "");
		salutationList.options[salutationList.options.length]	= new Option(NewSalutation, NewSalutation, false, true);
	}
}

function CountryHandler(country_option) 
{
	if (country_option.value == "Other Country")
	{
		var new_country = prompt("What country are you from?", "");
		country_option.value = new_country;
		country_option.text = new_country;
	}
}

function StateHandler(state_option)
{
	if (state_option.value == "Other Province")
	{
		var new_state = prompt("What state/province are you from?", "");
		state_option.value = new_state;
		state_option.text = new_state;
	}
}

function radioValidate(formfield)
{
	for (i=0; i<formfield.length; i++)
	{
		if (formfield[i].checked)
		{
			return true;
		}
	}
	return false;
}

function FormatCurrency(Amount) { 
	var i = parseFloat(Amount); 
	if(isNaN(i)) { i = 0.00; } 
	var minus = ''; 
	if(i < 0) { minus = '-'; } 
	i = Math.abs(i); 
	i = parseInt((i + .005) * 100); 
	i = i / 100; 
	s = new String(i); 
	if(s.indexOf('.') < 0) { s += '.00'; } 
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; } 
	s = minus + s; 
	return "$" + s; 
}

function CalculateAmount()
{
	DonationAmount	= 0;
	RenewalAmount	= 0;
	TotalAmount		= 0;
	
	var ContributionAmount	= document.getElementById("ContributionAmount").value.replace("$", "");
	
	if ((ContributionAmount != "") && (ContributionAmount != null) && (!isNaN(ContributionAmount)))
	{
		DonationAmount	= eval(ContributionAmount);
	}

	if (document.contributeform.TransactionType[0].checked)
	{
		document.contributeform.RenewalType[0].disabled	= true;
		document.contributeform.RenewalType[1].disabled	= true;
		document.contributeform.RenewalType[2].disabled	= true;
		document.contributeform.RenewalType[3].disabled	= true;
		document.contributeform.RenewalType[4].disabled	= true;
		document.contributeform.RenewalType[5].disabled	= true;
		RenewalAmount	= 0;
	}
	else if (document.contributeform.TransactionType[1].checked) {

		document.contributeform.RenewalType[0].disabled	= false;
		document.contributeform.RenewalType[1].disabled	= false;
		document.contributeform.RenewalType[2].disabled	= false;
		document.contributeform.RenewalType[3].disabled	= false;
		document.contributeform.RenewalType[4].disabled	= false;
		document.contributeform.RenewalType[5].disabled	= false;
		
		if (document.contributeform.RenewalType[0].checked)
		{
			RenewalAmount	= Cassette6;
		}
		else if (document.contributeform.RenewalType[1].checked)
		{
			RenewalAmount	= Cassette12;
		}
		else if (document.contributeform.RenewalType[2].checked)
		{
			RenewalAmount	= Cd6;
		}
		else if (document.contributeform.RenewalType[3].checked)
		{
			RenewalAmount	= Cd12;
		}
		else if (document.contributeform.RenewalType[4].checked)
		{
			RenewalAmount	= Download6;
		}
		else if (document.contributeform.RenewalType[5].checked)
		{
			RenewalAmount	= Download12;
		}
		else
		{
			RenewalAmount	= 0;
		}
	}

	TotalAmount	= DonationAmount + RenewalAmount;
	document.contributeform.DonationAmount.value	= FormatCurrency(DonationAmount);
	document.contributeform.RenewalAmount.value		= FormatCurrency(RenewalAmount);
	document.contributeform.TotalAmount.value		= FormatCurrency(TotalAmount);
}

function ValidateForm()
{
	CalculateAmount();

	valid = true;
	alertText = "Please check and/or provide the following information:\n"

	if ((document.contributeform.ContributionAmount.value == null) || (document.contributeform.ContributionAmount.value == ""))
	{
		alertText +="\n\t* Contribution Amount";
		valid = false;
	}

	if ((document.contributeform.FullName.value == null) || (document.contributeform.FullName.value == ""))
	{
		alertText +="\n\t* Your name";
		valid = false;
	}

	if ((document.contributeform.Address1.value == null) || (document.contributeform.Address1.value == ""))
	{
		alertText +="\n\t* Address 1";
		valid = false;
	}


	if ((document.contributeform.City.value == null) || (document.contributeform.City.value == ""))
	{
		alertText +="\n\t* City";
		valid = false;
	}


	if ((document.contributeform.State[document.contributeform.State.selectedIndex].value == null) || (document.contributeform.State[document.contributeform.State.selectedIndex].value == ""))
	{
		if (document.contributeform.Country[document.contributeform.Country.selectedIndex].value == "United States")
		{
			alertText +="\n\t* State";
			valid = false;
		}
	}


	if ((document.contributeform.PostalCode.value == null) || (document.contributeform.PostalCode.value == ""))
	{
		alertText +="\n\t* Postal code";
		valid = false;
	}

	if ((document.contributeform.Country[document.contributeform.Country.selectedIndex].value == null) || (document.contributeform.Country[document.contributeform.Country.selectedIndex].value == ""))
	{
		alertText +="\n\t* Country";
		valid = false;
	}


	if ((document.contributeform.CardNumber.value == null) || (document.contributeform.CardNumber.value == ""))
	{
		alertText +="\n\t* Credit card number";
		valid = false;
	}

	if (document.contributeform.CardType[3].checked)
	{
		if (document.contributeform.CardNumber.value.length != 15)
		{
			alertText += "\n\t* Your card number should be 15 digits";
			valid = false;
		}
	} 
	else
	{
		if (document.contributeform.CardNumber.value.length != 16)
		{
			alertText += "\n\t* Your card number should be 16 digits";
			valid = false;
		}
	}

	if (!radioValidate(contributeform.CardType))
	{
		alertText +="\n\t* Credit card type";
		valid = false;
	}

	if ((document.contributeform.ExpirationMonth[document.contributeform.ExpirationMonth.selectedIndex].value == null) || (document.contributeform.ExpirationMonth[document.contributeform.ExpirationMonth.selectedIndex].value == ""))
	{
		alertText +="\n\t* Card expiration month";
		valid = false;
	}


	if ((document.contributeform.ExpirationYear[document.contributeform.ExpirationYear.selectedIndex].value == null) || (document.contributeform.ExpirationYear[document.contributeform.ExpirationYear.selectedIndex].value == ""))
	{
		alertText +="\n\t* Card expiration year";
		valid = false;
	}


	if ((document.contributeform.CardName.value == null) || (document.contributeform.CardName.value == ""))
	{
		alertText +="\n\t* Name on credit card";
		valid = false;
	}
	
	if (document.getElementById("TotalAmount").value == "$0.00")
	{
		alertText	+= "\n\t* The total amount (renewal + contribution) is $0.00.";
		valid	= false;
	}

	if (valid)
	{
		return true;
	}
	else
	{
		alert(alertText)
		return false;
	}
}