jQuery(document).ready(function() {

    disabilities();

    var wapoMainWindowWidth = $(window).width();
    $('.sf-menu ul li').mouseover(function(){
        // checks if third level menu exist         
        var subMenuExist = $(this).find('.dropdown').length;            
        if( subMenuExist > 0){
            var subMenuWidth = $(this).find('.dropdown').width();
            var subMenuOffset = $(this).find('.dropdown').parent().offset().left + subMenuWidth;
            // if sub menu is off screen, give new position
            if((subMenuOffset + subMenuWidth) > wapoMainWindowWidth){                  
                var newSubMenuPosition = subMenuWidth + 3;
                $(this).find('.dropdown').css({
                    left: -newSubMenuPosition,
                    top: '0',
                });
            }
        }
     });

    enquire.register("screen and (min-width: 768px)", function() {        
        $('.sf-menu').superclick();
    });  

    enquire.register("screen and (max-width: 992px)", function() {        
        $(".position-side-left").detach().insertAfter(".content");
    });

    enquire.register("screen and (min-width: 992px)", function() {        
        $(".position-side-left").detach().insertBefore(".content");
    }); 

});



$(window).bind("load", function() {

    /*
    if($('.slider-wrapper').length)
    {
        $('#slider').nivoSlider({
            effect: 'sliceDown,sliceDownLeft,sliceUp,sliceUpLeft,sliceUpDown,sliceUpDownLeft,fold,boxRandom',
            animSpeed: 500,
            pauseTime: getSlidePauseTime(),
            controlNav: false,
            directionNav: false,
            pauseOnHover: false
        });
    }

    WHCheckCookies();

    $('#cookieRozumiem').click(function (e) {
        e.preventDefault();

        WHCreateCookie('cookies_accepted', 'T', 365);

        $('#cookieBoxCont').fadeOut();
    }); 
    */


    $('.go-to-search').click(function(){
        $('#search-input').focus();
    });

    $('.sf-menu li a').focusin(function(){
        $(this).parent('li').addClass('focused');
    });
    $('.sf-menu li a').focusout(function(){
        $(this).parent('li').removeClass('focused');
    });


    var $container = $('.masonry');
    $container.imagesLoaded( function() {
        $container.masonry();
    });


    $.each($('.addon-box .sf-menu li a'), function(index, value) {
        if($(this).attr('href') == window.location.pathname)
        {
            $(this).css('text-decoration', 'underline');
            $(this).css('font-weight', 'bold');
            $(this).parent().parent().css('display', 'block');
            $(this).parent().parent().parent().parent().css('display', 'block');
            $(this).parent('li').children('ul').css('display', 'block');
            $(this).parent('li').children('ul li ul').css('display', 'block');
        }
    });

    if($('#popup').length && !WHReadCookie('interPop'))
    {
        WHCreateCookie('interPop','popup',1);
        $('.modal').modal();
    }

    var contentHeight = 0;
    if($('.position-side-left').height() >= $('.position-side-right').height())
        contentHeight = $('.position-side-left').height();
    else
        contentHeight = $('.position-side-right').height();

    if($('.content').height() < contentHeight)
        $('.content').height(contentHeight - 15);

	/*
        document.querySelectorAll('.js-carrousel').forEach(slider => {
            const slidesContainer = slider.querySelector('.js-carrousel__container');
            const sliderNextBtn = slider.querySelector('.js-carrousel__button__next');
            const autoRotate = slidesContainer.hasAttribute('data-carousel-auto-rotate') ? parseInt(slidesContainer.getAttribute('data-carousel-auto-rotate')) : false;
            if (autoRotate && slidesContainer.querySelectorAll('.js-carrousel__content').length > 1) {
                let pause = false;
                setInterval(() => {
                    if (!pause) {
                        sliderNextBtn.click();
                    }
                }, autoRotate);
                slider.addEventListener('mouseenter', () => pause = true);
                slider.addEventListener('mouseleave', () => pause = false);
                slider.addEventListener('focusin', () => pause = true);
                slider.addEventListener('focusout', () => pause = false);
            }
        });
	*/	
    
        if (document.querySelector('#popup') && !WHReadCookie('interPop')) {
            const dialog = new A11yDialog(document.querySelector('#popup'));
            WHCreateCookie('interPop', 'popup', 1);
            dialog.on('show', () => (document.documentElement.style.overflowY = 'hidden')).on('hide', () => (document.documentElement.style.overflowY = ''));
            dialog.show();
        }
    
        if (document.querySelector('.lightbox')) {
            new Tobii({
                captionsSelector: 'self',
                captionAttribute: 'title',
                navLabel: ['Poprzednie zdjęcie', 'Następne zdjęcie'],
                closeLabel: 'Zamknij galerię',
            });
        }
    
        const getFilesize = (url, callback) => {
            const xhr = new XMLHttpRequest();
            xhr.open("HEAD", url, true);
            xhr.onreadystatechange = () => {
                if (xhr.readyState === XMLHttpRequest.DONE) {
                    const status = xhr.status;
                    if (status === 0 || (status >= 200 && status < 400)) {
                        callback(parseInt(xhr.getResponseHeader("Content-Length")));
                    }
                }
            };
            xhr.send();
        }
        
        document.querySelectorAll('.attachments_list-item-title').forEach(el => {
            getFilesize(el.href, (size) => {
                const parent = el.parentElement;
                parent.querySelector('.attachments_list-item-type').innerHTML = el.href.split(".").pop().toUpperCase();
                parent.querySelector('.attachments_list-item-size').innerHTML = `${(size / (1024 * 1024)).toFixed(2)}MB`;
            });
        });
    
        const addPaddingToFooter = () => {
            const footer = document.querySelector('footer');
            const cookiesBox = document.querySelector('.cookies');
            const footerBottomPadding = cookiesBox.clientHeight + 10;
            footer.setAttribute('style', `padding-bottom: ${footerBottomPadding}px`);
        }
        
        const removePaddingFromFooter = () => document.querySelector('footer').removeAttribute('style');
    
        if (WHReadCookie('cookies_accepted') !== 'T') {
            document.querySelector('.cookies').hidden = false;
            addPaddingToFooter();
        }
        
        document.querySelector('.cookies__btn-agree').addEventListener('click', () => {
            WHCreateCookie('cookies_accepted', 'T', 365);
            document.querySelector('.cookies').hidden = true;
            removePaddingFromFooter();
        });    

});



