var Ajax;
if (Ajax && (Ajax != null)) {
    Ajax.Responders.register({
        onCreate: function() {
            if($('spinner') && Ajax.activeRequestCount>0)
                Effect.Appear('spinner',{duration:0.5,queue:'end'});
        },
        onComplete: function() {
            if($('spinner') && Ajax.activeRequestCount==0)
                Effect.Fade('spinner',{duration:0.5,queue:'end'});
        }
    });
}
jQuery(document).ready(function() {
    if ($('#dateOfBirth').size() == 1) {
        $('#dateOfBirth').datepicker();
    }
})

function verifyAgreement(popupPercent, showPopup, forcePopup, forcePopupOnUnchecked, overrideBlockPopup, overrideBlockPopupOnUnchecked) {

//    var errors = "";
//    if ($('#ssn1').size() == 1) {
//        if (!isNumeric($('#ssn1').val()) ||
//                ($('#ssn1').val().length != 3) ||
//                !isNumeric($('#ssn2').val()) ||
//                ($('#ssn2').val().length != 2) ||
//                !isNumeric($('#ssn3').val()) ||
//                ($('#ssn3').val().length != 4)) {
//            errors = "\nSocial Security Number must be valid (9 digits)"
//        }
//    }
//    if ($('#bankAccountNumber').size() == 1) {
//        if (!isNumeric($('#bankAccountNumber').val()) ||
//                $('#bankAccountNumber').val().length < 4) {
//            errors += "\nBank Account Number must be valid"
//        }
//    }
//    if ($('#driversLicenseNumber').size() == 1) {
//        if ($('#driversLicenseNumber').val().length < 4) {
//            errors += "\nDrivers License Number must be valid"
//        }
//    }
//
//    if (errors != '') {
//        alert("Please resolve the following errors:\n" + errors);
//        //$('#bankAccountNumber').focus();
//        $('html, body').animate({scrollTop:0}, 'slow');
//        return false;
//    }

    if ($('#dboOptIn::checked').val() == undefined) {
        if (forcePopupOnUnchecked == true && overrideBlockPopupOnUnchecked == false) {
            $('#submit_container').hide();
            $('#pending_container').show();
            confirmUpsaleIfApplicable(100.0, false);
        } else {
            $('#submit_container').hide();
            $('#pending_container').show();
            return true;
        }

        // Checked or Not Checked
    } else if (forcePopup == true && overrideBlockPopup == false) {
        $('#submit_container').hide();
        $('#pending_container').show();
        return confirmUpsaleIfApplicable(popupPercent, true);

        // Checked - Show only if showPopup is true
    } else {
        if (showPopup == true && overrideBlockPopup == false) {
            $('#submit_container').hide();
            $('#pending_container').show();
            return confirmUpsaleIfApplicable(popupPercent, true);
        } else {
            $('#submit_container').hide();
            $('#pending_container').show();
            return true;
        }
    }
    return true;
}

function confirmUpsaleIfApplicable(popupPercent, isConfirm) {
    // Show based on percentage of showability

    var randomnumber = Math.floor(Math.random() * 101);
    if (popupPercent >= randomnumber) {
        if (popupText == '') {
            popupText = "Press OK to continue and we will begin finding the best lender for you. " +
                    "By pressing OK, you agree that you have read and understood all " +
                    "terms for this cash advance offer, as well as all terms for " +
                    "Direct Benefits Online. By pressing cancel you understand all terms " +
                    "of this cash advance offer, but do not wish to try Direct " +
                    "Benefits Online today."
        }
        if (popupSaveText == '') {
            popupSaveText = "Press OK to continue and we will begin finding the best lender for you. " +
                    "By pressing OK, you agree that you have read and understood all " +
                    "terms for this cash advance offer. By clicking 'OK', I would also like to try " +
                    "Direct Benefits Online for the ten day trial period and understand all terms " +
                    "and conditions. By pressing cancel you understand all terms " +
                    "of this cash advance offer, but do not wish to try Direct " +
                    "Benefits Online today."
        }
        if (isConfirm == true) {
            message = popupText;
        } else {
            message = popupSaveText;
        }

        resp = confirm(message);
        if (resp == true) {
            $('#dboOptIn').attr("checked", "checked");
            $('#cmoi').val("true");
        } else {
            $('#dboOptIn').attr("checked", "");
            $('#cmoi').val("");
        }
        return true;
    } else {
        return true;
    }
}

// getPageScroll() by quirksmode.com
function getPageScroll() {
    var xScroll, yScroll;
    if (self.pageYOffset) {
        yScroll = self.pageYOffset;
        xScroll = self.pageXOffset;
    } else if (document.documentElement && document.documentElement.scrollTop) {	 // Explorer 6 Strict
        yScroll = document.documentElement.scrollTop;
        xScroll = document.documentElement.scrollLeft;
    } else if (document.body) {// all other Explorers
        yScroll = document.body.scrollTop;
        xScroll = document.body.scrollLeft;
    }
    return new Array(xScroll,yScroll)
}

