function uberValidate(d) {
    var e = new Array(" ", '"', "???", "'", "@", "#", "/", "\\", ";", ":", "{", "}", "$", "|", "[", "]", "?", "<", ">", "!", "%", "^", "&", "*", "(", ")", ",", ".", "=", "+", "_", "-");
    for (var f = 0; f < d.elements.length; f++) {
        if (d.elements[f].className == "required" || d.elements[f].className == "requiredError") {
            if (d.elements[f].value == null || d.elements[f].value == "undefined" || d.elements[f].value == "") {
                var b = d.elements[f].getAttribute("rel");
                if (b == undefined) {
                    b = d.elements[f].id;
                }
                alert('You have left out one of the required fields: \n"' + b + '"');
                d.elements[f].className = "requiredError";
                d.elements[f].focus();
                return false;
            } else {
                d.elements[f].className = "required";
            }
        }
        if (d.elements[f].className == "password" || d.elements[f].className == "passwordError") {
            if (d.elements[f].value == null || d.elements[f].value == "undefined" || d.elements[f].value == "") {
                alert("Your password is required.");
                d.elements[f].className = "passwordError";
                d.elements[f].focus();
                return false;
            } else {
                d.elements[f].className = "password";
                if (f != 0) {
                    if (d.elements[f - 1].className == "password" || d.elements[f - 1].className == "passwordError") {
                        if (d.elements[f].value != d.elements[f - 1].value) {
                            alert("Your passwords do not match.");
                            d.elements[f].className = "passwordError";
                            d.elements[f - 1].className = "passwordError";
                            d.elements[f - 1].focus();
                            d.elements[f - 1].select();
                            return false;
                        } else {
                            d.elements[f].className = "password";
                            d.elements[f - 1].className = "password";
                        }
                    }
                }
            }
        }
        if (d.elements[f].className == "email" || d.elements[f].className == "emailError") {
            if (d.elements[f].value == null || d.elements[f].value == "undefined" || d.elements[f].value == "") {
                alert("Your e-mail address is required.");
                d.elements[f].className = "emailError";
                d.elements[f].focus();
                return false;
            } else {
                d.elements[f].className = "email";
                if (d.elements[f].value.indexOf("@", 0) == -1 || d.elements[f].value.indexOf(".", 0) == -1) {
                    alert("Invalid e-mail address entered");
                    d.elements[f].className = "emailError";
                    d.elements[f].focus();
                    d.elements[f].select();
                    return false;
                } else {
                    if (f != 0) {
                        if (d.elements[f - 1].className == "email" || d.elements[f - 1].className == "emailError") {
                            if (d.elements[f].value != d.elements[f - 1].value) {
                                alert("You e-mail addresses don't match");
                                d.elements[f - 1].className = "emailError";
                                d.elements[f].className = "emailError";
                                d.elements[f - 1].focus();
                                d.elements[f - 1].select();
                                return false;
                            }
                        }
                    }
                }
            }
        }
				if (d.elements[f].className == "checkbox" || d.elements[f].className == "checkboxError") {
            if (d.elements[f].checked == null || d.elements[f].checked == false) {
                var b = d.elements[f].getAttribute("rel");
                if (b == undefined) {
                    b = d.elements[f].id;
                }
                alert('You have left out one of the required fields: \n"' + b + '"');
                d.elements[f].className = "checkboxError";
                d.elements[f].focus();
                return false;
            } else {
                d.elements[f].className = "checkboxError";
            }
        }
        if (d.elements[f].className == "number" || d.elements[f].className == "numberError") {
            if (d.elements[f].value == null || d.elements[f].value == "undefined" || d.elements[f].value == "") {
                alert("You have left out one of the required number fields.");
                d.elements[f].className = "numberError";
                d.elements[f].focus();
                return false;
            } else {
                d.elements[f].className = "number";
                for (var c = 0; c < d.elements[f].value.length; c++) {
                    if (d.elements[f].value.charAt(c) < "0" || d.elements[f].value.charAt(c) > "9") {
                        alert("Only characters of numeric value are permitted in this field.");
                        d.elements[f].className = "numberError";
                        d.elements[f].focus();
                        d.elements[f].select();
                        return false;
                        break;
                    }
                }
            }
        }
        if (d.elements[f].className == "legal" || d.elements[f].className == "legalError") {
            if (d.elements[f].value == null || d.elements[f].value == "undefined" || d.elements[f].value == "") {
                alert('You have left out one of the required fields: \n"' + d.elements[f].id + '"');
                d.elements[f].className = "legalError";
                d.elements[f].focus();
                return false;
            } else {
                d.elements[f].className = "legal";
                for (var c = 0; c < d.elements[f].value.length; c++) {
                    for (var a = 0; a < e.length; a++) {
                        if (d.elements[f].value.charAt(c) == e[a]) {
                            alert("You have used an illegal character: " + e[a]);
                            d.elements[f].className = "legalError";
                            d.elements[f].focus();
                            d.elements[f].select();
                            return false;
                            break;
                        }
                    }
                }
            }
        }
        if (d.elements[f].className == "selectrequired" || d.elements[f].className == "selectrequiredError") {
            if (d.elements[f].value == null || d.elements[f].value == "undefined" || d.elements[f].value == "" || d.elements[f].value == "-1") {
                var b = d.elements[f].getAttribute("rel");
                if (b == undefined) {
                    b = d.elements[f].id;
                }
                alert('You have left out one of the required fields: \n"' + b + '"');
                d.elements[f].className = "selectrequiredError";
                d.elements[f].focus();
                return false;
            } else {
                d.elements[f].className = "selectrequired";
            }
        }
    }
}