function calculateSize(targetId, tries) { if (tries == undefined) { tries = 0; } setTimeout(function(){ if (($('#' + targetId).children(":first").height() == 0 || $('#' + targetId).children(":first").width() == 0) && tries < 4) { calculateSize(targetId, tries + 1); } else { $('#' + targetId).height($('#' + targetId).children(":first").height()); $('#' + targetId).width($('#' + targetId).children(":first").width()); } }, 500); $('#' + targetId).css({backgroundColor: 'transparent'}); } $(document).ready(function(){ $('#changePreferences, .cc_b_cp').click(function(){ $('#title_targeting').parent('li').hide(); $('#content_targeting').hide(); }); }); (function ($) { /** * @param {object} _options */ $.fn.loadMoreNews = function (_options) { var isLoading = false; var page = 1; var options = { loadingElementId: '#loading', container: '', url: document.location.pathname, nextPage: 2, dateStart: null, dateEnd:null }; $.extend(options, _options); var $isLoading = $(options.loadingElementId, this); $isLoading.hide(); this.unbind('click').click(function (e) { e.preventDefault(); if (!isLoading) { // Set flag and update UI isLoading = 1; $isLoading.show(); var $button = $(this).attr("disabled", "disabled"); var $container = $(options.container); $container.each(function(){$(this).find('.no-results').remove();}); // Fire request for the next page $.ajax({url: options.url + (options.url.indexOf('?') >= 0 ? '&' : '?') + 'pagina=' + options.nextPage + (options.dateStart ? '&dateStart=' + options.dateStart : '') + (options.dateEnd ? '&dateEnd=' + options.dateEnd : '')}) .always(function () { // Whether success or failure, update the UI again isLoading = 0; $isLoading.hide(); $button.removeAttr("disabled"); $(options.container + ' .loader').remove(); }) .done(function (data) { if (!data) { // When no data was returned, disable the button permanently page = -1; $button.attr("disabled", "disabled").text("Geen nieuws meer."); return; } $container.each(function () { var id = this.toString(); $(id).append($('
'+data+'
').find(id).length ? $('
'+data+'
').find(id).children() : $(data)); }); $container.each(function () { var id = this.toString(); if (!$(id).find('li').length) { $(id).append('
  • Geen items gevonden.
  • '); } }); ++options.nextPage; }); } }); }; }(jQuery)); $(function () { $('[data-loadmorenews]').each(function () { $(this).loadMoreNews($(this).data('loadmorenews')); }); }); (function ($) { /** * @param {object} _options */ $.fn.menu = function (_options) { var options = { menuSubmenuClass: 'has_submenu' }; $.extend(options, _options); var $menus = $(this).children('.' + options.menuSubmenuClass); var $container = $(this); $menus.on( "mouseenter", function () { var $menuItem = $(this); $('.menu-submenu > ul.submenu').slideUp(400, function(){$(this).closest('.menu-submenu').remove()}); $('.hover', $container).removeClass('hover'); $menuItem.addClass('hover'); var submenu = $('
    ').append($menuItem.children('ul.submenu').clone()); var pos = $menuItem.offset(); submenu.addClass('menu-submenu').css({top: pos.top, left: pos.left}); submenu.on( "mouseleave", function() { $('.menu-submenu > ul.submenu').slideUp(400, function(){$(this).closest('.menu-submenu').remove()}); $menuItem.removeClass('hover'); } ); $('body').append(submenu); submenu.children('ul.submenu').slideDown(); submenu.find('ul.submenu').subMenu({}); openPlayerInNewScreen(); }); }; /** * @param {object} _options */ $.fn.subMenu = function (_options) { var options = { menuSubmenuClass: 'has_submenu' }; $.extend(options, _options); var $container = $(this); $container.find('li.' + options.menuSubmenuClass + ' > a').click(function(e) { e.preventDefault(); var $li = $(this).closest('li'); $li.children('ul.submenu').slideToggle(); $li.toggleClass('opened'); }); }; }(jQuery)); $(function () { $('.menu').menu({}); $('.mobile-menu').subMenu({}); $('.mobile_menu_button a').click(function() { $('.mobile_menu_container').show(); }); $('.mobile_close_menu_button a').click(function() { $('.mobile_menu_container').hide(); }); $('.mobile_menu_container').click(function(e){ var $target = $(e.target); if(!$target.closest('#mobile_menu_nav').length && $('.mobile_menu_container').is(":visible")) { $('.mobile_menu_container').hide(); } }); }); $(function () { $(".prettyPhoto[rel^='prettyPhoto']").prettyPhoto({ show_title: false, slideshow: 3000, overlay_gallery: true, social_tools: '' }); }); $(function () { $('.scroll_top').click(function (e) { e.preventDefault(); $("html, body").stop().animate({scrollTop: 0}, 500, 'swing'); }); }); (function ($) { /** * @param {object} _options */ $.fn.share = function (_options) { var options = { type: '', types: { facebook: { url: 'https://www.facebook.com/sharer/sharer.php?u=', textOption: false }, twitter_x: { url: 'https://twitter.com/share?url=', textOption: 'text=' }, }, excerptClass: 'excerpt' }; $.extend(options, _options); this.click(function (e) { e.preventDefault(); var type = options.types[options.type]; if (options.type == 'native' && navigator.share != undefined) { var text = $('.' + options.excerptClass).text().trim(); if (text.length + location.href.length > 278) { text = text.substring(0, 278 - (location.href.length + 3)) + '...'; } var data = { url: encodeURI(location.href), text: text, title: $('.page_title').text().trim() }; navigator.share(data) } else if (type !== undefined) { var extra = ''; if (type.textOption) { var text = $('.' + options.excerptClass).text().trim(); if (text.length + location.href.length > 278) { text = text.substring(0, 278 - (location.href.length + 3)) + '...'; } extra = '&' + type.textOption + encodeURI(text); } window.open(type.url + encodeURI(location.href) + extra, "pop", "width=600, height=400, scrollbars=no"); } else { console.error(options.type + ' is unknown'); } }); }; }(jQuery)); $(function () { $('[data-share]').each(function () { $(this).share({type: $(this).data('share')}); }); }); (function ($) { /** * @param {object} _options */ $.fn.snapTo = function (_options) { var options = { elementClass: 'post' }; $.extend(options, _options); var $container = $(this); var $elements = $container.find('.' + options.elementClass + ':visible'); var stopSnapTo = false; var snapTimeout = null; var snapHandler = function() { if (!stopSnapTo) { stopSnapTo = true; var y = $container.scrollLeft(); $elements.each(function () { var offset = $(this).offset(); if (offset.left > -(window.screen.width / 2) && offset.left < window.screen.width / 2) { $container.animate({ scrollLeft: Math.round(y + offset.left) + 'px' }, 300); return false; } }); if (snapTimeout) { clearTimeout(snapTimeout); } snapTimeout = setTimeout(function () { stopSnapTo = false; }, 500); } } var snapToHandlerTimer = null; var scrollHandler = function() { if (snapToHandlerTimer) { clearTimeout(snapToHandlerTimer); } snapToHandlerTimer = setTimeout(snapHandler, 300); }; $container.on( "scroll", scrollHandler); }; }(jQuery)); $(function () { $('[data-snapto]').each(function () { $(this).snapTo($(this).data('snapto')); }); }); (function ($) { /** * @param {object} _options */ $.fn.tabs = function (_options) { var options = { tabClass: 'box_header', activeClass: 'active', contentClass: 'tab_content' }; $.extend(options, _options); var $tabs = $(this).find('.' + options.tabClass); var $container = $(this); $tabs.click(function (e) { e.preventDefault(); $tabs.removeClass(options.activeClass); $container.find('.' + options.contentClass).removeClass(options.activeClass); $container.find('#' + $(this).data('tab-content-id')).addClass(options.activeClass); $(this).addClass(options.activeClass); }); }; }(jQuery)); $(function () { $('[data-tabs]').each(function () { $(this).tabs($(this).data('tabs') ?? {}); }); });