File: /var/www/vhosts/creativefellows.nl/test.creativefellows.nl/alecs/public/js/app.js
$(document).foundation().ready(function(){
// toggle navigation
$(".toggle-navigation").toggleSearchNavigation();
// cookie accept
$('#acceptCookie').on("click",function(event)
{
event.preventDefault();
var cookies = $(this).closest(".cookies");
$.ajax({
type: 'POST',
url: "accept-cookies",
success: function (response) {
$("#cookies").slideUp("fast");
}
});
});
// check form response
$(".form-response").checkIsSent();
// fixed navigation
$("#header").fixednav();
// enlarge images
$(".enlarge-images img").enlargeImage();
// open external links in new window
$(document.links).filter(function() {
return this.hostname != window.location.hostname;
}).attr('target', '_blank');
});
$.fn.enlargeImage = function(){
return this.each(function(){
var image = $(this);
var tp = $('<div class="reveal large text-center" data-reveal data-animation-in="fade-in" data-animation-out="fade-out"><button class="close-button" data-close aria-label="Close modal" type="button"><span aria-hidden="true">×</span></button></div>');
var img_wrapper = $('<div class="show-large-image"></div>');
var has_closed = false;
var reveal;
image.init = function()
{
// duplicate image
image.duplicate()
reveal = new Foundation.Reveal(tp,{"speed":500});
image.on("click",function(){
reveal.open();
});
}
image.duplicate = function()
{
var img = image.clone();
image.wrap(img_wrapper);
tp.append(img);
tp.insertAfter(image);
}
// init the plugin
image.init();
});
}
/*
* check if a form has been submitted
*/
$.fn.checkIsSent = function(){
return this.each(function(){
var form = $(this);
form.init = function()
{
var s = form.getUrlParameter("s");
var id = form.getUrlParameter("id");
var h = form.getUrlParameter("h");
if(s == 1)
{
$('html, body').animate({
scrollTop: form.offset().top -200
}, 1000);
}
}
form.getUrlParameter = function(sParam){
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : sParameterName[1];
}
}
};
// init the plugin
form.init();
});
}
/*
* toggle navigation
*/
$.fn.toggleSearchNavigation = function()
{
var shadeout = null;
var fadeDelay = 500;
var menu_el = new Foundation.ResponsiveToggle('.toggle-menu');
var toggle_nav = $(this);
var navcopied = false;
var close_search = $('.close-search');
var search = $('#search-products');
$(this).on("click",function(event)
{
// toggle open class
$(this).toggleClass('open');
$("#header").toggleClass('open');
// create mask element if not exists
if( $(".shade-out").length == 0 ) createShadeOut();
else shadeout = $(".shade-out");
// open
if( !$(this).hasClass("open") )
{
// hide shade-out
shadeout.removeClass("is-open").hide().removeClass("white");;
}
else
{
// show shade-out
shadeout.addClass("is-open").hide().fadeIn("fast").addClass("white");
}
// copy nav
if( navcopied == false ) copyNav();
else deleteNav();
});
$(".toggle-search").on("click",function(event)
{
$("#header").toggleClass('navigation-open');
if($("#header").hasClass('navigation-open')){
setTimeout(function(){
$("#q").focus();
},100)
}
});
$('.close-search').on("click",function(event)
{
$("#header").toggleClass('navigation-open');
});
var createShadeOut = function()
{
shadeout = $('<div class="shade-out"></div>').hide();
shadeout.insertAfter("#header");
shadeout.on("click",function(event)
{
// fade shade
hideShadeOut();
// close menu
menu_el.toggleMenu('close');
//
toggle_nav.toggleClass('open');
});
}
var hideShadeOut = function()
{
// hide shade-out
shadeout.removeClass("is-open").delay(fadeDelay).fadeOut("fast");
}
var copyNav = function()
{
//var html = $('<li class="hide-for-large"><a href="agenda">Evenementenkalender</a></li>\
// <li class="hide-for-large"><a href="bezoekersinformatie">Bezoekersinformatie</a></li>\
// <li class="hide-for-large"><a href="tel:+31307210601" class="show-inline"><i class="fal fa-phone" aria-hidden="true"></i></a> <a href="mailto:info@slotzeist.nl" class="show-inline"><i class="fal fa-envelope"></i></a></li>');
if( navcopied == false )
{
// html.insertBefore( $("#search-site") );
navcopied = true;
}
}
var deleteNav = function()
{
// delete inserted navs
//$(".sub-items").remove();
///navcopied = false;
}
}
/*
* Fixed header
*/
$.fn.fixednav = function(){
var shrinkHeader = $('.image-showcase').parent().height() - $('#header').height();
var lastScrollTop = 0;
$(window).scroll(function() {
//console.log($('#header').height());
var scrollYpos = getCurrentScroll();
if(scrollYpos >= shrinkHeader) $('#header').addClass('has-scrolled');
else $('#header').removeClass('has-scrolled');
// scrolling up
//if (scrollYpos < lastScrollTop) $('#header').removeClass('has-scrolled');
// set scroll pos
lastScrollTop = scrollYpos;
});
function getCurrentScroll()
{
return window.pageYOffset;
}
function checkScrollPosition()
{
var scroll = getCurrentScroll();
if(scroll >= shrinkHeader) $('#header').addClass('has-scrolled');
}
checkScrollPosition();
}