function WHCreateCookie(name, value, days) {
    var now = new Date();
    var expire = new Date();
    expire.setFullYear(now.getFullYear());
    expire.setMonth(now.getMonth());
    expire.setDate(now.getDate()+days);
    expire.setHours(0);
    expire.setMinutes(0);
    document.cookie = name+"="+value+"; expires=" + expire.toString() +"; path=/";
}

function WHReadCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}

/*
function WHCheckCookies() {
    if(WHReadCookie('cookies_accepted') != 'T') {
        var message_container = document.createElement('div');
        message_container.id = 'cookieBoxCont';
        var html_code = '<div id="cookieBox" class="hidden-print" style="width:100%; position:fixed; bottom:0; left:0; padding:10px 0; background-color: rgba(0, 0, 0, 0.7); border-top:2px solid #000; text-align:center;"><p style="color:#d5d5d5; font-size:11px; font-family:tahoma,arial,verdana,sans-serif; line-height:16px; margin-bottom:6px">Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki. <a href="http://interefekt.pl/cookies" target="_new" style="color:#fff; font-size:11px; font-family:tahoma,arial,verdana,sans-serif; line-height:16px;">Polityka plików cookies.</a></p><a id="cookieRozumiem" href="#" style="background:#000; padding:6px; border-radius:2px; color:#fff; font-size:11px; font-family:tahoma,arial,verdana,sans-serif; line-height:16px;">Rozumiem ×</a></div>';
        message_container.innerHTML = html_code;
        document.body.appendChild(message_container);
    }

    if(WHReadCookie('return') != 'T') {
        $.ajax({url: "//"+document.domain+"/addviewer"})
        .done(function ( data ) {
            WHCreateCookie('return', 'T', 1);
        });             
    }
}


function updateCalendar(curmonth,curyear) 
{   
    var loading = document.getElementById('monthyear');
    var eventscalendar = document.getElementById('eventscalendar');


    $.ajax({url: "//"+document.domain+"/eventsajax?month="+curmonth+"&year="+curyear,
        beforeSend: function ( xhr ) {
            loading.innerHTML='<img src="/images/loading.gif" border="0" align="absmiddle" />';
        }
    }).done(function ( data ) {
        eventscalendar.innerHTML = data;
    });
}
*/

const updateCalendar = (curmonth, curyear) => {
    const eventscalendar = document.getElementById('eventscalendar');
    $.ajax({ url: "//" + document.domain + "/eventsajax?month=" + curmonth + "&year=" + curyear }).done(function (data) {
        eventscalendar.innerHTML = data;
    });
}


