window.addEventListener('load', function () {
    (function () {
        var sliceTab = function sliceTab(arr) {return [].slice.call(document.querySelectorAll(arr))};

        function init() {
            usunAriaExpanded();
            addRoleToInput();
            roleCombobox();
            addToMenu();
            zejdz();
            addEmpty();
            clickMobile();
            pokazUkryty();
            dodajFocus();
            zmienText();
            addToMenu();
            setTimeout(usunRoleText, 100);
            setTimeout(wejdzWtabele, 100);
            setTimeout(zmniejszStopke, 100);
            setTimeout(zmienGuzik, 100);
            setTimeout(oneInput, 200);
            setTimeout(otworzMenu, 200);
            setTimeout(schowajHiddenLi, 200);
            // setTimeout(pokazStrefe,200);
            setTimeout(przeniesButton,200);
            setTimeout(zatrzymajSlider,200);
            setTimeout(focusMenu,300);
            setTimeout(addList,300);


            if(document.querySelector('.buttonGora button') != null){
                document.querySelector('.buttonGora button').onclick = function(){
                    document.querySelector('input.szero').removeAttribute("role")
                }
            }
        }
        function resizeTable() {
            if(window.innerWidth >640) {
                var $leftRows = $('.ui-datatable-frozenlayout-left').find('tr');
            var $rightRows = $('.ui-datatable-frozenlayout-right').find('tr');

            $leftRows.each(function(index) {
                var $leftRow = $(this);
                var $leftHeight = $leftRow.innerHeight();
                var $rightRow = $rightRows.eq(index);
                var $rightHeight = $rightRow.innerHeight();

                if ($rightHeight > $leftHeight) {
                    $leftRow.innerHeight($rightHeight);
                    var diff = $rightHeight - $leftRow.innerHeight();
                    if (diff != 0)
                        $leftRow.innerHeight($rightHeight + diff);
                } else if ($rightHeight < $leftHeight) {
                    $rightRow.innerHeight($leftHeight);
                    var diff = $leftHeight - $rightRow.innerHeight();
                    if (diff != 0)
                        $rightRow.innerHeight($leftHeight + diff);
                }
            });

            // fire a resize event to tell the table to repaint
                $(window).trigger('resize');
            }
        }
        function otworzMenu() {
            sliceTab('.menuGlowneMobile li.MainTab1').forEach(function(el){
                el.addEventListener("click",function(){
                    if(!el.classList.contains('otworz')){
                        el.classList.add('otworz');
                        el.classList.remove('schowaj');
                    } else {
                        el.classList.remove('otworz');
                        el.classList.add('schowaj')
                    }
                })
            })
        }

        function wejdzWtabele(){
            sliceTab('.toTable tr.ui-widget-content').forEach(function(el){
                el.addEventListener("click",function(){
                    el.querySelector('a').click()
                })
            })
        }
        function clickMobile(){
            sliceTab('.menuGlowneMobile li.pokaz a.ui-submenu-link').forEach(function(el){
                el.addEventListener("keydown", function(event) {
                    if (event.which == 13 && el.parentElement.querySelector('ul.ui-menu-child li a.hiddenClass ') == null) {
                        el.parentElement.querySelector('ul.ui-menu-child li a.hiddenClass ').click()
                    }
                })
            })
        }
        
        function schowajHiddenLi() {
            sliceTab('.menuGlowneMobile a.hiddenClass').forEach(function(el){
                el.parentElement.classList.add('schowaj')
            })
        }

        function focusMenu(){
            if(document.querySelector('.nav__open img').hasAttribute("role")){
                document.querySelector('.nav__open img').removeAttribute("role")
            }

            // dodanie do koła zębatego
            sliceTab('.gear').forEach(function(el){
                var liZebatka = sliceTab('#form\\:clickIds ul li.ui-menuitem');
                el.setAttribute("aria-expanded","false");
                el.setAttribute("tabindex","0");
                el.classList.add("wcag_focus");
                el.setAttribute("role","button");

                el.addEventListener("keydown",function(e){
                    if(e.which === 13){
                        el.parentElement.parentElement.parentElement.classList.toggle('showMain');
                        if(el.getAttribute('aria-expanded') === 'false') {
                            el.removeAttribute("aria-expanded");
                            el.setAttribute('aria-expanded','true');
                            liZebatka.forEach(function (at) {
                                at.style.display = 'list-item';
                            });
                        }else {
                            el.setAttribute('aria-expanded','false');
                            liZebatka.forEach(function (at) {
                                at.style.display = 'none !important';
                            });
                        }
                    }
                });
                el.addEventListener("click",function(){
                    el.parentElement.parentElement.parentElement.classList.toggle('showMain');
                    if(el.getAttribute('aria-expanded') === 'false') {
                        el.removeAttribute("aria-expanded");
                        el.setAttribute('aria-expanded','true')
                    }else {
                        el.setAttribute('aria-expanded','false')
                    }
                })
            });

            // dodanie kliku na enter do menu nierozwijanego
            sliceTab('li.ui-widget.ui-menuitem.ui-corner-all.ui-menu-parent.MainTab1.ukryj').forEach(function(el){
                el.addEventListener("keydown",function(e){
                    if(e.which === 13){
                        el.querySelector('li a.hiddenClass').click()
                    }
                })
            });


            // dodanie rozwijania do Enter
            if( document.querySelector('.nav__open') != null){
                document.querySelector('.nav__open').addEventListener("keydown",function(e){
                    if(e.which === 13){
                        document.querySelector('.nav__open').click()
                    }
                });
            }

            sliceTab('.ui-submenu-child:last-child').forEach(function(el) {
                el.addEventListener("keydown", function (e) {
                    if (e.which === 9) {
                        el.parentElement.classList.remove('showMain');
                        el.parentElement.querySelector('li span.gear').setAttribute('aria-expanded','false')
                    }
                })
            });

            sliceTab('.ui-submenu-child:last-child').forEach(function(el) {
                el.addEventListener("keydown", function (e) {
                    if (e.which === 9) {
                        el.parentElement.classList.remove('showMain')
                    }
                })
            });


            var ostatni = document.querySelectorAll('.menuGlowneMobile li a:not(.hiddenClass)').length - 1;
            var focusToElement = document.querySelectorAll('.menuGlowneMobile li a:not(.hiddenClass)')[ostatni];

            if(document.querySelectorAll('.menuGlowneMobile li a').length > 0){
                focusToElement.addEventListener("keydown", function(event) {
                    if (event.which == 9) {
                        document.querySelector('.timer').focus();
                    }
                });
            }

            if(document.querySelector('.nav__close') != null){
                document.querySelector('.nav__close').addEventListener("keydown", function(event) {
                    if (event.which == 13) {
                        document.querySelector('.nav__open').focus();
                    }
                });
            }

            if(document.querySelector('.nav__close') != null){
                document.querySelector('.nav__close').addEventListener("keydown", function(event) {
                    if (event.which == 13) {
                        document.querySelector('.nav__close').click();
                    }});
            }
        }

        function oneInput(){
            var zablokujInput = [].slice.call(document.querySelectorAll('div.ui-selectonemenu'));

            zablokujInput.forEach(function(el){
                el.addEventListener("keydown", function(event) {
                        if (event.which == 13) {
                            var inputy = [].slice.call(document.querySelectorAll('input.ui-selectonemenu-filter'));

                            inputy.forEach(function(el){
                                el.setAttribute("disabled","true")
                            })
                        }

                    }
                )
            });
            function odblokuj(){
                var inputy = [].slice.call(document.querySelectorAll('input.ui-selectonemenu-filter'));

                inputy.forEach(function(el){
                    el.removeAttribute("disabled")
                })
            }

            var odblokujInput = [].slice.call(document.querySelectorAll('input.eventClick123'));
            odblokujInput.forEach(function(el,index){
                el.addEventListener("keydown", function(event) {
                    if (event.which >= 65 && event.which <= 90 ) {
                        odblokuj();
                        document.querySelectorAll('.ui-selectonemenu-filter')[index].focus()
                    } else {
                        odblokuj();
                    }
                })
            });
        }
        function addToMenu() {
            if(document.querySelectorAll('.menuGlowne li.ui-widget.ui-menuitem.ui-corner-all.ui-menu-parent.MainTab a.ui-submenu-link').length > 0){
                var dodajMenu = [].slice.call(document.querySelectorAll('.menuGlowne li.ui-widget.ui-menuitem.ui-corner-all.ui-menu-parent.MainTab a.ui-submenu-link'));
                if(document.querySelector('.nav__close') != null){
                    document.querySelector('.nav__close').setAttribute("tabindex","0")
                }
                dodajMenu.forEach(function(el){
                    if(!el.classList.contains("wcag_focus")){
                        el.classList.add("wcag_focus")
                    }
                });
            }
            }

        // Dodanie roli combobox do inputów w selectOneMenu - ZPUTFG-241
        function roleCombobox() {
            sliceTab('.ui-selectonemenu input').forEach(function(el){
                el.setAttribute("role","combobox")
            });
        }
        // Zamykanie menu po zjechaniu

        function  zejdz() {
            sliceTab('.greenSubmenu div.subnav__menubar .ui-menu-parent .ui-menu-list.ui-menu-child').forEach(function(el){
                el.onmouseleave = function(){
                    el.removeAttribute("style")
                }
            })
        }

        function pokazUkryty(){
            var element = [].slice.call(document.querySelectorAll('.menuGlowneMobile li.MainTab'));
            if (element.length > 0)
                element.forEach(function(el){
                    el.addEventListener("click", function(){
                        el.classList.toggle("pokazUkryte")
                    });
                    el.addEventListener("keydown", function(event) {
                        if (event.which == 13) {
                            el.classList.toggle("pokazUkryte")
                        }});
                })

        }

        function dodajFocus() {
            if(document.querySelector('.spanInput input') != null){
                document.querySelector('.spanInput input').classList.add("wcag_focus")
            }
            if(document.querySelectorAll('.content__section2 table th span.ui-column-title').length >0){
                sliceTab('.content__section2 table th span.ui-column-title').forEach(function(el){
                    if(!el.classList.contains("wcag_hide")){
                        el.classList.add("wcag_hide")
                    }
                });
            }
            if (document.querySelectorAll('div.calendarStyle input.hasDatepicker').length > 0) {
                var kalendarz = [].slice.call(document.querySelectorAll('div.calendarStyle input.hasDatepicker'));
                kalendarz.forEach(function (el) {
                    if (!el.classList.contains("wcag_focus")) {
                        el.classList.add("wcag_focus")
                    }
                });
            }
        }


                // Usuwanie role=text z captcha
                function usunRoleText(){
                    var usunRole = document.querySelector('div.captcha input');

                    if(usunRole != null) {
                        usunRole.removeAttribute("role")
                    }
                }


                function usunAriaExpanded(){
                    sliceTab('.ui-tabs-header').forEach(function(el){
                        el.removeAttribute("aria-expanded");
                    });
                }


                // Dodanie ról o inputów załącznika

                function addRoleToInput() {
                    sliceTab('input[type="file"]').forEach(function(el) {
                        el.setAttribute("role","button");

                    });

                    sliceTab('span.ui-fileupload-choose').forEach(function(el){
                        el.removeAttribute("role")
                    })
                }

                // dodanie lititem do tabów slidera

                function addList(){
                    if(sliceTab('.ui-carousel .ui-carousel-page-links').length > 0){
                        sliceTab('.ui-carousel .ui-carousel-page-links').forEach(function(el){
                            el.setAttribute("role","list");
                        });
                        sliceTab('.ui-carousel .ui-carousel-page-links a').forEach(function(el){
                            el.setAttribute("role","listitem");
                            el.removeAttribute("href")
                        });
                    }
                }
                function zmienGuzik(){
                    var element = document.querySelector('button.pauseClass');
                    if (element) {
                        element.onclick = function(){
                            element.classList.toggle("startClass")
                        };
                    }
                }

                function zmienText(){
                    if(document.querySelector('button.pauseClass') != null){
                        if(document.querySelector('button.pauseClass span') != null){
                            document.querySelector('button.pauseClass span').removeAttribute("class");
                            document.querySelector('button.pauseClass span').classList.add("sr-only");
                            document.querySelector('button.pauseClass span').textContent="Zatrzymaj automatyczne przewijanie slajdów";

                            var licznik="0";
                            document.querySelector('button.pauseClass').addEventListener("click",function(){
                                licznik++;
                                if(licznik%2 !=0){
                                    document.querySelector('button.pauseClass span').textContent="Włącz automatyczne przewijanie slajdów"
                                } else {
                                    document.querySelector('button.pauseClass span').textContent="Zatrzymaj automatyczne przewijanie slajdów"
                                }
                            })
                        }
                    }
                }
                function zatrzymajSlider(){
                    var licznik = 0;
                    var elemnt = document.querySelector('button.pauseClass');
                    if (elemnt) {
                        elemnt.addEventListener("click", function() {
                            licznik++;
                            if(licznik % 2 == 0){
                                PF('carouselNice').startAutoplay();
                            } else {
                                PF('carouselNice').stopAutoplay();
                            }
                        });
                    }
                }
        // function pokazStrefe(){
        //     if(document.querySelector('form[method="post"]') != null){
        //         var aktualnaStrefa =  document.querySelector('form[method="post"]').action.split('/')[5];
        //     }
        //     if(sliceTab('.opis.ui-menuitem-linka').length >0){
        //         sliceTab('.opis.ui-menuitem-linka').forEach(function(el){
        //             if(el.textContent.toLowerCase().split(' ').join('') === aktualnaStrefa){
        //                 el.parentElement.classList.add("showMe")
        //             }
        //             if(el.textContent.toLowerCase().split(' ').join('') === 'wpłaty' && aktualnaStrefa === 'wplaty'){
        //                 el.parentElement.classList.add("showMe")
        //             }
        //             if(el.textContent.toLowerCase().split(' ').join('') === 'stronagłówna' && aktualnaStrefa === 'stronaGlownaPT.xhtml'){
        //                 el.parentElement.classList.add("showMe")
        //             }
        //         })
        //     }
        // }

        function zmniejszStopke(){
            var ilosc = document.querySelectorAll('.stopka .ui-menu li.ui-menuitem').length;
            if(ilosc >0){
                if(ilosc >9){
                    document.querySelector('.stopka').classList.add('zmniejszSzerokosc')
                }
            }
        }

                function przeniesButton() {
                    var buttonPause = document.querySelector('button.pauseClass');
                    var beforeDiv = document.querySelector('.ui-carousel .ui-carousel-page-links');
                    if (buttonPause && beforeDiv) {
                        beforeDiv.insertAdjacentElement("beforebegin", buttonPause);
                    }
                }

                init();
            })();
});

function addEmpty() {
    $(".ui-datatable-empty-message").each(function (index) {
            $(this).parent().parent().after("<div role='alert' class=\"tabela_brak_danych\">" + $(this).text() + "</div>");
            $(this).remove();
        }
    );

    [].slice.call(document.querySelectorAll('.rolebutton')).forEach(function (value) {
        value.removeAttribute('role');
    });
}






