$(document).ready(function () {
    $("body").on("click", "#change-language-button", function () {
        $.ajax({
            type: "POST",
            url: "/Postbacks/SetLanguage.ashx",
            dataType: "text",
            success: function (result) {
                window.location.replace(result);
            },
            error: function (error) {
                console.log("error");
            }
        });
    });

    $("body").on({
        mouseenter: function () {
            if ($(window).width() > 991) {
                $("#submenu-container").hide();
                var submenuIntroduction = $(this).parent("li").find("ul li h3").html();
                var submenuLinks = "";

                $(this).parent("li").find("ul li").each(function (index) {
                    if ($(this).find("a").length > 0)
                        submenuLinks += "<li>" + $(this).html() + "</li>";
                });

                if (submenuLinks != "") {
                    $("#submenu-introduction").html(submenuIntroduction);
                    $("#submenu-links").html("<ul>" + submenuLinks + "</ul>");
                    $("#submenu-container").show();
                }
            }
        },
        mouseleave: function () {
            //$("#submenu-container").hide();
        }
    }, "#main-menu li a");

    // Hide submenu on mouse leave
    $("body").on("mouseleave", "#submenu-container", function () {
        $("#submenu-container").hide();
    });

    // Hide submenu on mouse click outside the container
    $(document).mouseup(function (e) {
        var container = $("#submenu-container");

        // if the target of the click isn't the container nor a descendant of the container
        if (!container.is(e.target) && container.has(e.target).length === 0) {
            container.hide();
        }
    });

    $("body").on("click", "#main-menu > li > a", function (event) {
        if ($(window).width() < 992) {
            // Hide previous menu items
            var submenuVisible = $(this).parent("li").hasClass("open-menu");
            $("#main-menu li").removeClass("open-menu");
            $("#main-menu li ul").hide();

            // Show current menu item
            if ($(this).parent("li").find("ul").length > 0) {
                $(this).parent("li").addClass("open-menu");
                event.preventDefault();
                $(this).parent().find("ul").show();

                if (submenuVisible) {
                    var urlElement = event.target.closest("a");
                    var url = $(urlElement).attr("href");
                    window.location.href = url;
                }
            }            
        }
    });
});

function validateForm() {
    valid = true;
    $('.form-feedback').hide();
    $('.form-feedback-temp').remove();

    $(".req").each(function () {
        // Reset form
        $(this).removeClass("required");
        $(this).parents(".form-group").find("label").removeClass("form-feedback-label");

        // Check if required field is empty
        if ($(this).val() == "") {
            $(this).addClass("required");
            $(this).parents(".form-group").find("label").addClass("form-feedback-label");
            valid = false;
        }

        // Check radio and checkboxes
        if ($(this).is(':checkbox') || $(this).is(':radio'))
            if (!$('input[name=' + $(this).attr("name") + ']:checked').val()) {
                $(this).parents(".form-group").find("label").addClass("form-feedback-label");
                $(this).addClass("required");
            }
    });

    $(".email").each(function () {
        var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        var isEmail = regex.test($(this).val());
        // Check if mailaddress is valid
        if (!isEmail) {
            $(this).addClass("required");
            $(this).parents(".form-group").find("label").addClass("form-feedback-label");
            valid = false;
        }
    });

    if (!valid)
        $(".form-feedback").show();

    return valid;
}