﻿function formCheck(formobj) {
    // Enter name of mandatory fields
    var fieldRequired = Array("firstName", "company", "email", "telephone");
    // Enter field description to appear in the dialog box
    var fieldToCheckValidity = Array("firstName", "company", "email", "telephone");
    // dialog message
    var alertMsg = "The following fields are required, please ensure they are completed then submit again.\n";

    var l_Msg = alertMsg.length;

    for (var i = 0; i < fieldRequired.length; i++) {
        var obj = formobj.elements[fieldRequired[i]];
        if (obj) {

            switch (obj.type) {
                case "select-one":

                    if (obj.selectedIndex == 0) {

                        alertMsg += " - " + fieldRequired[i] + "\n";
                    }
                    break;
                case "select-multiple":
                    if (obj.selectedIndex == -1) {
                        alertMsg += " - " + fieldRequired[i] + "\n";
                    }
                    break;
                case "text":
                case "textarea":
                    if (obj.value == "" || obj.value == null) {
               
                        alertMsg += " - " + fieldRequired[i] + "\n";
                    }
                    break;
                case "radio":
                    if (obj.value == "" || obj.value == null) {
                        alertMsg += " - " + fieldRequired[i] + "\n";
                    }
                    break;
                default:
            }
            if (obj.type == undefined) {
                var blnchecked = false;
                for (var j = 0; j < obj.length; j++) {
                    if (obj[j].checked) {
                        blnchecked = true;
                    }
                }
                if (!blnchecked) {
                    alertMsg += " - " + fieldRequired[i] + "\n";
                }
            }
        }
    }
    if (alertMsg.length == l_Msg) {

        {
            for (var j = 0; j < fieldToCheckValidity.length; j++) {
                var obj = formobj.elements[fieldToCheckValidity[j]];
                if (obj) {
                    switch (fieldToCheckValidity[j]) {
                        case "Email":
                            var emailReg = "^[\\w-_\.+]*[\\w-_\.]\@([\\w]+\\.)+[\\w]+[\\w]$";
                            var regex = new RegExp(emailReg);
                            if (regex.test(obj.value) == false) {
                                alert("Please enter a valid email address.");
                                return false;
                            }
                            break;
                        case "Telephone":
                            var telephone = "^([0-9])[0-9]*$";
                            var regex = new RegExp(telephone);
                            if (regex.test(obj.value) == false) {
                                alert("Please enter a valid telephone number. e.g. 00442617854");
                                return false;
                            }
                            break;
                        case "Mobile":
                            var telephone = "^([0-9])[0-9]*$";
                            var regex = new RegExp(telephone);
                            if (regex.test(obj.value) == false) {
                                alert("Please enter a valid mobile number. e.g. 004475129");
                                return false;
                            }
                            break;
                    }
                }
            }
            return true;
        }
    }
    else {
        alert(alertMsg);
        return false;
    }
}
