// source --> https://airfilter.expert/wp-includes/js/wp-util.min.js 
/*! This file is auto-generated */
window.wp=window.wp||{},function(r){var t="undefined"==typeof _wpUtilSettings?{}:_wpUtilSettings;wp.template=_.memoize(function(a){var n,s={evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g,variable:"data"};return function(t){var e=document.querySelector("script#tmpl-"+a);if(e)return(n=n||_.template(r(e).html(),s))(t);throw new Error("Template not found: #tmpl-"+a)}}),wp.ajax={settings:t.ajax||{},post:function(t,e){return wp.ajax.send({data:_.isObject(t)?t:_.extend(e||{},{action:t})})},send:function(n,t){var e,a;return _.isObject(n)?t=n:(t=t||{}).data=_.extend(t.data||{},{action:n}),t=_.defaults(t||{},{type:"POST",url:wp.ajax.settings.url,context:this}),(e=(a=r.Deferred(function(a){t.success&&a.done(t.success),t.error&&a.fail(t.error),delete t.success,delete t.error,a.jqXHR=r.ajax(t).done(function(t){var e;"1"!==t&&1!==t||(t={success:!0}),_.isObject(t)&&!_.isUndefined(t.success)?(e=this,a.done(function(){n&&n.data&&"query-attachments"===n.data.action&&a.jqXHR.hasOwnProperty("getResponseHeader")&&a.jqXHR.getResponseHeader("X-WP-Total")?e.totalAttachments=parseInt(a.jqXHR.getResponseHeader("X-WP-Total"),10):e.totalAttachments=0}),a[t.success?"resolveWith":"rejectWith"](this,[t.data])):a.rejectWith(this,[t])}).fail(function(){a.rejectWith(this,arguments)})})).promise()).abort=function(){return a.jqXHR.abort(),this},e}}}(jQuery);
// source --> https://airfilter.expert/wp-content/themes/afx/js/afx.js 
var targetDiv = $('body');
const isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;

$(window).scroll(function() {
    var windowpos = $(window).scrollTop();
    if (windowpos >= 10) {
        targetDiv.addClass('scrolled');
    } else {
        targetDiv.removeClass('scrolled');
    }
});

$(window).on('resize', function() {
    $('.partner .slider').slick('slickSetOption', { arrows: false, dots: false });
    $('.slider').slick('refresh');
    $('.partner .slider').slick('slickPlay');
});

