$(document).ready(function () {
    ready_extension_Familly();
    isPrevious();
    $("body").on("click", "button.btn-global-family", function () {
        var element = $(".extension_Familly");
        var speed = 750;
        var idFamily = $(this).attr("id").split("-")[1];
        FilterItems('button;' + idFamily, 'data-family', 'all', ';');
        $("#buttoncancel").show();
        $('html, body').animate({ scrollTop: $(element).offset().top }, speed);
        return false;
    });

    $("body").on("click", "button#buttoncancel", function () {
        // ajax vider session
        FilterItems('parent;grouping', 'data-family', 'all', ';');
        $("#buttoncancel").hide();
   
        return false;
    });
    $("body").on("click", ".expand-btn", function () {
        var idFamily = $(this).attr("id").split("-")[1];
        var element = $("#childs_" + idFamily);
        var speed = 750;
        if ($(element).is(":visible")) {
            $('html, body').animate({ scrollTop: $(element).offset().top }, speed);
        }
    });
});

function isPrevious() {
    if (selectedParentFamilyId) {
        var idFamily = $("button.btn-global-family").attr("id").split("-")[1];
        idFamily = selectedParentFamilyId;
        FilterItems('button;' + idFamily, 'data-family', 'all', ';');
        $("#buttoncancel").show();
    }
}
function ready_extension_Familly() {
    //volet d�pliant description longue
    if ($('.description.long').length !== 0) {

        var $toggle = $('.descrToggle');

        $toggle.append('<i class="fa fa-chevron-right"></i>');
        //$('.description.long').css('height', $toggle.outerHeight() + 'px');

        $toggle.click(function (event) {
            event.preventDefault();
            event.stopPropagation();
            var $descr = $(this).next();
            if ($descr) {
                if ($descr.css("display") !== "none") {
                    $descr.fadeOut()
                    $(this).find('i').removeClass('fa-chevron-down').addClass('fa-chevron-right');
                } else {
                    $descr.fadeIn()
                    $(this).find('i').removeClass('fa-chevron-right').addClass('fa-chevron-down');
                }
            }
        });
    }
}

var domReady = function (callback) {
    document.readyState === "interactive" || document.readyState === "complete" ? callback() : document.addEventListener("DOMContentLoaded", callback);
};

domReady(function () {
    var expand = document.querySelectorAll('.expandables');
    Array.prototype.forEach.call(expand, function (h, i) {
        var btn = h.querySelector('.expand-btn');
        var target = h.nextElementSibling;
        if (btn) {
            btn.addEventListener("click", function () {
                // handle aria-expanded value for screen-readers
                var expanded = btn.getAttribute('aria-expanded') === 'true';
                btn.setAttribute('aria-expanded', !expanded);
                target.hidden = expanded;
                if (!expanded) {
                    btn.querySelector("i").classList.remove("fa-chevron-down");
                    btn.querySelector("i").classList.add("fa-chevron-up");
                    btn.querySelector(".toOpen").style.display = "none";
                    btn.querySelector(".toClose").style.display = "block";
                } else {
                    btn.querySelector("i").classList.add("fa-chevron-down");
                    btn.querySelector("i").classList.remove("fa-chevron-up");
                    btn.querySelector(".toOpen").style.display = "block";
                    btn.querySelector(".toClose").style.display = "none";
                }
            });
        }
    });
});

//permet de filtrer les objets de la page. �a r�cup�re tous les �l�ments qui poss�dent la data et les affiche s'ils poss�dent au moins une des values ou qu'on est sur la valeur par d�faut.
function FilterItems(values, data, defaultValue, separator) {
    var splitedValues = values.split(separator);
    var elements = document.querySelectorAll("[" + data + "]");
    elements.forEach(function (element) {
        var show = false;
        for (var i = 0; i < splitedValues.length; i++) {
            if (splitedValues[i] == defaultValue || element.getAttribute(data).includes(splitedValues[i])) {
                show = true;
                break;
            }
        }
        if (show) {
            if ($("#" + element.id).hasClass("family-children")) {
                $("#" + element.id).fadeIn(0);
            }
            else {
                $("#" + element.id).removeClass("sr-only hideParentFamilies");
            }
            
        }
        else {
            if ($("#" + element.id).hasClass("family-children")) {
                $("#" + element.id).fadeOut(0);
            }
            else if ($("#" + element.id).hasClass("expandables")) {
                $("#" + element.id).addClass("sr-only hideParentFamilies");
            }
            
        }
    });
};
