
var Validation = {
    msg_header: 'Problem with Form Data',
    error_messages: [],
    error_fields: [],
    
    donation: {
        mn: 2,
        mx: 1000
    },
    payment: {
        mn: 5,
        mx: 1000
    }
}


function validateAmount() {
    clearErrorInfo();
    
    var form = this; var error_msg;
    var type = form.elements['type'].value; // donation or payment
    var mn = Validation[type].mn;
    var mx = Validation[type].mx;
    
    var fld = form.elements['amount'];
    var re = /^\$|,|\s/g; // remove commas and preceding $
    var val = ( dw_Util.trimString(fld.value) ).replace(re, '');
    fld.value = val;
    if ( !isUSCurrency( val ) ) {
        error_msg = 'Please enter a valid US currency amount.';
        addValidationMessage(error_msg);
    } else if ( val < mn ) {
        error_msg = 'We don\'t accept online ' + type + 's less than $' + mn + ' due to cost of transaction fees.';
        addValidationMessage(error_msg);
    } else if ( val > mx ) {
        error_msg = 'We don\'t accept online ' + type + 's greater than $' + mx + ' due to fees and risk factors. We invite you to contact us about other payment methods.';
        addValidationMessage(error_msg);
    }
    if (error_msg) {
        addValidationField(fld);
        displayErrorInfo(form);
        return false;
    }
    return true;
}

function initValidation() {
    if ( !(document.getElementById && document.createElement) ) {
        return; // php validation for others
    }
    var form = document.forms[0]; // donate and payment page forms
    var type = form.elements['type'].value; // payment or donation (type is hidden field)
    form.onsubmit = validateAmount;
    setupMaxLength( form.elements[type + '_comments'], 250 ); // donation_comments or payment_comments textarea
}

dw_Event.add(window, 'load', initValidation);