$(document).ready(function() {
    if (isTouchDevice) {
        $('body').addClass('touch-device')
    } else {
        $('body').addClass('no-touch-device')
    }

    var observer = new IntersectionObserver((entries) => {
        entries.forEach((entry) => {
            if (entry.isIntersecting) {
                entry.target.classList.add('indersecting');
            } else {
                entry.target.classList.remove('indersecting');
            }
        });
    });


    var sectionElements = document.querySelectorAll('section');
    sectionElements.forEach((el) => observer.observe(el));

    if (performance.navigation.type == 2 && $('.filterkonfigurator[data-part="uebergangsstueck"]').length == 1) {
        location.reload(true);
    }

    $('body').on('click', '#backtotop', function() {
        window.scrollTo(0, 0);
    });

    init_navi();
    init_slider();

    $('#overlay').on('click', function(event) {
        if ($(event.target).is('#overlay')) {
            $('#overlay').addClass('hidden');
        }
    });

    $('#overlay_zubehoer').on('click', function(event) {
        if ($(event.target).is('#overlay_zubehoer')) {
            $('#overlay_zubehoer').addClass('hidden');
        }
    });

    $('#zubehoer_desc').on('click', function(event) {
        if ($(event.target).is('#zubehoer_desc')) {
            $('#zubehoer_desc').addClass('hidden');
            window.setTimeout(function() {
                $('#zubehoer_desc .inner > div').html('');
            }, 500);
        }
    });

    $('#overlay_datenschutz').on('click', function(event) {
        if ($(event.target).is('#overlay_datenschutz')) {
            $('#overlay_datenschutz').addClass('hidden');
        }
    });

    $('#overlay_agb').on('click', function(event) {
        if ($(event.target).is('#overlay_agb')) {
            $('#overlay_agb').addClass('hidden');
        }
    });

    $('#zoom-image').on('click', function(event) {
        if ($(event.target).is('#zoom-image')) {
            $('#zoom-image').addClass('hidden');
        }
    });

    $('.zoom-image-icon').on('click', function(event) {
        var zoom_image_url = $(event.target).closest('[data-zoom-image]').attr('data-zoom-image');
        var $zoom_image = $('<img src="' + zoom_image_url + '" alt="">')
        $('#zoom-image .overlay-closer+div').html($zoom_image);
        $('#zoom-image').removeClass('hidden');
    });

    $('a[data-zoom-image]').on('click', function(event) {
        var zoom_image_url = $(event.target).attr('data-zoom-image');
        var $zoom_image = $('<img src="' + zoom_image_url + '" alt="">')
        $('#zoom-image .overlay-closer+div').html($zoom_image);
        $('#zoom-image').removeClass('hidden');
    });

    $('.overlay-closer').on('click', function(event) {
        $(event.target).closest('.overlay-outer-wrapper').addClass('hidden');
    });

    $('.video-cover a').on('click', function(event) {
        $(event.target).closest('.video-cover').addClass('hidden').prev('iframe').attr('src', );
        $video_iframe = $(event.target).closest('.video-cover').prev('iframe');
        $video_iframe.attr('src', $video_iframe.data('src'));
        $video_iframe.removeClass('hidden');
    });

    init_accordion();

    $('.integer_only:input[type="number"]').on('keyup', function(e) {
        if ((e.keyCode >= 48 && e.keyCode <= 57)) {
            if ($(e.target).val() * 1 > $(e.target).attr('max') * 1) {
                $(e.target).val($(e.target).attr('max'));
            }
        } else {
            e.preventDefault();
        }
    });

    init_filterkonfigurator();
    init_maschinenabsaugung();
    init_leadlinks();
    init_switch_checkboxes();
    init_range_input();
    init_anwendungen();
});

function init_slider() {
    $('.slider').on('init', function(slick) {
        var number_dots = $(this).find('.slick-dots li').length;
        if (number_dots == 1) {
            $(this).find('.slick-dots').hide();
        } else {
            $(this).find('.slick-dots').show();
        }
    });

    $('.slider:not(.single-slide)').slick({
        slidesToShow: 3,
        slidesToScroll: 1,
        adaptiveHeight: false,
        dots: true,
        arrows: true,
        prevArrow: '<a class="slick-prev"><span class="dashicons dashicons-arrow-left"></span></a>',
        nextArrow: '<a class="slick-next"><span class="dashicons dashicons-arrow-right"></span></a>',
        initialSlide: $('.slider:not(.single-slide) [data-active]').prevAll('div').length,
        responsive: [{
                breakpoint: 1200,
                settings: {
                    adaptiveHeight: false,
                    slidesToShow: 2,
                    slidesToScroll: 1,
                    infinite: true,
                    dots: true,
                }
            },
            {
                breakpoint: 860,
                settings: {
                    adaptiveHeight: false,
                    slidesToShow: 1,
                    slidesToScroll: 1,
                    infinite: true,
                    dots: true,
                }
            },
        ]
    });

    $('.partner .slider:not(.single-slide)').slick('slickSetOption', { arrows: false, dots: false });
    $('.slider:not(.single-slide)').slick('refresh');
    $('.partner .slider:not(.single-slide)').slick('slickPlay');

    $slickObjects = $('.slider.single-slide').slick({
        slidesToShow: 1,
        slidesToScroll: 1,
        adaptiveHeight: false,
        dots: false,
        arrows: true,
        prevArrow: '<a class="slick-prev"><span class="dashicons dashicons-arrow-left"></span></a>',
        nextArrow: '<a class="slick-next"><span class="dashicons dashicons-arrow-right"></span></a>',
        initialSlide: $('.slider.single-slide [data-active]').prevAll('div').length,
    });



    $('.uebergangsstueck-control').on('click', function() {
        $slickObjects.slick('slickNext');
    });

    $slickObjects.on('afterChange', function(event, slick, currentSlide) {
        $('.configuration .wp-element-button').attr('href', $('.slider .slick-active [data-button-target]').first().attr('data-button-target'));
        init_filterkonfigurator_uebrgangsstueck();
    });
}

