var hoofdNav; var redirectActive = false; var device = { mobile: function() { return $j('body').data('device') == 'mobile' || window.innerWidth < 767; }, tablet: function() { return $j('body').data('device') == 'tablet'; }, desktop: function() { return $j('body').data('device') == 'desktop' && window.innerWidth > 767; } } function handelResizeAf() { hideMobileNav(); zetSubMenuMinBreedte(); } function zetSubMenuMinBreedte() { if(hoofdNav != undefined) { var maxBreedte = hoofdNav.width(); if(hoofdNav.offset() != undefined) { var hoofdNavOffsetLeft = hoofdNav.offset().left; hoofdNav.find("ul > li > ul").each(function(index) { var element = $j(this); var breedteUL = element.width(); var offsetParentUL =element.parent().offset().left-hoofdNavOffsetLeft; if (offsetParentUL+breedteUL>maxBreedte) { element.css({marginLeft:(maxBreedte-offsetParentUL-breedteUL-3)+"px"}); } element.css({minWidth:element.parent().width()+"px"}); }); } } } function generateUUID() { var d = new Date().getTime(); var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = (d + Math.random()*16)%16 | 0; d = Math.floor(d/16); return (c=='x' ? r : (r&0x3|0x8)).toString(16); }); return uuid; } function createPartialFunction(func /*, 0..n args */) { var args = Array.prototype.slice.call(arguments, 1); return function() { var allArguments = args.concat(Array.prototype.slice.call(arguments)); return func.apply(this, allArguments); }; } function hideMobileNav() { $j(".site").attr("style","left :0px"); $j(".mobile-nav").hide(); $j(".site").removeClass('site-uitklap'); $j("body").removeClass('body-uitklap'); } function showMobileNav() { if ($j(".site").hasClass('site-uitklap')) { hideMobileNav(); } else { $j(".mobile-nav").show(); $j(".site").addClass('site-uitklap'); $j("body").addClass('body-uitklap'); $j(".site").attr("style","left:-"+($j(window).width()-50)+"px"); } } var videoDefaults = { defaults: { autoplay: true, controls: false, loop: true, muted: true, poster: 'resources/img/visual-home.jpg', pauseonclick: false } } function iniVideo() { $j('.visual_video').each(function() { $j(this).addClass('canplay'); vid = $j(this).find('video'); vid.prop('autoplay', $j(this).data('autoplay') == undefined ? videoDefaults.defaults.autoplay : $j(this).data('autoplay')); vid.prop('controls', $j(this).data('controls') == undefined ? videoDefaults.defaults.controls : $j(this).data('controls')); vid.prop('loop', $j(this).data('loop') == undefined ? videoDefaults.defaults.loop : $j(this).data('loop')); vid.prop('muted', $j(this).data('muted') == undefined ? videoDefaults.defaults.muted : $j(this).data('muted')); vid.prop('poster', $j(this).data('poster') == undefined ? videoDefaults.defaults.poster : $j(this).data('poster')); vid.prop('pauseonclick', $j(this).data('pauseonclick') == undefined ? videoDefaults.defaults.pauseonclick : $j(this).data('pauseonclick')); if (device.mobile() || device.tablet() || $j('html').hasClass('no-video')) { $j(this).css({ 'background-image': 'url(' + vid.prop('poster') + ')' }); //vid.remove(); } else { vid.on('canplay', function() { $j(this).addClass('canplay'); }); if (vid.prop('pauseonclick')) { vid.on('click', function() { if ($j(this).prop('paused')) { $j(this)[0].play(); } else { $j(this)[0].pause(); } }); } } }); } function iniMenu() { /*$j('.hoofdnav > ul > li').each(function() { $j(this).css("min-width", $j(this).width()+10); });*/ } function deletePlaceholder(input, waarde) { if (input.value==waarde) { input.value=""; } } function setPlaceholder(input, waarde) { if (input.value=="") { input.value=waarde; } } function navigeerNaarAnchorOpPagina() { document.location.href=''; } function getAndShowDependentInputFields(prefix, parentId, elementId, veldId) { var selected = new Array(); // INPUTS $cf('input[name="'+prefix+elementId+'"]').each(function() { if ($cf(this).is(":checked")) { selected.push($cf(this).val()); } }); // SELECTS $cf('select[name="'+prefix+elementId+'"]').each(function() { selected.push($cf(this).find(":selected").val()); }); var ajaxRequest; try { // Opera 8.0+, Firefox, Safari ajaxRequest = new XMLHttpRequest(); } catch (e) { // Internet Explorer Browsers try { ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { return false; } } } // Create a function that will receive data sent from the server ajaxRequest.onreadystatechange = function(){ if(ajaxRequest.readyState == 4 && ajaxRequest.status == 200) { $cf('#div'+prefix+veldId).remove(); $cf('#div'+prefix+parentId).after(ajaxRequest.responseText); } } ajaxRequest.open("GET","https://www.frisbee.nl/resources/ajax/getDependentInputFieldsHTML.php?vid="+veldId+"&selected="+selected.join(),true); ajaxRequest.send(); } $j(function() { hoofdNav = $j(".hoofdnav"); zetSubMenuMinBreedte(); zetToggleElementen(); iniMenu(); iniVideo(); $j(window).resize(function(){ handelResizeAf(); }); // ROT13 encrypted mailto's decoderen $j('a[href^="znvygb"]').each(function() { $j(this).attr('href', $j(this).attr('href').replace(/[a-zA-Z]/g, function(c){return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);})); }); cssEffect(); //transition classes verwijderen $j(".effect_transition_hoek").removeClass("effect_transition_hoek"); $j(".effect_transition_verplaats_y").removeClass("effect_transition_verplaats_y"); var timer = false; var vernieuwen = true; $j(window).scroll( function() { if (vernieuwen) { vernieuwen = false; timer = setTimeout(function() { cssEffect(); vernieuwen = true; }, 10); } }); }); function cssEffect() { var docViewTop = $j(document.scrollingElement || "html").scrollTop(); var docViewHeight = $j(window).height(); var docViewWidth = $j(window).width(); var docViewBottom = docViewTop + docViewHeight; var factor = 1; var minHoeveelheid = 0; var maxHoeveelheid = 0; var effectHoeveelheid = 0; $j('.effect').each(function() { var elemTop = $j(this).offset().top; var elementHeight = $j(this).height(); var elemBottom = elemTop + elementHeight; var yoffset = $j(this).attr('yoffseteffect'); if (yoffset == undefined) { yoffset = 0; } //yoffset=yoffset*(docViewWidth/1024); elemTop=parseFloat(elemTop)+parseFloat(yoffset); if ((elemTop <= docViewBottom) && (elemBottom >= docViewTop)) { var hoeveelheid = -100*(elemTop-docViewTop)/docViewHeight; var transform = ''; if ($j(this).hasClass('effect_hoek')) { factor = $j(this).attr('effect_hoek_factor'); minHoeveelheid = $j(this).attr('effect_hoek_min'); maxHoeveelheid = $j(this).attr('effect_hoek_max'); if (factor == undefined) { factor = 1; } if (minHoeveelheid == undefined) { minHoeveelheid = 0; } if (maxHoeveelheid == undefined) { maxHoeveelheid = 0; } effectHoeveelheid = hoeveelheid*factor; if (effectHoeveelheid<=minHoeveelheid) { effectHoeveelheid=minHoeveelheid; } else if (effectHoeveelheid>=maxHoeveelheid) { effectHoeveelheid=maxHoeveelheid; } transform+='rotate('+effectHoeveelheid+'deg) '; } if ($j(this).hasClass('effect_verplaats_y')) { var minBreedte = $j(this).attr('effect_verplaats_y_min_breedte'); if (minBreedte == undefined) { minBreedte = 0; } if (docViewWidth>=minBreedte) { factor = $j(this).attr('effect_verplaats_y_factor'); minHoeveelheid = $j(this).attr('effect_verplaats_y_min'); maxHoeveelheid = $j(this).attr('effect_verplaats_y_max'); if (factor == undefined) { factor = 1; } if (minHoeveelheid == undefined) { minHoeveelheid = 0; } if (maxHoeveelheid == undefined) { maxHoeveelheid = 0; } effectHoeveelheid = hoeveelheid*factor; if (effectHoeveelheid<=minHoeveelheid) { effectHoeveelheid=minHoeveelheid; } else if (effectHoeveelheid>=maxHoeveelheid) { effectHoeveelheid=maxHoeveelheid; } transform+='translate(0px, '+effectHoeveelheid+'px) '; } } if ($j(this).hasClass('effect_schalen')) { factor = $j(this).attr('effect_schalen_factor'); minHoeveelheid = $j(this).attr('effect_schalen_min'); maxHoeveelheid = $j(this).attr('effect_schalen_max'); if (factor == undefined) { factor = 1; } if (minHoeveelheid == undefined) { minHoeveelheid = 0; } if (maxHoeveelheid == undefined) { maxHoeveelheid = 0; } effectHoeveelheid = hoeveelheid*factor; if (effectHoeveelheid<=minHoeveelheid) { effectHoeveelheid=minHoeveelheid; } else if (effectHoeveelheid>=maxHoeveelheid) { effectHoeveelheid=maxHoeveelheid; } transform+='scale('+effectHoeveelheid+','+effectHoeveelheid+') '; } if (transform.length>0) { $j(this).css('transform', transform); } } }); } function redirect(url) { if(!redirectActive) { redirectActive = true; window.location.href = url; } } function stopRedirectAfterClick() { redirectActive = true; setTimeout("redirectActive = false;", 250); } function zetToggleElementen() { $j(".toggle-element-button").each (function() { $j(this).on('click', function() { // Has button been toggled? Or returned to original (onload) state var elementToggler = $j(this), elementToToggle = $j(elementToggler.data("element-to-toggle")), elementWasVisible = elementToToggle.is(":visible"), animationType = !empty(elementToggler.data("toggle-animation-type")) ? elementToggler.data("toggle-animation-type") : null, animationOptions = !empty(elementToggler.data("toggle-animation-options")) ? JSON.parse(elementToggler.data("toggle-animation-options").replace(/'/g, '"')) : {}, animationSpeed = !empty(elementToggler.data("toggle-animation-speed")) ? elementToggler.data("toggle-animation-speed") : 0; // Default callback before toggleElementDefaultCallbackBefore(elementWasVisible, elementToToggle, elementToggler); // Custom callback before if (typeof window[elementToggler.data("toggle-callback-before")] === 'function') { // Call with toggle state window[elementToggler.data("toggle-callback-before")](elementWasVisible, elementToToggle, elementToggler); } // Change button text accordingly elementToggler.html((elementWasVisible) ? elementToggler.data("text-closed") : elementToggler.data("text-open")); // Check if a callback exists if (!empty(elementToggler.data("toggle-callback"))) { // If valid function if (typeof window[elementToggler.data("toggle-callback")] === 'function') { // Call with toggle state window[elementToggler.data("toggle-callback")](elementWasVisible, elementToToggle, elementToggler); } } // Perform actual element toggle var toggleOptions = { duration: animationSpeed, easing: animationType, complete: function() { // Default callback after toggleElementDefaultCallbackAfter(elementWasVisible, elementToToggle, elementToggler); // Custom callback after if (typeof window[elementToggler.data("toggle-callback-after")] === 'function') { // Call with toggle state window[elementToggler.data("toggle-callback-after")](elementWasVisible, elementToToggle, elementToggler); } } }; elementToToggle.toggle(toggleOptions); }); }); } function toggleElementDefaultCallbackBefore(elementWasVisible, elementToToggle, elementToggler) { sluitUitklapElementen(elementToToggle); } function toggleElementDefaultCallbackAfter(elementWasVisible, elementToToggle, elementToggler) { } function sluitUitklapElementen(elementToExclude) { $j(".toggle-element").not(".toggle-element-ignore-default-behaviour .toggle-element").not(elementToExclude).hide(); } /** * Equivelant to PHP empty() * @param mixedVar * @returns boolean */ function empty(mixedVar) { var emptyValues = [null, false, 0, '', '0', undefined, 'undefined']; // String if (typeof mixedVar === 'string') { // Trim mixedVar = mixedVar.trim(); } // Object if (typeof mixedVar === 'object') { return $j.isEmptyObject(mixedVar); } // Check length if (typeof mixedVar !== 'number' && mixedVar !== undefined && mixedVar !== null && (!mixedVar.length || mixedVar.length == 0)) { return true; } // Check specific empty values for (var i = 0; i < emptyValues.length; i++) { if (mixedVar === emptyValues[i]) { return true; } } return false; }