var baseDir = 'https://www.fidib.nl/'; 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.fidib.nl/resources/ajax/getDependentInputFieldsHTML.php?vid="+veldId+"&selected="+selected.join(),true); ajaxRequest.send(); } $j(function() { hoofdNav = $j(".hoofdnav"); //zetSubMenuMinBreedte(); zetSelectInputPlaceholderKleur(); zetToggleElementen(); zetCollapsables(); 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);})); }); visuals_setup(); }); function redirect(url) { if(!redirectActive) { redirectActive = true; window.location.href = url; } } function stopRedirectAfterClick() { redirectActive = true; setTimeout("redirectActive = false;", 250); } function zetSelectInputPlaceholderKleur() { $j('.inputregel_input select').change(function(){ if($j(this).val() != '') { $j(this).removeClass('tekst_grijs'); } else { $j(this).addClass('tekst_grijs'); } }); } function toggleMobielMenuAnimatie(elementWasVisible, elementToToggle, elementToggler) { if (elementWasVisible) { $j(".mobiel-menu-knop").removeClass('mobiel-menu-knop-animatie'); } else { $j(".mobiel-menu-knop").addClass('mobiel-menu-knop-animatie'); } } 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(); toggleMobielMenuAnimatie(true); } function zetCollapsables() { $j(".collapsable").each(function () { $collapsable = $j(this); var clickableElement = ".collapsable"; var openOrCloseByBodyClick = $collapsable.attr('collapsable-data-bodyclick'); if (openOrCloseByBodyClick == 'false') { clickableElement = ".collapsable-header"; } $j(clickableElement).click(function (e) { $collapsable = $j(this); if (openOrCloseByBodyClick == 'false') { $collapsable= $j(this).parent(); } $header = $collapsable.find('.collapsable-header'); $content = $collapsable.find('.collapsable-body'); if ($content) { $content.slideToggle(150, function() { $header.find('.collapsable-header-text').text(function () { return $content.is(":visible") ? $collapsable.attr('collapsable-data-text-open') : $collapsable.attr('collapsable-data-text-closed'); }); $header.find('.collapsable-header-icon').addClass(function () { if ($content.is(":visible")) { // Specifieke on open functie $javascriptOnOpen = $collapsable.attr('collapsable-data-onopen'); if ($javascriptOnOpen.length > 0) { try { eval($javascriptOnOpen); } catch (e) { if (false) { console.log(e.message); } } } // Algemene on open functie if (typeof collapsablesOnOpen !== 'undefined' && $j.isFunction(collapsablesOnOpen)) { collapsablesOnOpen($collapsable); } $j(this).removeClass($collapsable.attr('collapsable-data-icon-closed')); $j(this).addClass($collapsable.attr('collapsable-data-icon-open')); } else { // Specifieke on close functie $javascriptOnClose = $collapsable.attr('collapsable-data-onclose'); if ($javascriptOnClose.length > 0) { try { eval($javascriptOnClose); } catch (e) { if (false) { console.log(e.message); } } } // Algemene on close functie if (typeof collapsablesOnClose !== 'undefined' && $j.isFunction(collapsablesOnClose)) { collapsablesOnClose($collapsable); } $j(this).removeClass($collapsable.attr('collapsable-data-icon-open')); $j(this).addClass($collapsable.attr('collapsable-data-icon-closed')); } }); }); } }); }); } function collapsablesOnClose(collapsable) { // On close functie if (collapsable.find('.inputregel_input input')) { collapsable.find('.inputregel_input input').val(''); if (typeof setVeiligheid === "function") { setVeiligheid(''); } } } function collapsablesOnOpen(collapsable) { // On open functie } /** * 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; } var visuals_huidige = 0; // Index van huidige afbeelding var visuals_tetonen = 0; // Index van de te tonen afbeelding var visuals_afbeeldingen; // Alle afbeeldingen var visuals_teksten; // Alle teksten var visuals_timeouttracker = new Array(); var visuals_isKlaar = true; var visuals_magLopen = true; var visuals_animateTijdPlaatje = 1000; var visuals_tijdTussenAnimatie = 5000; function visuals_setup() { visuals_afbeeldingen = []; visuals_teksten = []; for (var i=0; i<$j(".header-visual .imgdiv > img, .header-visual-home .imgdiv > img").length; i++) { visuals_afbeeldingen[i] = $j("img#visual"+i).attr('src'); visuals_teksten[i] = [$j("img#visual"+i).attr('visual-title'), $j("img#visual"+i).attr('visual-descr'), $j("img#visual"+i).attr('visual-payoff-textcolor'), $j("img#visual"+i).attr('visual-payoff-bgcolor')]; } if (visuals_afbeeldingen.length > 1) { visuals_startTimer(); } } function visuals_startTimer() { visuals_zetTimeOut("visual",visuals_tijdTussenAnimatie,"visuals_gaVerder()"); } function visuals_zetTimeOut(naam,tijd,functie) { visuals_timeouttracker[naam] = setTimeout(functie,tijd); } function visuals_gaVerder() { if(visuals_isKlaar) { visuals_stopTimeOut("visual"); visuals_tetonen = visuals_bepaalVolgendeIndex(); visuals_magLopen = true; visuals_startAnimatie(visuals_tetonen); } } function visuals_gaTerug() { if(visuals_isKlaar) { visuals_stopTimeOut("visual"); visuals_tetonen = visuals_bepaalVorigeIndex(); visuals_magLopen = true; visuals_startAnimatie(visuals_tetonen); } } function visuals_bepaalVolgendeIndex() { // Laatste afbeelding? Dan terug naar eerste. if(visuals_huidige == visuals_afbeeldingen.length-1) { visuals_tetonen = 0; } else { visuals_tetonen = visuals_tetonen + 1; } return visuals_tetonen; } function visuals_bepaalVorigeIndex() { // Eerste afbeelding? Dan naar laatste. if(visuals_huidige == 0) { visuals_tetonen = visuals_afbeeldingen.length-1; } else { visuals_tetonen = visuals_tetonen - 1; } return visuals_tetonen; } function visuals_stopTimeOut(naam) { clearTimeout(visuals_timeouttracker[naam]); } function visuals_startAnimatie() { if(visuals_magLopen) { visuals_isKlaar = false; $j('img#visual'+visuals_tetonen).css({zIndex:2}); $j('img#visual'+visuals_huidige).css({zIndex:1}); $j('.payoffheader').fadeOut(visuals_animateTijdPlaatje); $j('img#visual'+visuals_tetonen).animate( {opacity:1, queue: false}, visuals_animateTijdPlaatje, "linear", function() { $j('img#visual'+visuals_huidige).css({opacity:0}); if(visuals_magLopen) { $j('.payoffheader').animate( {opacity:0.95, queue: false}, 0, "linear", function() { if (visuals_teksten[visuals_tetonen][0] == '' && visuals_teksten[visuals_tetonen][1] == '') { $j(this).css({opacity:0}); } $j('#visual-titel').removeClass(); $j('#visual-subtitel').removeClass(); var highlightBackGround = ''; if (visuals_teksten[visuals_tetonen][3] != '') { highlightBackGround = 'highlight_'+visuals_teksten[visuals_tetonen][3]; } $j('#visual-titel').addClass('tekst_'+visuals_teksten[visuals_tetonen][2] + ' highlight ' + highlightBackGround); $j('#visual-subtitel').addClass('tekst_'+visuals_teksten[visuals_tetonen][2] + ' highlight ' + highlightBackGround); $j('#visual-titel').html(visuals_teksten[visuals_tetonen][0]); $j('#visual-subtitel').html(visuals_teksten[visuals_tetonen][1]); $j('.payoffheader').fadeIn(visuals_animateTijdPlaatje); visuals_startTimer(); visuals_huidige = visuals_tetonen; visuals_isKlaar = true; } ); } }); } } function visuals_pauzeer() { visuals_magLopen = false; visuals_stopTimeOut("visual"); }