function init_navi() {
    $('#hamburger').on('click', function() {
        $('#menu-topnavi, #hamburger').toggleClass('opened');
    });

}

function afx_get_data(element, additional_json_data = null) {
    var request_params = {
        afx_modul: $(element).data('afx_modul'),
        afx_action: $(element).data('afx_action'),
        afx_data: $(element).data('afx_data'),
        afx_additional_data: additional_json_data,
    };

    wp.ajax.post("afx_get_data", request_params)
        .done(function(response) {
            var afx_responce = JSON.parse(response.afx_responce);
            if (afx_responce.identifier) {
                $(afx_responce.identifier).html(afx_responce.data);
                if (afx_responce.show_overlay) {
                    $(afx_responce.show_overlay).removeClass('hidden');
                }
                if (afx_responce.matomo_event) {
                    _paq.push(['trackEvent', 'Leadlink', 'load', 'leadlink_completed']);
                }
            } else if (afx_responce.goto) {
                window.location.href = afx_responce.goto;
            }
        });
}

function leadLink(produkt_id) {
    $('#overlay').toggleClass('hidden');
    $('#overlay #userdata_form').attr('data-produkt-id', produkt_id);
}

function overlayZubehoer() {
    $('#overlay_zubehoer').toggleClass('hidden');
}

function overlayDatenschutz() {
    $('#overlay_datenschutz').toggleClass('hidden');
}

function overlayAGB() {
    $('#overlay_agb').toggleClass('hidden');
}

function init_accordion() {
    $('.block-accordion > div > div > h3').on('click', function(event) {
        var wrapper = $(event.target).closest('div');
        wrapper.toggleClass('opened');
    });
}

