/* Source and licensing information for the line(s) below can be found at https://en.huji.ac.il/profiles/openscholar/modules/os/js/os_global.js. */
(function($){Drupal.behaviors.loadMore={attach:function(context){$(".readmore").click(function(e){e.preventDefault();$(this).toggleClass('open');$(this).closest(".field-name-body").find(".more-txt").toggleClass('open');$(this).closest(".field-name-body").find(".read-less").toggleClass("open");return false});$(".read-less").click(function(e){$(this).toggleClass('open');$(this).closest(".field-name-body").find(".more-txt").toggleClass('open');$(this).closest(".field-name-body").find(".readmore").toggleClass('open');$(this).closest(".field-name-body").find(".readmore").focus()})}};Drupal.behaviors.osGlobal={chooseInputField:function(e){$(e.data.class).removeClass("active");$(e.data.class).removeClass("checked");$(e.target).closest(e.data.class).toggleClass("active")}}})(jQuery);;
/* Source and licensing information for the above line(s) can be found at https://en.huji.ac.il/profiles/openscholar/modules/os/js/os_global.js. */;/*})'"*/
(function ($) {

    Drupal.accessibility = Drupal.accessibility || {};

    Drupal.behaviors.accessibility = {
        attach: function (context, settings) {
            Drupal.accessibility.setClasses();
            Drupal.accessibility.checkIfOneActive();
            $(".accessibility-icon").click(function (e) {
                e.preventDefault();
                $(this).toggleClass('active');
                $(this).closest('.block-huji-accessibility').toggleClass('active');
                Drupal.accessibility.checkIfOneActive();
            });
        }
    };

    Drupal.accessibility.getSettings = function () {
        var settings = localStorage.getItem("accessibility") || JSON.stringify({});
        settings = JSON.parse(settings);
        return settings || '';
    };

    Drupal.accessibility.setClasses = function () {
        let accessibilitySettings = Drupal.accessibility.getSettings();
        Object.keys(accessibilitySettings).forEach(key => {
            if (key === 'accessibility-resize_font') {
                $('body').addClass(key + '-' + accessibilitySettings[key]);
            } else {
                if (key !== 'active') {
                    $('body').addClass(key);
                }
            }
            $('*[data-accessibility^="' + key.replace("accessibility-", "") + '"]').addClass('active');
        });
    };

    Drupal.accessibility.checkIfOneActive = function () {
        const settings = Drupal.accessibility.getSettings();
        const hasActiveKey = "active" in settings;

        if (Object.keys(settings).length > (hasActiveKey ? 1 : 0)) {
            $(".check-active").addClass("active");
        } else {
            $(".check-active").removeClass("active");
        }
    };

    //TO bg contrast
    Drupal.accessibility.activeBgAccessibility = function (el, isActive) {
        if (isActive) {
            let active = Drupal.accessibility.getSetting('active');
            $('body').removeClass(active).addClass(el);
            Drupal.accessibility.removeSetting(active);

            Drupal.accessibility.setSetting('active', el);
            Drupal.accessibility.setSetting(el, el);
        } else {
            $('body').removeClass(el);
            Drupal.accessibility.removeSetting(el);
            //Drupal.accessibility.removeSetting('active');
        }

        return Drupal.accessibility.getSetting('active') || '';
    };

    Drupal.accessibility.setSetting = function (name, value) {
        var settings = localStorage.getItem("accessibility") || JSON.stringify({});
        settings = JSON.parse(settings);
        settings[name] = value;
        localStorage.setItem("accessibility", JSON.stringify(settings));
    };

    Drupal.accessibility.getSetting = function (name) {
        var settings = localStorage.getItem("accessibility") || JSON.stringify({});
        settings = JSON.parse(settings);
        return settings[name] || '';
    };

    Drupal.accessibility.removeSetting = function (name) {
        var settings = localStorage.getItem("accessibility") || JSON.stringify({});
        settings = JSON.parse(settings);
        delete settings[name];
        localStorage.setItem("accessibility", JSON.stringify(settings));
    };

    Drupal.accessibility.resetSettings = function () {
        localStorage.removeItem('accessibility');
    };

    Drupal.behaviors.accessibilityResizeFont = {
        attach: function (context, settings) {
            var currentSize = Drupal.accessibility.getSetting('accessibility-resize_font') || 0;

            $('*[data-accessibility^="resize_font"]', context).bind('click', function (e) {
                if ($(this).closest(".block-huji-accessibility.active").length > 0) {
                    e.preventDefault();
                    $(this).toggleClass('active');
                    if ($(this).hasClass('active')) {
                        currentSize = 10;
                        Drupal.accessibility.setSetting('accessibility-resize_font', currentSize);
                        $('body').addClass('accessibility-resize_font-' + currentSize);
                    } else {
                        currentSize = 0;
                        $("body").removeClass(function (index, css) {
                            return (css.match(/(^|\s)accessibility-resize_font-\S+/g) || []).join(' ');
                        }).addClass('accessibility-resize_font-' + currentSize);
                        Drupal.accessibility.removeSetting('accessibility-resize_font');
                    }
                }
            });
        }
    };

    Drupal.behaviors.accessibilityOptions = {
        attach: function (context, settings) {
            var accessibilityOptions = [
                'grayscale',
                'invert',
                'high_contrast',
                'light_background',
                'highlight_links',
                'readable_font'
            ];

            accessibilityOptions.forEach(function (option) {
                $('*[data-accessibility="' + option + '"]', context).bind('click', function (e) {
                    if ($(this).closest(".block-huji-accessibility.active").length > 0) {
                        e.preventDefault();
                        $(this).toggleClass('active');
                        var className = 'accessibility-' + option;
                        Drupal.accessibility.activeBgAccessibility(className, $(this).hasClass('active'));
                    }
                });
            });
        }
    };

    Drupal.behaviors.accessibilityReset = {
        attach: function (context, settings) {
            $('*[data-accessibility="reset"]', context).bind('click', function (e) {
                e.preventDefault();
                $(this).toggleClass('active');
                $('body').removeClass(function (index, className) {
                    return (className.match(/\baccessibility-\S+/g) || []).join(' ');
                });
                Drupal.accessibility.resetSettings();
            });
        }
    };

    setTimeout(function () {
        var accessibilityBlock = $("#block-huji-accessibility-huji-accessibility-block");
        var primaryMenu = $("#block-os-primary-menu");
        if (window.innerWidth >= 1200 && primaryMenu.length > 0) {
            accessibilityBlock.css("top", primaryMenu.offset().top);

        }
        accessibilityBlock.removeClass('hide');
        accessibilityBlock.show();
    }, 1000); // 1000 milliseconds = 1 second


})(jQuery);
;/*})'"*/;/*})'"*/
/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */


