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