var pass = "Access Granted";
var fail = "Access Denied";

function empty_field(field) {
        with (field) {
                if ((value == "") || (value == null)) {
                        return true;
                }
                else {
                        return false;
                }
        }
}

function focus_field(form) {
        with (form) {
                for (var i = length - 1; i > -1 ; i--) {
                        var s = elements[i].className;
                        if (s.match("required") == "required") {
                                if ((elements[i].value == "") || (elements[i].value == null)) {
                                        elements[i].focus();
                                }
                        }
                }
        }
}

function required_fields(form) {
        var error = "Please enter a value for: ";
        var error_message = "";

        with (form) {
                for(var i = 0; i < length ; i++) {
                        var s = elements[i].className;
                        if (s.match("required") == "required") {
                                if (empty_field(elements[i])) {
                                        error_message = error_message + "\n * " + elements[i].name.replace(/_/g, " ");
                                }
                        }
                }
        }

        if ((error_message == "") || (error_message == null)) {
                return true;
        }
        else {
                window.alert(error.toUpperCase() + "\n" + error_message.toUpperCase());
                focus_field(form);
                return false;
        }
}

function valid_email(field) {
        var error = "Please enter a valid email.";

        with (field) {
                var at_position = value.indexOf("@");
                var dot_position = value.indexOf(".");

                if ((at_position < 1) || (dot_position - at_position < 2) || (value.length - 1 == dot_position)) {
                        window.alert(error.toUpperCase());
                        return false;
                }
                else {
                        return true;
                }
        }
}

function valid_fields(form, field) {
        if (required_fields(form)) {
                if (valid_email(field)) {
                        return true;
                }
                else {
                        field.focus();
                        return false;
                }
        }
        else {
                return false;
        }
}