// Adapted from getPageSize() by quirksmode.com
function getPageHeight() {
    var windowHeight
    if (self.innerHeight) {	// all except Explorer
        windowHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
        windowHeight = document.documentElement.clientHeight;
    } else if (document.body) { // other Explorers
        windowHeight = document.body.clientHeight;
    }
    return windowHeight
}

// copyright 1999 Idocs, Inc. http://www.idocs.com
// Distribute this script freely but keep this notice in place
function numbersonly(myfield, e, dec)
{
    var key;
    var keychar;

    if (window.event)
        key = window.event.keyCode;
    else if (e)
        key = e.which;
    else
        return true;
    keychar = String.fromCharCode(key);

    // control keys
    if ((key==null) || (key==0) || (key==8) ||
            (key==9) || (key==13) || (key==27) )
        return true;

    // numbers
    else if ((("0123456789").indexOf(keychar) > -1))
        return true;

    // decimal point jump
    else if (dec && (keychar == "."))
    {
        myfield.form.elements[dec].focus();
        return false;
    }
    else
        return false;
}

function isNumeric(sText)

{
    var ValidChars = "0123456789.";
    var IsNumber=true;
    var Char;

    if (sText.length == 0) {
        IsNumber = false;
    } else {
        for (i = 0; i < sText.length && IsNumber == true; i++)
        {
            Char = sText.charAt(i);
            if (ValidChars.indexOf(Char) == -1)
            {
                IsNumber = false;
            }
        }
    }
    return IsNumber;

}