function init_filterkonfigurator() {
    $('.filterkonfigurator[data-part="uebergangsstueck"] .input-wrapper select, .filterkonfigurator[data-part="uebergangsstueck"] .input-wrapper input[type="radio"]').on('change', function(event) {
        init_filterkonfigurator_uebrgangsstueck();
    });

    var ausrichtung = 'horizontal';
    var tueroeffnung = 'tuer_rechts';

    $('.filterkonfigurator[data-part="ausfuehrung"] .option_buttons a').on('click', function(event) {
        var image_geklickt = $(event.target).closest('a').prevAll('a').length;
        $('.option_image').removeClass('active');

        if (image_geklickt == 0) {
            ausrichtung = 'horizontal';
            $('.option_buttons a:nth-child(1) figure').addClass('active');
            $('.option_buttons a:nth-child(2) figure').removeClass('active');
        } else if (image_geklickt == 1) {
            ausrichtung = 'vertikal';
            $('.option_buttons a:nth-child(1) figure').removeClass('active');
            $('.option_buttons a:nth-child(2) figure').addClass('active');
        } else if (image_geklickt == 2) {
            tueroeffnung = 'tuer_rechts';
            $('.option_buttons a:nth-child(3) figure').addClass('active');
            $('.option_buttons a:nth-child(4) figure').removeClass('active');
        } else if (image_geklickt == 3) {
            tueroeffnung = 'tuer_links';
            $('.option_buttons a:nth-child(3) figure').removeClass('active');
            $('.option_buttons a:nth-child(4) figure').addClass('active');
        }

        if (ausrichtung == 'horizontal' && tueroeffnung == 'tuer_rechts') {
            $('.option_image:nth-child(1)').addClass('active');
            var button_target_part = 1;
        } else if (ausrichtung == 'vertikal' && tueroeffnung == 'tuer_rechts') {
            $('.option_image:nth-child(2)').addClass('active');
            var button_target_part = 2;
        } else if (ausrichtung == 'horizontal' && tueroeffnung == 'tuer_links') {
            $('.option_image:nth-child(3)').addClass('active');
            var button_target_part = 3;
        } else if (ausrichtung == 'vertikal' && tueroeffnung == 'tuer_links') {
            $('.option_image:nth-child(4)').addClass('active');
            var button_target_part = 4;
        }

        var button_target = $('.filterkonfigurator[data-part="ausfuehrung"] [data-button-target]').first().attr('data-button-target');
        button_target = button_target.substring(0, button_target.length - 2) + button_target_part + '/';
        $('.filterkonfigurator[data-part="ausfuehrung"] .configuration .wp-block-button__link').attr('href', button_target);
    });

    $('.filterkonfigurator[data-part="zuleitung"] .zuleitung_inputs select, .filterkonfigurator[data-part="zuleitung"] .zuleitung_inputs input[type="radio"], .filterkonfigurator[data-part="zuleitung"] .zuleitung_inputs input[type="checkbox"]').on('change', function(event) {
        var button_target = $('.filterkonfigurator[data-part="zuleitung"] [data-button-target]').first().attr('data-button-target');
        button_target = button_target.substring(0, button_target.length - 1);
        button_target = button_target.substring(0, button_target.lastIndexOf('/')) + '/';
        button_target += $('#select_zuleitung').val() + '-';
        button_target += ($('#checkbox_kabel').is(':checked') ? '1' : '0') + '-';

        var radioButtons = $('.filterkonfigurator[data-part="zuleitung"] [name="select_anwendung"]');
        if (radioButtons.length > 0) {
            var selectedIndex = radioButtons.index(radioButtons.filter(':checked'));
            button_target += selectedIndex + '/';
        } else {
            button_target += '0/';
        }


        $('.filterkonfigurator[data-part="zuleitung"] .configuration .wp-block-button__link').attr('href', button_target);
    }).trigger('change');

    $('.filterkonfigurator[data-part="zubehoer"] [data-button-target] input[type="checkbox"]').on('change', function(event) {
        var button_target = $('.filterkonfigurator[data-part="zubehoer"] [data-button-target]').first().attr('data-button-target');
        button_target = button_target.substring(0, button_target.length - 1);
        button_target = button_target.substring(0, button_target.lastIndexOf('/')) + '/';

        var checked_zubehoer_rows = [];
        $('.filterkonfigurator[data-part="zubehoer"] [data-button-target] input[type="checkbox"]:checked').each(function(element) {
            checked_zubehoer_rows.push($(this).val());
        });

        button_target += checked_zubehoer_rows.join('-');
        if (checked_zubehoer_rows.length == 0) {
            button_target += '-';
        }

        button_target += '/';

        $('.filterkonfigurator[data-part="zubehoer"] .configuration .wp-block-button__link').attr('href', button_target);
    }).trigger('change');

    $('.filterkonfigurator[data-part="zubehoer"] [data-afx_modul="zubehoer"]').on('click', function(event) {
        $('#zubehoer_desc .inner > div').html('');
        afx_get_data($(event.target).closest('a'));
    });

    $('.filterkonfigurator[data-part="zusammenfassung"] .configuration .wp-block-button__link').on('click', function(event) {
        var form_is_valid = document.getElementsByClassName('userdata-form')[0].reportValidity();
        if (form_is_valid) {
            // send AJAX request
            var data = getFormValues('userdata_form');
            afx_get_data(event.target, data);
        }
    });

}

function selectZubehoer(zubehoer_id) {
    $('#zubehoer_desc').addClass('hidden');
    $('.filterkonfigurator[data-part="zubehoer"] .zubehoer_liste input[value="' + zubehoer_id + '"]').prop('checked', false).trigger("click");
}

function init_filterkonfigurator_uebrgangsstueck() {
    var button_target = $('.filterkonfigurator[data-part="uebergangsstueck"] .slick-current [data-button-target]').first().attr('data-button-target');
    var skip_ausfuehrung = false;

    if (button_target.substring(button_target.length - 2) == '-/') {
        skip_ausfuehrung = true;
        button_target = button_target.substring(0, button_target.length - 2);
    }

    button_target = button_target.substring(0, button_target.length - 4);

    if ($('.slick-current #select_durchmesser').length == 1) {
        button_target += $('.slick-current #select_durchmesser option:selected').prevAll('option').length + ',';
    } else {
        button_target += '0,';
    }
    if ($('.slick-current .input-wrapper [name="anschluss"]').length > 0) {
        button_target += $('.slick-current .input-wrapper [name="anschluss"]:checked').closest('label').prevAll('label').length + '/';
    } else {
        button_target += '0/';
    }

    if (skip_ausfuehrung) {
        button_target += '-/';
    }

    $('.filterkonfigurator[data-part="uebergangsstueck"] .configuration .wp-block-button__link').attr('href', button_target);
}

