﻿$(document).ready(function () {

    $("form").submit(function () {
        var valid = true;
        $(".form_error_message_box").html('');
        $(this).find(".required_field").each(function () {
            if ($(this).is(":visible")) {

                if ($(this).val() == '') {
                    $(this).addClass("invalid");
                    valid = false;
                    if ($(this).prop("nodeName") == "SELECT") {
                        var selectid = $(this).attr("id");
                        $('[for-select|="' + selectid + '"]').addClass("invalid");
                    }

                    var error_message_box = $(".form_error_message_box");
                    if (error_message_box.length == 0) {
                        $(".enquiry_form_wrapper").prepend('<div class="form_error_message_box"></div>');
                    }
                    var msg = $(this).parents("tr").children(".attribute_title").text();
                    if (msg == '' || msg == undefined) {
                        msg = $(this).parent().find(".attribute_title").text();
                    }
                    msg = '<div class="form_error_message">' + msg + " is required</div>";
                    if ($(".form_error_message_box").html().indexOf(msg) == -1) {
                        $(".form_error_message_box").append(msg);
                    }
                } else {
                    // Reset form element
                    $(this).removeClass("invalid");
                    if ($(this).prop("nodeName") == "SELECT") {
                        var selectid = $(this).attr("id");
                        $('[for-select|="' + selectid + '"]').removeClass("invalid");
                    }
                }
            }
        });

        return valid;
    });

    // remove invalid class as fields are completed (could be used to add invalid class back to option if needed)
    $("form").find(".required_field").change(function () {
        if ($(this).val() != '') {
            $(this).removeClass("invalid");
        }
    });
});
