HEX
Server: Apache
System: Linux v38079.2is.nl 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: democfellows (10015)
PHP: 8.1.34
Disabled: opcache_get_status
Upload Files
File: /var/www/vhosts/creativefellows.nl/dhwd.creativefellows.nl/js/app.js
$(document).foundation().ready(function(){

	$(".reveal-video").showVideo();
	
	$(".toggle-navigation").toggleNavigation();
	
	$("img.lazy").lazyload({
		effect : "fadeIn"
	});
	
	$('.vertical-align-columns-middle').verticalMiddle();
	
	
	$('.image-showcase').slick({
	  	pauseOnHover:true,
		autoplay: true,
		autoplaySpeed: 4000,
		dots: true,
		infinite: true,
		speed: 500,
		fade: true,
		cssEase: 'linear',
		arrows: false		
	});
	
	// showcase foreground hide on scroll
	$(window).scroll(function(){
		$(".case-foreground .column-wrapper").css("opacity", 1 - $(window).scrollTop() / 250);
	});
	
	
  	// enlarge images
  	$(".image-impression img").enlargeImage();
	
});


$.fn.enlargeImage = function(){
	
	return this.each(function(){

		var image 		= $(this);
		var tp 			= $('<div class="reveal large text-center" data-reveal data-animation-in="scale-in-up" data-animation-out="scale-out-down"><button class="close-button" data-close aria-label="Close modal" type="button"><span aria-hidden="true">&times;</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();
		
		
	});
}


/*
 * Vertical align columns middle
 */
$.fn.verticalMiddle = function(){
	
	var row = $(this);
	var columns = row.find(".columns");
		
	row.height( row.height() );	
		
	$(window).resize(function() {
		$('.vertical-align-columns-middle').css('height','auto');
		row.height( row.height() );	
	});
	
	setTimeout(function(){
	
		columns.each(function(){
		
			if( !$(this).hasClass("no-vertical-align") ){
				$(this).addClass("vertical-align-middle");
			};
	
		});
		
	},500);
	
}



/*
 * show video on click
 */
$.fn.showVideo = function()
{
	$(this).on("click",function(){	
		
		var el 		= $(this);
		var prnt	= el.closest(".image-showcase");
		var video 	= el.attr("data-video");
		
	
		var reveal_el 	= $('<div class="reveal large" data-reveal data-animation-in="fade-in" data-animation-out="fade-out">');
		var iframe		= $('<div class="embed-erternal"><iframe width="100%" height="500" src="" class="video-iframe" frameborder="0" allowfullscreen></iframe></div>');
		var button		= $('<button class="close-button" data-close aria-label="Close modal" type="button"><span aria-hidden="true">&times;</span></button>');
		reveal_el.append(iframe).append(button);

		// set video
		iframe.find(".video-iframe").attr("src",video+"?rel=0&autoplay=1");

		// insert in dom
		reveal_el.insertAfter(prnt);
				
		var elem 	= new Foundation.Reveal( reveal_el,{"speed":500});
		elem.open();
		
	});
}


/*
 * toggle navigation
 */
$.fn.toggleNavigation = function()
{
	var shadeout	= null; 
	var fadeDelay 	= 500; 
	var menu_el		= new Foundation.ResponsiveToggle('.toggle-menu');
	var toggle_nav	= $(this);
	
	$(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();
		
		// open
		if( !$(this).hasClass("open") )
		{
			// hide shade-out
			shadeout.removeClass("is-open").delay(fadeDelay).fadeOut("fast");	
		}
		else
		{	
			// show shade-out
			shadeout.addClass("is-open").hide().fadeIn("fast");	
		}
					
	});
	
	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");				
	}
	
}


/*
 * fixed navigation
 */
$.fn.fixednav = function()
{
	
	var shrinkHeader = 48;
	$(window).scroll(function() {
		var scroll = getCurrentScroll();
		if(scroll >= shrinkHeader)
		{
			$('#header').addClass('shrink');
			$('.header-spacer').addClass('shrink');
			
		}
		else
		{
			$('#header').removeClass('shrink');
			$('.header-spacer').removeClass('shrink');
		}
	});
	function getCurrentScroll() {
    	return window.pageYOffset;
    }
	
	function checkScrollPosition(){
		var scroll = getCurrentScroll();
		if(scroll >= shrinkHeader)
		{
			$('#header').addClass('shrink');
			$('.header-spacer').addClass('shrink');
			
		}
	}
	
	checkScrollPosition();	
	
}