/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


function customValidation()
{
    var validity = true;
               
                               
    //Check for at least one client phone number
    if(document.forms[0].clientHomePhone.value == "" && document.forms[0].clientWorkPhone.value == "" && 
        document.forms[0].clientMobilePhone.value == "" && document.forms[0].clientFax.value == "")
    {
                    
        document.forms[0].clientHomePhone.style.backgroundColor = "tomato";
        document.forms[0].clientWorkPhone.style.backgroundColor = "tomato";
        document.forms[0].clientMobilePhone.style.backgroundColor = "tomato";
        document.forms[0].clientFax.style.backgroundColor = "tomato";
        document.getElementById("noPhoneError").innerHTML = "At least one phone number required for client.";
        document.getElementById("noPhoneError").style.display = "";
        validity=false;
                   
    }
    else if(document.forms[0].clientHomePhone.value != "" || document.forms[0].clientWorkPhone.value != "" || 
        document.forms[0].clientMobilePhone.value != "" || document.forms[0].clientFax.value != "")
    {
        document.forms[0].clientHomePhone.style.backgroundColor = "white";
        document.forms[0].clientWorkPhone.style.backgroundColor = "white";
        document.forms[0].clientMobilePhone.style.backgroundColor = "white";
        document.forms[0].clientFax.style.backgroundColor = "white";
        document.getElementById("noPhoneError").innerHTML = "";
        document.getElementById("noPhoneError").style.display = "none";
                   
    }
    //If there is only one primary beneficiary, check for the percentage, must be equal to 100
    if(document.forms[0].firstPrimaryBeneficiaryPercentage.value == "" && 
        (document.forms[0].secondPrimaryBeneficiaryName.value == "" && document.forms[0].thirdPrimaryBeneficiaryName.value == ""))
    {
        document.forms[0].firstPrimaryBeneficiaryPercentage.style.backgroundColor = "tomato";
        document.getElementById("firstPercentageError").innerHTML = "First primary beneficiary percentage required.";
        document.getElementById("firstPercentageError").style.display = "";
        validity = false;
    }
    else if(parseInt(document.forms[0].firstPrimaryBeneficiaryPercentage.value) != 100  &&
        (document.forms[0].secondPrimaryBeneficiaryName.value == "" && document.forms[0].thirdPrimaryBeneficiaryName.value == ""))
    {
        document.forms[0].firstPrimaryBeneficiaryPercentage.style.backgroundColor = "tomato";
        document.getElementById("firstPercentageError").innerHTML = "First primary beneficiary percentage must be equal to 100.";
        document.getElementById("firstPercentageError").style.display = "";
        validity = false;
    }
    else 
    {
        document.forms[0].firstPrimaryBeneficiaryPercentage.style.backgroundColor = "white";
        document.getElementById("firstPercentageError").innerHTML = "";
        document.getElementById("firstPercentageError").style.display = "none"; 
    }

    // Validate the dates entered for the beneficiaries
    var dateVal = null;
    if (document.forms[0].firstPrimaryBeneficiaryBirthDate.value.length > 0) {
        dateVal = Date.parse(document.forms[0].firstPrimaryBeneficiaryBirthDate.value);
        if (isNaN(dateVal)) {
            validity = false;
            document.forms[0].firstPrimaryBeneficiaryBirthDate.style.backgroundColor = "tomato";
        } else {
            document.forms[0].firstPrimaryBeneficiaryBirthDate.style.backgroundColor = "white";
        }
    }
    if (document.forms[0].secondPrimaryBeneficiaryBirthDate.value.length > 0) {
        dateVal = Date.parse(document.forms[0].secondPrimaryBeneficiaryBirthDate.value);
        if (isNaN(dateVal)) {
            validity = false;
            document.forms[0].secondPrimaryBeneficiaryBirthDate.style.backgroundColor = "tomato";
        } else {
            document.forms[0].secondPrimaryBeneficiaryBirthDate.style.backgroundColor = "white";
        }
    }
    if (document.forms[0].thirdPrimaryBeneficiaryBirthDate.value.length > 0) {
        dateVal = Date.parse(document.forms[0].thirdPrimaryBeneficiaryBirthDate.value);
        if (isNaN(dateVal)) {
            validity = false;
            document.forms[0].thirdPrimaryBeneficiaryBirthDate.style.backgroundColor = "tomato";
        } else {
            document.forms[0].thirdPrimaryBeneficiaryBirthDate.style.backgroundColor = "white";
        }
    }
    if (document.forms[0].firstContingentBeneficiaryBirthDate.value.length > 0) {
        dateVal = Date.parse(document.forms[0].firstContingentBeneficiaryBirthDate.value);
        if (isNaN(dateVal)) {
            validity = false;
            document.forms[0].firstContingentBeneficiaryBirthDate.style.backgroundColor = "tomato";
        } else {
            document.forms[0].firstContingentBeneficiaryBirthDate.style.backgroundColor = "white";
        }
    }
    if (document.forms[0].secondContingentBeneficiaryBirthDate.value.length > 0) {
        dateVal = Date.parse(document.forms[0].secondContingentBeneficiaryBirthDate.value);
        if (isNaN(dateVal)) {
            validity = false;
            document.forms[0].secondContingentBeneficiaryBirthDate.style.backgroundColor = "tomato";
        } else {
            document.forms[0].secondContingentBeneficiaryBirthDate.style.backgroundColor = "white";
        }
    }
    if (document.forms[0].thirdContingentBeneficiaryBirthDate.value.length > 0) {
        dateVal = Date.parse(document.forms[0].thirdContingentBeneficiaryBirthDate.value);
        if (isNaN(dateVal)) {
            validity = false;
            document.forms[0].thirdContingentBeneficiaryBirthDate.style.backgroundColor = "tomato";
        } else {
            document.forms[0].thirdContingentBeneficiaryBirthDate.style.backgroundColor = "white";
        }
    }    

    //Validate that the total percentage for contingent beneficiaries is equal to 100
    if(document.forms[0].primaryEqualShare.checked == false  && 
        (document.forms[0].secondPrimaryBeneficiaryName.value != "" || document.forms[0].thirdPrimaryBeneficiaryName.value != ""))
    {
        //validate the total percentage of the primary beneficiaries: must total 100%
        if(document.forms[0].secondPrimaryBeneficiaryPercentage.value == "")
        {
            document.forms[0].secondPrimaryBeneficiaryPercentage.value = 0;
        }
        if(document.forms[0].thirdPrimaryBeneficiaryPercentage.value == "")
        {
            document.forms[0].thirdPrimaryBeneficiaryPercentage.value = 0;
        }
        var totalPercentage = parseInt(document.forms[0].firstPrimaryBeneficiaryPercentage.value) + 
            parseInt(document.forms[0].secondPrimaryBeneficiaryPercentage.value) +
            parseInt(document.forms[0].thirdPrimaryBeneficiaryPercentage.value);
                
        if(totalPercentage != 100)
        {
            document.forms[0].firstPrimaryBeneficiaryPercentage.style.backgroundColor = "tomato";
            document.forms[0].secondPrimaryBeneficiaryPercentage.style.backgroundColor = "tomato";
            document.forms[0].thirdPrimaryBeneficiaryPercentage.style.backgroundColor = "tomato";
            document.getElementById("percentageError").innerHTML = "Primary percentages must add up to 100%.";
            document.getElementById("percentageError").style.display = "";
            validity = false;
                    
        }
        else if(totalPercentage == 100)
        {
            document.forms[0].firstPrimaryBeneficiaryPercentage.style.backgroundColor = "white";
            document.forms[0].secondPrimaryBeneficiaryPercentage.style.backgroundColor = "white";
            document.forms[0].thirdPrimaryBeneficiaryPercentage.style.backgroundColor = "white";
            document.getElementById("percentageError").innerHTML = "";
            document.getElementById("percentageError").style.display = "none";
                   
        }
    }
    else if(validity == true)
    {
        document.forms[0].firstPrimaryBeneficiaryPercentage.style.backgroundColor = "white";
        document.forms[0].secondPrimaryBeneficiaryPercentage.style.backgroundColor = "white";
        document.forms[0].thirdPrimaryBeneficiaryPercentage.style.backgroundColor = "white";
        document.getElementById("percentageError").innerHTML = "";
        document.getElementById("percentageError").style.display = "none";
    }
    
    
    //Validate contigent beneficiary percentage is available
    if(document.forms[0].firstContingentBeneficiaryName.value != "" || document.forms[0].secondContingentBeneficiaryName.value != "" ||
        document.forms[0].thirdContingentBeneficiaryName.value != "")
    {
        if(document.forms[0].contingentEqualShare.checked == false)
        {
            if(document.forms[0].firstContingentBeneficiaryPercentage.value == "")
            {
                document.forms[0].firstContingentBeneficiaryPercentage.value = 0;
            }
            if(document.forms[0].secondContingentBeneficiaryPercentage.value == "")
            {
                document.forms[0].secondContingentBeneficiaryPercentage.value = 0;
            }
            if(document.forms[0].thirdContingentBeneficiaryPercentage.value == "")
            {
                document.forms[0].thirdContingentBeneficiaryPercentage.value = 0;
            }
            
            var totalContingentPercentage = parseInt(document.forms[0].firstContingentBeneficiaryPercentage.value) + 
                parseInt(document.forms[0].secondContingentBeneficiaryPercentage.value) +
                parseInt(document.forms[0].thirdContingentBeneficiaryPercentage.value);
            
            if(totalContingentPercentage != 100)
            {
                document.forms[0].firstContingentBeneficiaryPercentage.style.backgroundColor = "tomato";
                document.forms[0].secondContingentBeneficiaryPercentage.style.backgroundColor = "tomato";
                document.forms[0].thirdContingentBeneficiaryPercentage.style.backgroundColor = "tomato";
                document.getElementById("contingentPercentageError").innerHTML = "Contingent percentages must add up to 100%.";
                document.getElementById("contingentPercentageError").style.display = "";
                validity = false;
            }
            else
            {
                document.forms[0].firstContingentBeneficiaryPercentage.style.backgroundColor = "white";
                document.forms[0].secondContingentBeneficiaryPercentage.style.backgroundColor = "white";
                document.forms[0].thirdContingentBeneficiaryPercentage.style.backgroundColor = "white";
                document.getElementById("contingentPercentageError").innerHTML = "";
                document.getElementById("contingentPercentageError").style.display = "none";
                    
            }
        }
        else
        {
            document.forms[0].firstContingentBeneficiaryPercentage.style.backgroundColor = "white";
            document.forms[0].secondContingentBeneficiaryPercentage.style.backgroundColor = "white";
            document.forms[0].thirdContingentBeneficiaryPercentage.style.backgroundColor = "white";
            document.getElementById("contingentPercentageError").innerHTML = "";
            document.getElementById("contingentPercentageError").style.display = "none";
        }
                        
    }
    //Validate owner information if applicant is not owner of policy
    if(document.forms[0].isApplicantOwnerOfPolicy[1].checked && document.forms[0].isPolicyForTrust[1].checked)
    {
        if(document.forms[0].policyOwnerFirstName.value == "")
        {
            document.forms[0].policyOwnerFirstName.style.backgroundColor = "tomato";
            document.getElementById("noOwnerFirstNameError").innerHTML = "Policy owner first name is required.";
            document.getElementById("noOwnerFirstNameError").style.display = "";
            validity = false;
        }
        else
        {
            document.forms[0].policyOwnerFirstName.style.backgroundColor = "white";
            document.getElementById("noOwnerFirstNameError").innerHTML = "";
            document.getElementById("noOwnerFirstNameError").style.display = "none";
        }
        if(document.forms[0].policyOwnerLastName.value == "")  
        {
            document.forms[0].policyOwnerLastName.style.backgroundColor = "tomato";
            document.getElementById("noOwnerLastNameError").innerHTML = "Policy owner last name is required.";
            document.getElementById("noOwnerLastNameError").style.display = "";
            validity = false;
        }
        else
        {
            document.forms[0].policyOwnerLastName.style.backgroundColor = "white";
            document.getElementById("noOwnerLastNameError").innerHTML = "";
            document.getElementById("noOwnerLastNameError").style.display = "none";
        }
        if(document.forms[0].policyOwnerHomePhone.value == "" && document.forms[0].policyOwnerWorkPhone.value == "")
        {
            document.forms[0].policyOwnerHomePhone.style.backgroundColor = "tomato";
            document.forms[0].policyOwnerWorkPhone.style.backgroundColor = "tomato";
            document.getElementById("noOwnerPhoneError").innerHTML = "At least one phone number for policy owner required.";
            document.getElementById("noOwnerPhoneError").style.display = "";
            validity = false;
        }
        else
        {
            document.forms[0].policyOwnerHomePhone.style.backgroundColor = "white";
            document.forms[0].policyOwnerWorkPhone.style.backgroundColor = "white";
            document.getElementById("noOwnerPhoneError").innerHTML = "";
            document.getElementById("noOwnerPhoneError").style.display = "none";
        }
    }
               
    //validate trust information if policy is for a trust
    if(document.forms[0].isPolicyForTrust[0].checked && document.forms[0].isApplicantOwnerOfPolicy[1].checked )
    {
                    
                        
        if(document.forms[0].policyTrustName.value == "")
        {
            document.forms[0].policyTrustName.style.backgroundColor = "tomato";
            document.getElementById("noTrustNameError").innerHTML = "Policy trust name required.";
            document.getElementById("noTrustNameError").style.display = "";
            validity = false;
        }
        else
        {
            document.forms[0].policyTrustName.style.backgroundColor = "white";
            document.getElementById("noTrustNameError").innerHTML = "";
            document.getElementById("noTrustNameError").style.display = "none";
        }
        if(document.forms[0].policyTrustTrustee.value == "")
        {
            document.forms[0].policyTrustTrustee.style.backgroundColor = "tomato";
            document.getElementById("noTrusteeError").innerHTML = "Policy trust trustee required.";
            document.getElementById("noTrusteeError").style.display = "";
            validity = false;
        }
        else
        {
            document.forms[0].policyTrustTrustee.style.backgroundColor = "white";
            document.getElementById("noTrusteeError").innerHTML = "";
            document.getElementById("noTrusteeError").style.display = "none";
        }
        if(document.forms[0].policyTrustDate.value == "")
        {
            document.forms[0].policyTrustDate.style.backgroundColor = "tomato";
            document.getElementById("noTrustDateError").innerHTML = "Policy trust trustee required.";
            document.getElementById("noTrustDateError").style.display = "";
            validity = false;
        }
        else
        {
            document.forms[0].policyTrustDate.style.backgroundColor = "white";
            document.getElementById("noTrustDateError").innerHTML = "";
            document.getElementById("noTrustDateError").style.display = "none";
        }
        if(document.forms[0].policyTrustState.value == "")
        {
            document.forms[0].policyTrustState.style.backgroundColor = "tomato";
            document.getElementById("noTrustStateError").innerHTML = "Policy trust state required.";
            document.getElementById("noTrustStateError").style.display = "";
            validity = false;
        }
        else
        {
            document.forms[0].policyTrustState.style.backgroundColor = "white";
            document.getElementById("noTrustStateError").innerHTML = "";
            document.getElementById("noTrustStateError").style.display = "none";
        }
    }
                
    //validate premium payer information if applicant is not premium payer
    if(document.forms[0].isApplicantPremiumPayer[1].checked)
    {
        if(document.forms[0].premiumPayerName.value == "")
        {
            document.forms[0].premiumPayerName.style.backgroundColor = "tomato";
            document.getElementById("noPayerNameError").innerHTML = "Premium payer name required.";
            document.getElementById("noPayerNameError").style.display = "";
            validity = false;
        }
        else
        {
            document.forms[0].premiumPayerName.style.backgroundColor = "white";
            document.getElementById("noPayerNameError").innerHTML = "";
            document.getElementById("noPayerNameError").style.display = "none";
        }
        if(document.forms[0].premiumPayerAddress.value == "")
        {
            document.forms[0].premiumPayerAddress.style.backgroundColor = "tomato";
            document.getElementById("noPayerAddressError").innerHTML = "Premium payer address required.";
            document.getElementById("noPayerAddressError").style.display = "";
            validity = false;
        }
        else
        {
            document.forms[0].premiumPayerAddress.style.backgroundColor = "white";
            document.getElementById("noPayerAddressError").innerHTML = "";
            document.getElementById("noPayerAddressError").style.display = "none";
        }
        if(document.forms[0].premiumPayerCity.value == "")
        {
            document.forms[0].premiumPayerCity.style.backgroundColor = "tomato";
            document.getElementById("noPayerCityError").innerHTML = "Premium payer city required.";
            document.getElementById("noPayerCityError").style.display = "";
            validity = false;
        }
        else
        {
            document.forms[0].premiumPayerCity.style.backgroundColor = "white";
            document.getElementById("noPayerCityError").innerHTML = "";
            document.getElementById("noPayerCityError").style.display = "none";
        }
        if(document.forms[0].premiumPayerState.value == "")
        {
            document.forms[0].premiumPayerState.style.backgroundColor = "tomato";
            document.getElementById("noPayerStateError").innerHTML = "Premium payer state required.";
            document.getElementById("noPayerStateError").style.display = "";
            validity = false;
        }
        else
        {
            document.forms[0].premiumPayerState.style.backgroundColor = "white";
            document.getElementById("noPayerStateError").innerHTML = "";
            document.getElementById("noPayerStateError").style.display = "none";
        }
        if(document.forms[0].premiumPayerZipCode.value == "")
        {
            document.forms[0].premiumPayerZipCode.style.backgroundColor = "tomato";
            document.getElementById("noPayerZipCodeError").innerHTML = "Premium payer zip code required.";
            document.getElementById("noPayerZipCodeError").style.display = "";
            validity = false;
        }
        else
        {
            document.forms[0].premiumPayerZipCode.style.backgroundColor = "white";
            document.getElementById("noPayerZipCodeError").innerHTML = "";
            document.getElementById("noPayerZipCodeError").style.display = "none";
        }
        if(document.forms[0].premiumPayerPhone.value == "")
        {
            document.forms[0].premiumPayerPhone.style.backgroundColor = "tomato";
            document.getElementById("noPayerPhoneError").innerHTML = "Premium payer phone required.";
            document.getElementById("noPayerPhoneError").style.display = "";
            validity = false;
        }
        else
        {
            document.forms[0].premiumPayerPhone.style.backgroundColor = "white";
            document.getElementById("noPayerPhoneError").innerHTML = "";
            document.getElementById("noPayerPhoneError").style.display = "none";
        }
                                       
    }
                
               
    return validity;
}
    
            
function clearPercentageValidation()
{
    if(document.forms[0].secondPrimaryBeneficiaryPercentage.value == "")
    {
        document.forms[0].secondPrimaryBeneficiaryPercentage.value = 0;
    }
    if(document.forms[0].thirdPrimaryBeneficiaryPercentage.value == "")
    {
        document.forms[0].thirdPrimaryBeneficiaryPercentage.value = 0;
    }
    var totalPercentage = parseInt(document.forms[0].firstPrimaryBeneficiaryPercentage.value) + 
        parseInt(document.forms[0].secondPrimaryBeneficiaryPercentage.value) +
        parseInt(document.forms[0].thirdPrimaryBeneficiaryPercentage.value);
                
    if(totalPercentage == 100)
    {
        document.forms[0].firstPrimaryBeneficiaryPercentage.style.backgroundColor = "white";
        document.forms[0].secondPrimaryBeneficiaryPercentage.style.backgroundColor = "white";
        document.forms[0].thirdPrimaryBeneficiaryPercentage.style.backgroundColor = "white";
        document.getElementById("percentageError").innerHTML = "";
        document.getElementById("percentageError").style.display = "none";
    }
}
            