function getFormValues(formId) {
    var $form = $(`#${formId}`);
    if ($form.length === 0) {
        console.error(`Form with ID "${formId}" not found.`);
        return null;
    }

    var formData = $form.serializeArray(); // Formulardaten erfassen
    var data = {};

    formData.forEach(({ name, value }) => {
        if (data[name]) {
            if (!Array.isArray(data[name])) {
                data[name] = [data[name]];
            }
            data[name].push(value);
        } else {
            data[name] = value.replaceAll('\r\n', '_NL_');
        }
    });

    // do not include hidden fields
    for (var name in data) {
        if ($form.find('[name="' + name + '"]').is(':visible') === false) {
            delete data[name];
        }
    }

    return data;
}

function init_leadlinks() {
    $('#overlay .wp-block-button__link').on('click', function(event) {
        var form_is_valid = document.getElementsByClassName('userdata-form')[0].reportValidity();
        if (form_is_valid && !$(event.target).hasClass('processing')) {
            $(event.target).addClass('processing');
            // send AJAX request
            var data = getFormValues('userdata_form');
            $(event.target).attr('data-afx_data', JSON.stringify({
                'quelle': 'leadlink',
                'produkt_id': $('#userdata_form').attr('data-produkt-id'),
            }));
            afx_get_data(event.target, data);
        }
    });
}

