﻿function ResetPledgeForm()
{
	document.getElementById("prefix").value = "";
	document.getElementById("firstName").value = "";
	document.getElementById("middleName").value = "";
	document.getElementById("lastName").value = "";
	document.getElementById("address1").value = "";
	document.getElementById("address2").value = "";
	document.getElementById("city").value = "";
	document.getElementById("state").selectedIndex = 46; //WA state
	document.getElementById("zipCode").value = "";
	document.getElementById("phone").value = "";
	document.getElementById("company").value="";
	document.getElementById("email").value = "";
	document.getElementById("selectAmount").selectedIndex = 0;
	document.getElementById("taxReceiptNo").checked = "checked";
	return false;
}

function ValidateZip(strValue)
{
	//99999
	var objRegExp  = /(^\d{5}$)/;
 
	//check for valid US Zipcode
	return objRegExp.test(strValue);
}

function DisplayPledgeTextbox()
{
    if(document.getElementById("selectAmount").value == "other_amount")
    {
      document.getElementById("tdPledgeAmount").style.display = "block";  
      document.getElementById("pledgeAmount").focus();
    }
    else
    {
        document.getElementById("tdPledgeAmount").style.display = "none";
    }
}

function ValidatePhone(strValue)
{
	var stripped = strValue.replace(/[\(\)\.\-\ ]/g, '');
	//strip out acceptable non-numeric characters
	return !isNaN(parseInt(stripped)) && stripped.length == 10;
}

function ValidateEmail(str)
{
	var emailFilter=/^.+@.+\..{2,3}$/;
	return emailFilter.test(str);
}

function ValidatePledgeAmount(str)
{
	if(str == "")
	{
		return false;
	}
	var amountFilter = /^\d+(,\d+)*$/;
	return amountFilter.test(str);
}

function ValidatePledgeForm()
{
    if(document.getElementById("firstName").value == "")
    {
        alert("Please enter your first name");
        return false;
    }
    if(document.getElementById("lastName").value == "")
    {
        alert("Please enter your last name");
        return false;
    }
    if(document.getElementById("address1").value == "")
    {
        alert("Please enter your street address");
        return false;
    }
    if(document.getElementById("city").value == "")
    {
        alert("Please enter your city of residence");
        return false;
    }
    if(!ValidateZip(document.getElementById("zipCode").value))
    {
        alert("Please enter your 5-digit ZIP code");
        return false;
    }
    if(!ValidatePhone(document.getElementById("phone").value))
    {
        alert("Please enter a valid phone number in xxx xxx xxxx format");
		return false;
    }
    if(!ValidateEmail(document.getElementById("email").value))
    {
        alert("Please enter a valid email address");
        return false;
    }
    if((document.getElementById("selectAmount").value == "dummy") || (document.getElementById("selectAmount").value == "other_amount" && !ValidatePledgeAmount(document.getElementById("pledgeAmount").value)))
    {
        alert("Please select amount to pledge. If 'Other Amount' is chosen, please specify amount in the text box");
        return false;
    }
       
    if((document.getElementById("selectAmount").value == "other_amount" )&& ValidatePledgeAmount(document.getElementById("pledgeAmount").value))
    {
         document.getElementById("amount").value = document.getElementById("pledgeAmount").value; 
    }
    if((document.getElementById("selectAmount").value != "other_amount" )&&(document.getElementById("selectAmount").value !="dummy"))
    {
        document.getElementById("amount").value = document.getElementById("selectAmount").value;
    }
    
    var returnUrl = document.getElementById("return").value;
    if(document.getElementById("taxreceiptYes").checked)
    {
        returnUrl = returnUrl + "?tax=1";
    }
    
    if(document.getElementById("company").value != "")
    {
        if(returnUrl.indexOf('?') == -1)
        {
            returnUrl = returnUrl + "?company=" + document.getElementById("company").value;
        }
        else
        {
            returnUrl = returnUrl + "&company=" + document.getElementById("company").value;
        }
    }

    if (returnUrl.indexOf('?') == -1) {
        returnUrl = returnUrl + "?name=" + document.getElementById("pledgedFor").value;
    }
    else {
        returnUrl = returnUrl + "&name=" + document.getElementById("pledgedFor").value;
    }

    document.getElementById("return").value = returnUrl;
    
    var pledgeForm = document.getElementById("pledge");
    pledgeForm.submit();
}