function getSlidePauseTime()
{
    if( $('.slider-img').length > 1 ) {
        return 4000;
    } else {
        return 9999999999999;
    }
}



if('/kontakt' === window.location.pathname) {

    const data = new Map()
    Array.from($('.content-subpage-text h2')).map(h2 => {
        data.set($(h2).html(), $(h2).nextUntil('h2'))
    })
    if (data.size > 0) {
        const html = $('<div aria-multiselectable="true" class="panel-group" id="accordion" role="tablist"></div>')
        let index = 0
        data.forEach((body, h2) => {
            const i = index++
            const panel = $(`<div class="panel panel-default"><div class="panel-heading" id="heading${i}" role="tab"><h2 class="panel-title"><a aria-controls="collapse${i}" aria-expanded="true" data-parent="#accordion" data-toggle="collapse" href="#collapse${i}" role="button">${h2}</a></h2></div><div aria-labelledby="heading${i}" class="panel-collapse collapse ${i === 0 ? 'in' : ''}" id="collapse${i}" role="tabpanel"><div class="panel-body">${body}</div></div></div>`)
            panel.find('.panel-body').html(body)
            $(html).append(panel)
        })
        $('.content-subpage-text').html(html)
    }
}




// for (i = 0; i < acc.length; i++) {
//   acc[i].addEventListener("click", function() {
//     this.classList.toggle("active");
//     console.log(this.parentElement)
//     var panel = this.parentElement.nextElementSibling;
//     if (panel.style.maxHeight) {
//       panel.style.maxHeight = null;
//     } else {
//       panel.style.maxHeight = panel.scrollHeight + "px";
//     }
//   });
// }





















function disabilities()
{
    $('body .go-to-content:eq(1)').after(createDisabilitiesContainer());
    makeContrast();
    makeFont();

    $('.body-wrapper').css('background-position', 'center 28px');
    $('.body-wrapper').css('padding-top', '28px');
    $('.bg-top').css('top', '28px');
    $('.header-bg').css('background-position', 'center 28px');


}

function createDisabilitiesContainer()
{
    return '<div style="position:absolute;top:0;left:0;z-index:9999;width:100%;background:#1b1225;color:#fff;text-align:center; padding:3px;" class="hidden-print" id="disabilities">' +
                '<span>Rozmiar czcionek: <a id="fonta" href="#" title="Standardowa wielkość czcionek" style="font-size:12px;padding-left:5px;color:#fff;">A</a><a id="fontaa" href="#" title="Powiększone czcionki" style="font-size:14px;padding-left:5px;color:#fff;">A+</a><a id="fontaaa" href="#" title="Maksymalna wielkość i pogrubienie czcionek" style="font-size:16px;font-weight:600;padding-left:5px;color:#fff;">A++</a></span>' +
                '<span style="padding:0 15px">|</span>' +
                '<span><a id="contrast" href="#" style="color:#fff;">'+ contrastTypeText() +'</a></span>' +
            '</div>';
}

function makeContrast()
{
    if(isContrastSet()) { 
        $('body').addClass('contrast');
        $('head').append('<link rel="stylesheet" type="text/css" href="/css/contrast.css" />')
    }
}

function isContrastSet()
{
    if(WHReadCookie('contrast') != null) { return true; }
    return false;
}

function contrastTypeText()
{
    if(isContrastSet()){ return 'Ustaw standardowy kontrast'; }
    return 'Zwiększ kontrast';
}

$(document).on('click', '#contrast', function(e){
    e.preventDefault();
    if(isContrastSet())
    {
        document.cookie = 'contrast' + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/';
        location.reload();
    }
    else
    {
        WHCreateCookie('contrast', 'T', 365);
        location.reload();
    }
});

function makeFont()
{
    if(isFontSet()) {
        $('body').addClass('font'+WHReadCookie('font'));
        $('head').append('<link rel="stylesheet" type="text/css" href="/css/font'+WHReadCookie('font')+'.css" />')
    }
}

function isFontSet()
{
    if(WHReadCookie('font') != null) { return true; }
    return false;
}

$(document).on('click', '#fonta', function(e){
    e.preventDefault();
    document.cookie = 'font' + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/';
    location.reload();
});

$(document).on('click', '#fontaa', function(e){
    e.preventDefault();
    document.cookie = 'font' + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/';
    WHCreateCookie('font', 'aa', 365);
    location.reload();
});

$(document).on('click', '#fontaaa', function(e){
    e.preventDefault();
    document.cookie = 'font' + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/';
    WHCreateCookie('font', 'aaa', 365);
    location.reload();
});