function validateApplication() {
    var errors = new Array();
    if ($('#loanAmountRequested').size() == 1) {
        if ($('#loanAmountRequested').val() == '' || $('#firstName').val() == undefined) {
            errors.push('- Amount Desired must be selected');
        }
    }
    if ($('#firstName').size() == 1) {
        if ($('#firstName').val() == '' || $('#firstName').val() == undefined) {
            errors.push('- First Name must be present');
        }
    }
    if ($('#lastName').size() == 1) {
        if ($('#lastName').val() == '' || $('#lastName').val() == undefined) {
            errors.push('- Last Name must be present');
        }
    }
    if ($('#address1').size() == 1) {
        if ($('#address1').val() == '' || $('#address1').val() == undefined) {
            errors.push('- Address must be present');
        }
    }
    if ($('#city').size() == 1) {
        if ($('#city').val() == '' || $('#city').val() == undefined) {
            errors.push('- City must be present');
        }
    }
    if ($('#state').size() == 1) {
        if ($('#state').val() == '' || $('#state').val() == undefined) {
            errors.push('- State must be present');
        }
    }
    if ($('#zipCode').size() == 1) {
        if (!isNumeric($('#zipCode').val()) || ($('#zipCode').val().length != 5)) {
            errors.push('- Zip Code must be valid (5 digits)');
        }
    }
    if ($('#homePhone').size() == 1) {
        if (!isNumeric($('#homePhone').val()) || ($('#homePhone').val().length != 10)) {
            errors.push('- Phone must be valid (10 digits, no spaces or dashes)');
        }
    }

    if ($('#rentOrOwn').size() == 1) {
        if ($('#rentOrOwn').val() == '' || $('#rentOrOwn').val() == undefined) {
            errors.push('- Rent or Own? must be present');
        }
    }
    if ($('#monthsAtResidence').size() == 1) {
        if ($('#monthsAtResidence').val() == '' || $('#monthsAtResidence').val() == undefined) {
            errors.push('- Months at Residence must be present');
        }
    }
    if ($('#monthlyRentOrMortgageAmount').size() == 1) {
        if (!isNumeric($('#monthlyRentOrMortgageAmount').val()) || $('#monthlyRentOrMortgageAmount').val() == '' || $('#monthlyRentOrMortgageAmount').val() == undefined) {
            errors.push('- Rent/Mortgage must be valid');
        }
    }
    if ($('#driversLicenseNumber').size() == 1) {
        if ($('#driversLicenseNumber').val().length < 4) {
            errors.push('- Drivers License # must be at least 4 characters long');
        }
    }
    if ($('#driversLicenseState').size() == 1) {
        if ($('#driversLicenseState').val() == '' || $('#driversLicenseState').val() == undefined) {
            errors.push('- Drivers License State must be selected');
        }
    }
    if ($('#dateOfBirth_year').size() == 1 && $('#dateOfBirth_day').size() == 1 && $('#dateOfBirth_month').size() == 1) {
        if (($('#dateOfBirth_year').val() == '') || ($('#dateOfBirth_year').val() == undefined) ||
                ($('#dateOfBirth_day').val() == '') || ($('#dateOfBirth_day').val() == undefined) ||
                ($('#dateOfBirth_month').val() == '') || ($('#dateOfBirth_month').val() == undefined)) {
            errors.push('- Date of Birth must be selected');
        }
    }
    if ($('#email').size() == 1) {
        if ($('#email').val() == '' || $('#email').val() == undefined) {
            errors.push('- Email must be present');
        }
    }
    if ($('#ssn').size() == 1) {
        if (!isNumeric($('#ssn').val()) ||
                ($('#ssn').val().length != 9)) {
            errors.push('- SSN must be valid (9 digits, no dashes)');
        }
    }
    if ($('#ssn1').size() == 1) {
        if (!isNumeric($('#ssn1').val()) ||
                ($('#ssn1').val().length != 3) ||
                !isNumeric($('#ssn2').val()) ||
                ($('#ssn2').val().length != 2) ||
                !isNumeric($('#ssn3').val()) ||
                ($('#ssn3').val().length != 4)) {
            errors.push("- Social Security Number must be valid (9 digits)");
        }
    }
    if ($('#employerName').size() == 1) {
        if ($('#employerName').val() == '' || $('#employerName').val() == undefined) {
            errors.push('- Employer Name must be present');
        }
    }
    if ($('#employerPhone').size() == 1) {
        if ($('#employerPhone').val() == '' || $('#employerPhone').val() == undefined) {
            errors.push('- Employer Phone must be present');
        }
    }
    if ($('#monthsEmployed').size() == 1) {
        if ($('#monthsEmployed').val() == '' || $('#monthsEmployed').val() == undefined) {
            errors.push('- Time at Job must be selected');
        }
    }
    if ($('#directDeposit').size() == 1) {
        if ($('#directDeposit').val() == '' || $('#directDeposit').val() == undefined) {
            errors.push('- Direct Deposit? must be selected');
        }
    }
    if ($('#incomeType').size() == 1) {
        if ($('#incomeType').val() == '' || $('#incomeType').val() == undefined) {
            errors.push('- Income Type must be selected');
        }
    }
    if ($('#monthlyNetIncome').size() == 1) {
        if ($('#monthlyNetIncome').val() == '' || $('#monthlyNetIncome').val() == undefined) {
            errors.push('- Monthly Income must be selected');
        }
    }
    if ($('#payFrequency').size() == 1) {
        if ($('#payFrequency').val() == '' || $('#payFrequency').val() == undefined) {
            errors.push('- Pay Frequency must be selected');
        }
    }
    if ($('#payDate1').size() == 1) {
        if ($('#payDate1').val() == '' || $('#payDate1').val() == undefined) {
            errors.push('- Next Pay Date must be selected');
        }
    }
    if ($('#reference1Name').size() == 1) {
        if ($('#reference1Name').val() == '' || $('#reference1Name').val() == undefined) {
            errors.push('- Reference 1 Name must be present');
        }
    }
    if ($('#reference1Phone').size() == 1) {
        if (!isNumeric($('#reference1Phone').val()) || ($('#reference1Phone').val().length != 10)) {
            errors.push('- Reference 1 Phone must be valid (10 digits, no spaces or dashes)');
        }
    }
    if ($('#reference1Relationship').size() == 1) {
        if ($('#reference1Relationship').val() == '' || $('#reference1Relationship').val() == undefined) {
            errors.push('- Reference 1 Relationship must be selected');
        }
    }
    if ($('#reference2Name').size() == 1) {
        if ($('#reference2Name').val() == '' || $('#reference2Name').val() == undefined) {
            errors.push('- Reference 2 Name must be present');
        }
    }
    if ($('#reference2Phone').size() == 1) {
        if (!isNumeric($('#reference2Phone').val()) || ($('#reference2Phone').val().length != 10)) {
            errors.push('- Reference 2 Phone must be valid (10 digits, no spaces or dashes)');
        }
    }
    if ($('#reference2Relationship').size() == 1) {
        if ($('#reference2Relationship').val() == '' || $('#reference2Relationship').val() == undefined) {
            errors.push('- Reference 2 Relationship must be selected');
        }
    }

    if ($('#bankAccountType').size() == 1) {
        if ($('#bankAccountType').val() == '' || $('#bankAccountType').val() == undefined) {
            errors.push('- Bank Account Type must be selected');
        }
    }
    if ($('#monthsAtBank').size() == 1) {
        if ($('#monthsAtBank').val() == '' || $('#monthsAtBank').val() == undefined) {
            errors.push('- Time at Bank must be selected');
        }
    }
    if ($('#bankRoutingNumber').size() == 1) {
        if (!isNumeric($('#bankRoutingNumber').val()) ||
                $('#bankRoutingNumber').val().length != 9) {
            errors.push("- Bank Routing Number must be valid (9 digits)");
        }
    }
    if ($('#bankName').size() == 1) {
        if ($('#bankName').val() == '' || $('#bankName').val() == undefined) {
            errors.push('- Bank Name must be present');
        }
    }
    if ($('#bankPhone').size() == 1) {
        if (!isNumeric($('#bankPhone').val()) || ($('#bankPhone').val().length != 10)) {
            errors.push('- Bank Phone must be valid (10 digits, no spaces or dashes)');
        }
    }
    if ($('#bankAccountNumber').size() == 1) {
        if (!isNumeric($('#bankAccountNumber').val()) ||
                $('#bankAccountNumber').val().length < 4) {
            errors.push("- Bank Account Number must be valid");
        }
    }
    return errors;
}

