HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/ridderstee.komma.pro/wwwroot/js/main.js
/**
 * Created by Pascal on 30/09/15.
 */
$(function () {

    setTimeout(function(){animations();}, 800);

    // Detect if throttle and debounce function are init
    if (typeof $.throttle === "undefined") rebindThrottleDebounce();

    $(window).scroll(
        $.throttle( 250, scroller )
    );


    //get internal link and animate them examp: <a href='#top'>Home</a>
    $('a.internalLink').click(function(){
        animateScroll($(this));
        return false;
    });


    // Hide search form
    $(window).click(function () {
        $('#search-form').removeClass('show');
    });

    // Show search form
    $('#enable-search, #search-form').click(function (event) {
        event.stopPropagation();
        $('#search-form').addClass('show');
        $('#search-form #search').focus();
    });

    $('#search-form .close').click(function(event){
        event.stopPropagation();
        $('#search-form').removeClass('show');
    });

    // Submit form
    $('#search-form .submit-button').click(function () {
        // Check if query isn't empty
        var q = $('#search-form #search').val();
        if(q != '') $('#search-form').submit();
    });

    $('.sticky-nav .languages').click(function () {
        $('.sticky-nav .languages').toggleClass('show');
    });


    var foundByLists = document.querySelectorAll('.js-found-by-select');
    for (var i = 0; i < foundByLists.length; i++)
    {
        foundBySelectInit(foundByLists[i]);
    }

});

function scroller() {

    animations();

    if(isElementFullInViewport($('header nav ul'))){
        $('.sticky-nav').addClass('hidden');
    }
    else{
        $('.sticky-nav').removeClass('hidden');
    }


}

function animations() {
    $('.animation').each(function(){
        if(isElementFullInViewport($(this))) $(this).removeClass('animation');
    });
    $('.animation-part').each(function(){
        if(isElementPartExtraInViewport($(this), 60)) $(this).removeClass('animation-part');
    });
}

function isElementFullInViewport(el) {
    //special bonus for those using jQuery
    if(el.length > 0){
        if (typeof jQuery === "function" && el instanceof jQuery) {
            el = el[0];
        }

        var rect = el.getBoundingClientRect();

        return (
            rect.top >= 0 &&
            rect.bottom <= (window.innerHeight || $(window).height())
        );
    }
}

function isElementPartInViewport(el)
{
    if(el.length > 0) {
        //special bonus for those using jQuery
        if (typeof jQuery !== 'undefined' && el instanceof jQuery) el = el[0];

        var rect = el.getBoundingClientRect();
        // DOMRect { x: 8, y: 8, width: 100, height: 100, top: 8, right: 108, bottom: 108, left: 8 }
        var windowHeight = (window.innerHeight || document.documentElement.clientHeight);
        var windowWidth = (window.innerWidth || document.documentElement.clientWidth);

        var vertInView = (rect.top <= windowHeight) && ((rect.top + rect.height) >= 0);
        var horInView = (rect.left <= windowWidth) && ((rect.left + rect.width) >= 0);

        return (vertInView && horInView);
    }
}

function isElementPartExtraInViewport(el, margin)
{
    if(el.length > 0) {
        //special bonus for those using jQuery
        if (typeof jQuery !== 'undefined' && el instanceof jQuery) el = el[0];

        var rect = el.getBoundingClientRect();
        // DOMRect { x: 8, y: 8, width: 100, height: 100, top: 8, right: 108, bottom: 108, left: 8 }
        var windowHeight = (window.innerHeight || document.documentElement.clientHeight);
        var windowWidth = (window.innerWidth || document.documentElement.clientWidth);

        var vertInView = (rect.top <= (windowHeight - margin)) && ((rect.top + rect.height) >= 0);
        var horInView = (rect.left <= windowWidth) && ((rect.left + rect.width) >= 0);

        return (vertInView && horInView);
    }
}

function tabletOrMobile() {
    if(window.navigator.userAgent.match(/Mobile/i)
        || window.navigator.userAgent.match(/iPhone/i)
        || window.navigator.userAgent.match(/iPod/i)
        || window.navigator.userAgent.match(/IEMobile/i)
        || window.navigator.userAgent.match(/Windows Phone/i)
        || window.navigator.userAgent.match(/Android/i)
        || window.navigator.userAgent.match(/BlackBerry/i)
        || window.navigator.userAgent.match(/webOS/i)) {
        return true;
        //alert('True - Mobile - ' + navigator.userAgent);
    } else {
        //alert('False - Mobile - ' + navigator.userAgent);
        //return false;
    }
    if(window.navigator.userAgent.match(/Tablet/i)
        || window.navigator.userAgent.match(/iPad/i)
        || window.navigator.userAgent.match(/Nexus 7/i)
        || window.navigator.userAgent.match(/Nexus 10/i)
        || window.navigator.userAgent.match(/KFAPWI/i)) {
        return true;
        //alert('True - Tablet - ' + navigator.userAgent);
    }
    if($('body').width() <= 500){
        return true;
    }
    else {
        //alert('False - Tablet - ' + navigator.userAgent);
        //return false;
    }
}

function animateScroll(e, offset, time){
    offset = typeof offset !== 'undefined' ? offset : 80;
    time = typeof time !== 'undefined' ? time : 800;

    var scrollTo = e.prop('href');
    scrollTo = scrollTo.substr(scrollTo.indexOf('#')+1);

    var body = $('html,body');

    body.animate({
        scrollTop: $('#'+scrollTo).offset().top - offset
    }, time);

    body.on("scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove", function(){
        body.stop();
    });

}


function foundBySelectInit(foundByList) {

    var foundByActiveItem = foundByList.querySelector('.active-item');
    var foundByAlternativeItem = foundByList.parentNode.querySelector('.js-found-by-alternative');

    $(window).click(function () {
        foundByList.classList.add('closed');
    });

    foundByActiveItem.addEventListener('click', function (event) {
        event = event || window.event;
        event.stopPropagation();
        foundByList.classList.remove('closed');
    });

    var foundByListLabels = foundByList.querySelectorAll('label');
    var foundByListLabelsLength = foundByListLabels.length;

    for(var j = 0; j < foundByListLabelsLength; j++){
        var el = foundByListLabels[j];

        el.addEventListener('click', function () {
            updateFoundByLabel(this);
        });
        foundByList.classList.add('closed');
    }

    function updateFoundByLabel(el) {
        var elValue = el.querySelector('.title').innerHTML;
        var foundByElement = foundByActiveItem.querySelector('p');
        foundByElement.innerHTML = elValue ;
        foundByElement.classList.remove('placeholder-p');

        if(elValue == 'Anders...' || elValue == 'Sonst...') foundByAlternativeItem.classList.remove('hidden');
        else foundByAlternativeItem.classList.add('hidden');
    }

}