(function ($) {
    Drupal.behaviors.hujiAppearance = {
        attach: function (context, settings) {
            var descHidden = false;

            function chooseInputField(e) {
                let prop = e.data.prop;
                $('body').attr(prop, e.currentTarget.value);

                $(e.data.class).removeClass("active");
                $(e.data.class).removeClass("checked");
                let $target = $(e.target);
                $target.closest(e.data.class).toggleClass("active");
            }

            function toggleClassThemeBlock(e) {
                $(this).closest('.block-huji-appearance').toggleClass("close-block");
            }

            var selectors = {
                colorWrapper: '.color-wrapper',
                closeBtn: '.close-btn',
                appearanceIcon: '.appearance_icon'
            };
            var blocks = {
                appearance: '#block-huji-appearance-site-appearance',
                design: '#block-huji-appearance-design-blocks'
            };

            $('#huji-appearance-form .form-item-theme-color [type="radio"]').on("click", {
                class: selectors.colorWrapper,
                prop: 'data-theme',
            }, chooseInputField);
            $(blocks.appearance).find(selectors.appearanceIcon + ", " + selectors.closeBtn).off("click").on("click", toggleClassThemeBlock);
            $(blocks.design).find(selectors.appearanceIcon + ", " + selectors.closeBtn).off("click").on("click", toggleClassThemeBlock);

            //$(selectors.appearanceIcon + ", " + selectors.closeBtn).on("click", toggleClassThemeBlock);

            //hide desc after 3 sec
            if (!descHidden) {
                setTimeout(function () {
                    $('.desc').hide("fast");
                    descHidden = true;
                }, 3000);
            }
        }
    };
}(jQuery));
;/*})'"*/;/*})'"*/
