// Validate Send Mail Form.  All input is required.
function OnValidateInput() {
    var oFields = document.getElementsByTagName("input");
    var sRadioCheck = new String('');
    var bAllValid = true;
    for (idx = 0; idx < oFields.length; idx++) {
        switch (oFields[idx].type) {
            case 'text':
                if (trim(oFields[idx].value).length <= 0)
                    bAllValid = false;
                break;
            case 'submit':
                break;
            case 'hidden':
                break;
            case 'radio':
                if (sRadioCheck.indexOf(oFields[idx].name + ',', 0) < 0) {
                    sRadioCheck = sRadioCheck + oFields[idx].name + ',';
                    
                    var bChecked = false;
                    var oRadios = document.getElementsByName(oFields[idx].name);
                    for (ridx = 0; ridx < oRadios.length; ridx++) {
                        if (oRadios[ridx].checked != false) 
                            bChecked = true;
                    }
                    if (!bChecked)
                        bAllValid = false;
                }
                break;
            default:
                alert(oFields[idx].type);
                break;
        }
        if (!bAllValid) {
            oFields[idx].focus();
            alert('All fields on this form are required. Please make sure that all fields are filled out and all options are checked.');
            return false;
        }
    }
    return true;
}

function trim(s) {
    var str = new String(s);
    var l = 0; var r = str.length - 1;
    while (l < str.length && str.charAt(l) == ' ') { l++; }
    while (r > l && str.charAt(r) == ' ') { r -= 1; }
    return str.substring(l, r + 1);
}

// Tie the validation handler to the form
for (docIdx = 0; docIdx < document.forms.length; docIdx++) {
    if (document.forms[docIdx].className == 'requireAllInput') {
        document.forms[docIdx].onsubmit = OnValidateInput;
    }
}