function clearPhoneValidation()
{
    if(document.forms[0].clientHomePhone.value != "" || document.forms[0].clientWorkPhone.value != "" || 
        document.forms[0].clientMobilePhone.value != "" || document.forms[0].clientFax.value != "")
    {
        document.forms[0].clientHomePhone.style.backgroundColor = "white";
        document.forms[0].clientWorkPhone.style.backgroundColor = "white";
        document.forms[0].clientMobilePhone.style.backgroundColor = "white";
        document.forms[0].clientFax.style.backgroundColor = "white";
        document.getElementById("noPhoneError").innerHTML = "";
        document.getElementById("noPhoneError").style.display = "none";
    }
}
            
function clearCustomValidations()
{
    //clear premium payer validation error messages
    if(document.forms[0].isApplicantPremiumPayer[0].checked)
    {
                   
        //clear premium payer phone errror message
        document.forms[0].premiumPayerPhone.style.backgroundColor = "white";
        document.getElementById("noPayerPhoneError").innerHTML = "";
        document.getElementById("noPayerPhoneError").style.display = "none";
        //clear premium payer zip code error message
        document.forms[0].premiumPayerZipCode.style.backgroundColor = "white";
        document.getElementById("noPayerZipCodeError").innerHTML = "";
        document.getElementById("noPayerZipCodeError").style.display = "none";
        //clear state error message
        document.forms[0].premiumPayerState.style.backgroundColor = "white";
        document.getElementById("noPayerStateError").innerHTML = "";
        document.getElementById("noPayerStateError").style.display = "none";
        //clear city error message
        document.forms[0].premiumPayerCity.style.backgroundColor = "white";
        document.getElementById("noPayerCityError").innerHTML = "";
        document.getElementById("noPayerCityError").style.display = "none";
        //clear address error message
        document.forms[0].premiumPayerAddress.style.backgroundColor = "white";
        document.getElementById("noPayerAddressError").innerHTML = "";
        document.getElementById("noPayerAddressError").style.display = "none";
        //clear name error message
        document.forms[0].premiumPayerName.style.backgroundColor = "white";
        document.getElementById("noPayerNameError").innerHTML = "";
        document.getElementById("noPayerNameError").style.display = "none";
    }
                
    //clear policy trust error messages
    if(document.forms[0].isPolicyForTrust[1].checked)
    {
        //Clear Trust error messages
        //clear date message
        document.forms[0].policyTrustDate.style.backgroundColor = "white";
        document.getElementById("noTrustDateError").innerHTML = "";
        document.getElementById("noTrustDateError").style.display = "none";
        //clear trustee message
        document.forms[0].policyTrustTrustee.style.backgroundColor = "white";
        document.getElementById("noTrusteeError").innerHTML = "";
        document.getElementById("noTrusteeError").style.display = "none";
        //clear name message
        document.forms[0].policyTrustName.style.backgroundColor = "white";
        document.getElementById("noTrustNameError").innerHTML = "";
        document.getElementById("noTrustNameError").style.display = "none";
        //clear state message
        document.forms[0].policyTrustState.style.backgroundColor = "white";
        document.getElementById("noTrustStateError").innerHTML = "";
        document.getElementById("noTrustStateError").style.display = "none";
    }
    if(document.forms[0].isPolicyForTrust[0].checked)
    {
        document.forms[0].policyOwnerFirstName.style.backgroundColor = "white";
        document.getElementById("noOwnerFirstNameError").innerHTML = "";
        document.getElementById("noOwnerFirstNameError").style.display = "none"; 
        document.forms[0].policyOwnerLastName.style.backgroundColor = "white";
        document.getElementById("noOwnerLastNameError").innerHTML = "";
        document.getElementById("noOwnerLastNameError").style.display = "none";
        document.forms[0].policyOwnerHomePhone.style.backgroundColor = "white";
        document.forms[0].policyOwnerWorkPhone.style.backgroundColor = "white";
        document.getElementById("noOwnerPhoneError").innerHTML = "";
        document.getElementById("noOwnerPhoneError").style.display = "none";
    }
    //clear policy owner error messages
    if(document.forms[0].isApplicantOwnerOfPolicy[0].checked)
    {
        //Clear Policy owner error messages
        //clear phone message
        document.forms[0].policyOwnerHomePhone.style.backgroundColor = "white";
        document.forms[0].policyOwnerWorkPhone.style.backgroundColor = "white";
        document.getElementById("noOwnerPhoneError").innerHTML = "";
        document.getElementById("noOwnerPhoneError").style.display = "none";
        //clear last name message
        document.forms[0].policyOwnerLastName.style.backgroundColor = "white";
        document.getElementById("noOwnerLastNameError").innerHTML = "";
        document.getElementById("noOwnerLastNameError").style.display = "none";
        //clear first name message
        document.forms[0].policyOwnerFirstName.style.backgroundColor = "white";
        document.getElementById("noOwnerFirstNameError").innerHTML = "";
        document.getElementById("noOwnerFirstNameError").style.display = "none";
                        
    }
                
}