function init_maschinenabsaugung() {
    $('.maschinenabsaugung[data-part="maschine"] a[data-afx_modul]').on('click', function(event) {
        var form_is_valid = document.getElementsByClassName('maschinenabsaugung-form')[0].reportValidity();
        if (form_is_valid) {
            // send AJAX request
            var data = getFormValues('maschinenabsaugung_form');
            afx_get_data(event.target, data);
        }
    });

    $('.maschinenabsaugung[data-part="arbeitsraum"] a[data-afx_modul]').on('click', function(event) {
        var form_is_valid = document.getElementsByClassName('maschinenabsaugung-form')[0].reportValidity();
        if (form_is_valid) {
            // send AJAX request
            var data = getFormValues('maschinenabsaugung_form');
            afx_get_data(event.target, data);
        }
    });

    $('.maschinenabsaugung[data-part="material"] a[data-afx_modul]').on('click', function(event) {
        if ($('.maschinenabsaugung-form input[type="checkbox"]:checked').length == 0) {
            $('.maschinenabsaugung-form input[type="checkbox"]')[0].setCustomValidity("Bitte treffen Sie Ihre Auswahl.");
        }
        var form_is_valid = document.getElementsByClassName('maschinenabsaugung-form')[0].reportValidity();
        if (form_is_valid) {
            // send AJAX request
            var data = getFormValues('maschinenabsaugung_form');
            afx_get_data(event.target, data);
        }
    });

    $('.maschinenabsaugung[data-part="material"] .maschinenabsaugung-form [data-required-one]').on('change', function() {
        if ($('.maschinenabsaugung-form input[type="checkbox"]:checked').length > 0) {
            $('.maschinenabsaugung-form [data-required-one]').removeAttr('required');
        } else {
            $('.maschinenabsaugung-form [data-required-one]').attr('required', 'required');
        }
        $('.maschinenabsaugung-form input[type="checkbox"]')[0].setCustomValidity("");
    });

    $('.maschinenabsaugung[data-part="kss"] select#kss').on('change', function(event) {
        var value = $('.maschinenabsaugung[data-part="kss"] select#kss').val();
        var image_to_show = 1;
        if (value == "Öl" || value == "Emulsion") {
            image_to_show = 2;
            $('.progressbar li:nth-child(5)').removeClass('hidden');
        }
        if (value == "Minimalmengenschmierung") {
            image_to_show = 3;
            $('.progressbar li:nth-child(5)').addClass('hidden');
        }
        if (value == "Trockenbearbeitung") {
            if ($('#trockenbearbeitung_option_rauch').is(':checked')) {
                image_to_show = 4;
            } else {
                image_to_show = 5;
            }
            $('.progressbar li:nth-child(5)').addClass('hidden');
        }
        $('.kss-image').addClass('hidden');
        $('.kss-image:nth-child(' + (image_to_show) + ')').removeClass('hidden');
        $('#maschinenabsaugung_form [data-condition]').addClass('hidden');
        $('#maschinenabsaugung_form [data-condition="' + value + '"]').removeClass('hidden');
    }).trigger('change');

    $('.maschinenabsaugung[data-part="kss"] [name="trockenbearbeitung_option"]').on('change', function(event) {
        var value = $(event.target).val();
        if ($(event.target).is(':checked') && value == 'rauch') {
            var trockenbearbeitung_image_to_show = 4;
        }
        if ($(event.target).is(':checked') && value == 'staub') {
            var trockenbearbeitung_image_to_show = 5;
        }
        if (trockenbearbeitung_image_to_show && $('.maschinenabsaugung[data-part="kss"] select#kss').val() == 'Trockenbearbeitung') {
            $('.kss-image').addClass('hidden');
            $('.kss-image:nth-child(' + trockenbearbeitung_image_to_show + ')').removeClass('hidden');
        }
    }).trigger('change');

    $('.maschinenabsaugung[data-part="kss"] a[data-afx_modul]').on('click', function(event) {
        var form_is_valid = document.getElementsByClassName('maschinenabsaugung-form')[0].reportValidity();
        if (form_is_valid) {
            // send AJAX request
            var data = getFormValues('maschinenabsaugung_form');
            afx_get_data(event.target, data);
        }
    });

    $('.maschinenabsaugung[data-part="vernebelung"] [name="vernebelung_option"]').on('change', function(event) {
        var value = $(event.target).val();
        if ($(event.target).is(':checked') && value == "schwach") {
            var image_to_show = 1;
        }
        if ($(event.target).is(':checked') && value == "mittel") {
            var image_to_show = 2;
        }
        if ($(event.target).is(':checked') && value == "stark") {
            var image_to_show = 3;
        }
        if (image_to_show) {
            $('.vernebelung-image').addClass('hidden');
            $('.vernebelung-image:nth-child(' + image_to_show + ')').removeClass('hidden');
        }
    }).trigger('change');

    $('.maschinenabsaugung[data-part="vernebelung"] [name="vernebelung"]').on('change', function(event) {
        var value = $(event.target).val();
        if ($(event.target).is(':checked') && value == 'approx') {
            var vernebelung_part_visible = 'approx';
            if ($('[name="vernebelung_option"]:checked').val() == 'schwach') {
                var image_to_show = 1;
            }
            $('#innenkuehlung').prop('checked', false);
            $('#oeldruck').removeAttr('required');
        }
        if ($(event.target).is(':checked') && value == 'exact') {
            var vernebelung_part_visible = 'exact';
            var image_to_show = 1;
            $('#vernebelung_option_schwach').prop('checked', true);
            $('#oeldruck').attr('required', 'required');
        }
        if (vernebelung_part_visible) {
            $('.vernebelung_wrapper').addClass('hidden');
            $('#vernebelung_' + vernebelung_part_visible + '_wrapper').removeClass('hidden');
        }
        if (image_to_show) {
            $('.vernebelung-image').addClass('hidden');
            $('.vernebelung-image:nth-child(' + image_to_show + ')').removeClass('hidden');
        }
    }).trigger('change');

    $('.maschinenabsaugung[data-part="vernebelung"] #innenkuehlung').on('change', function(event) {
        if ($('.maschinenabsaugung[data-part="vernebelung"] [name="vernebelung"]:checked').val() == 'exact') {
            if ($('#innenkuehlung').is(':checked')) {
                var image_to_show = 2;
            } else {
                var image_to_show = 1;
            }
            if (image_to_show) {
                $('.vernebelung-image').addClass('hidden');
                $('.vernebelung-image:nth-child(' + image_to_show + ')').removeClass('hidden');
            }
        }
    }).trigger('change');

    $('.maschinenabsaugung[data-part="vernebelung"] a[data-afx_modul]').on('click', function(event) {
        var form_is_valid = document.getElementsByClassName('maschinenabsaugung-form')[0].reportValidity();
        if (form_is_valid) {
            // send AJAX request
            var data = getFormValues('maschinenabsaugung_form');
            afx_get_data(event.target, data);
        }
    });

    $('.maschinenabsaugung[data-part="anschluss"] [name="zuleitung"]').on('change', function(event) {
        var value = $(event.target).val();
        if ($(event.target).is(':checked') && value == 'andere') {
            $('#zuleitung_andere_label').addClass('hidden');
            $('#zuleitung_andere_string_wrapper').removeClass('hidden');

            $('#zuleitung_andere_string_wrapper').find('[data-required="true"]').attr('required', '');
        } else {
            $('#zuleitung_andere_label').removeClass('hidden');
            $('#zuleitung_andere_string_wrapper').addClass('hidden');

            $('#zuleitung_andere_string_wrapper').find('[data-required="true"]').removeAttr('required');
        }
    }).trigger('change');

    $('.maschinenabsaugung[data-part="anschluss"] [name="absaugoeffnung"]').on('change', function(event) {
        var value = $(event.target).val();
        if ($(event.target).is(':checked') && value == 'andere') {
            $('#absaugoeffnung_andere_label').addClass('hidden');
            $('#absaugoeffnung_andere_string_wrapper').removeClass('hidden');

            $('#absaugoeffnung_andere_string_wrapper').find('[data-required="true"]').attr('required', '');
        } else {
            $('#absaugoeffnung_andere_label').removeClass('hidden');
            $('#absaugoeffnung_andere_string_wrapper').addClass('hidden');

            $('#absaugoeffnung_andere_string_wrapper').find('[data-required="true"]').removeAttr('required');
        }
    }).trigger('change');

    $('#keine_absaugoeffnung').on('change', function() {
        if ($('#keine_absaugoeffnung').is(':checked')) {
            $('[name="absaugoeffnung"], #absaugoeffnung_andere_string').attr('disabled', 'disabled');
        } else {
            $('[name="absaugoeffnung"], #absaugoeffnung_andere_string').removeAttr('disabled');
        }
    }).trigger('change');

    $('.maschinenabsaugung[data-part="anschluss"] a[data-afx_modul]').on('click', function(event) {
        var form_is_valid = document.getElementsByClassName('maschinenabsaugung-form')[0].reportValidity();
        if (form_is_valid) {
            // send AJAX request
            var data = getFormValues('maschinenabsaugung_form');
            afx_get_data(event.target, data);
        }
    });

    $('.maschinenabsaugung[data-part="empfehlung"] a[data-afx_modul]').on('click', function(event) {
        afx_get_data(event.target);
    });

    $('.maschinenabsaugung[data-part="dateneingabe"] a[data-afx_modul]').on('click', function(event) {
        var form_is_valid = document.getElementsByClassName('userdata-form')[0].reportValidity();
        if (form_is_valid && !$(event.target).hasClass('processing')) {
            $(event.target).addClass('processing');
            var data = getFormValues('userdata_form');
            afx_get_data(event.target, data);
        }
    });
}

