﻿function GetValue(field) {
    if (field.type == 'text' || field.tagName == 'TEXTAREA') {
        return field.value;
    } else if (field.tagName == 'SELECT') {
        return field.options[field.selectedIndex].value;
    }
}

function ValidateField(val) {
    var field = document.getElementById(val.controltovalidate);
    var valid = true;
    if (field) {
        var value;
        if (field.ValueFunction) {
            value = eval(field.ValueFunction)(field);
        } else {
            value = GetValue(field);
        }

        if (field.Required) {
            valid = value != null && value != '';
        }

        if (valid && field.RegularExpression && field.RegularExpression != '' && value != '') {
            var valEx = new RegExp(field.RegularExpression);
            valid = value.search(valEx) != -1;
        }

        return valid;
    }
}

function ValidateCheckBoxField(val) {
    var field = document.getElementById(val.controltovalidate);
    var valid = true;
    if (field) {
        if (field.Required) {
            valid = field.checked;
        }
        if (valid && field.RegularExpression && field.RegularExpression != '') {
            var value;
            if (field.checked) {
                value = field.CheckedValue;
            } else {
                value.field.UncheckedValue;
            }
            var valEx = new RegExp(field.RegularExpression);
            valid = value.search(valEx) != -1;
        }
    }
    return valid;
}