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/franciscaansebeweging.komma.pro/wwwroot/js/uncompressed/main.js
/**
 * Created by Pascal on 30/09/15.
 */
$(function () {

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

    // 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();

    });
});

function scroller() {

    animations();
}

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

    if( $('.scroll-to-here').length > 0 ){

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

        var offset = 0;

        if(window.innerWidth <= 750) offset = 60;

        body.animate({
            scrollTop: $('#'+$('.scroll-to-here').attr('id')).offset().top - offset
        }, 800);

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

        $('.scroll-to-here').removeClass('scroll-to-here');
    }

}

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 : 0;
    time = typeof time !== 'undefined' ? time : 800;

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

    if(scrollTo == 'contactForm') offset = 75;

    if(window.innerWidth <= 750) offset = 60;


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

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

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

}