function init_switch_checkboxes() {
    $('.input-switch-checkbox').on('change', function() {
        var $checkbox = $(this);
        var $element_to_show = $($checkbox.attr('data-show'));
        var $element_to_hide = $($checkbox.attr('data-hide'));
        if ($checkbox.is(':checked')) {
            $element_to_show.removeClass('hidden');
            $element_to_hide.addClass('hidden');

            $element_to_show.find('[data-required="true"]').attr('required', '');
            $element_to_hide.find('[data-required="true"]').removeAttr('required');
        } else {
            $element_to_show.addClass('hidden');
            $element_to_hide.removeClass('hidden');

            $element_to_show.find('[data-required="true"]').removeAttr('required');
            $element_to_hide.find('[data-required="true"]').attr('required', '');
        }
    }).trigger('change');
}

function init_range_input() {
    $('input[type="range"]').on('change', function(element) {
        var value = $(element.target).val();
        $(element.target).next('.range-value').find('span').html(value);
    });
}

$('a[href="#"]').on('click', function(e) {
    e.preventDefault();
    return false;
});

function init_anwendungen() {
    $('#form_anwendungen [name="themenbereich"], #form_anwendungen [name="anwendungsbereich"], #form_anwendungen [name="prozess"]').on('change', function(e) {
        window.location.href = '/anwendungen/' + $(e.target).val() + '/';
    });
};