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/apics.creativefellows.nl/23062022/public/js/app copy.js
$(document).foundation().ready(function(){
			
	$(".lazy-image, .lazy-load-image").Lazy({
		effect: "fadeIn",
		effectTime : 500,
		enableThrottle: true,
        throttle: 250,
		afterLoad: function(el){
			//console.log( el );
			el.parent().addClass("apics-shape__visible");
		}
	});
	
	
	$("#view-container .cell").each(function(i, el) {
		
		///console.log("Test");
		if ($(el).visible(true)) {
			$(el).addClass("already-visible"); 
	  	} 
		
	});	
	
	$(window).scroll(function(event) {
  
		$("#view-container .cell").each(function(i, el){
			if ($(el).visible(true)) {
				$(el).addClass("come-in"); 
			} 
		});
  
	});
	
	$("#responsive-menu a").click(function(){
		
		if(Foundation.MediaQuery.current == ("small" || "medium") ){
			
			if($(this).attr("href")){
				$("#responsive-menu").toggle();
				$(".toggle-menu").toggleClass("open");
				
			}
			
		}
		
	});
	
	$("#filter-jobs").toggleFilterSearch();
	
	// cookie accept
	$('#acceptCookie').on("click",function(event)
	{
		event.preventDefault();

		var link = $(this).attr("data-link")
		$.ajax({
			type: 'POST',
			url: link,
			complete: function(){
				$("#accept-cookies").slideUp("fast");	
			}	
		});
	});
	
	//$(".row__mask-images img").RandomShapes();
	
});


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

		var plugin		= $(this);
		var $results 	= $("#job-search-container");
		var $counter 	= $results.find( $("[data-job-count]") );
		var $job_cta 	= $results.find( $("[data-job-cta]") );
		
		
		var $pagination = $results.find("[data-job-pagination]");
		
		
		var $links 		= plugin.find("a");
		var $buttons 	= plugin.find(".button[data-submit]");
		var $reset	 	= plugin.find(".button[data-reset]");
		var $filters 	= plugin.find(".filter-options");
		var $container	= $results.find("[data-jobs-container]");
		
		var $search		= $("#search-jobs");
		var $shadeout;
		
		var baselink = plugin.data("post-action");//"/vacatures";
		
		plugin.settings = {
			shade_visible : false,
			filter_open : false,
			active_filter : null,
			clicked_filter : null,
			current_page : 1,
		}
		
		plugin.parameters = {}
		
		plugin.init = function()
		{
			
			// create shade
			plugin.shadeOut();

			// open
			$links.click( plugin.click );
			
			// close
			$buttons.click( plugin.filterJobs );

			// search
			//$search.click( plugin.search );
			
			// reset
			$reset.click( plugin.resetFilters );
			
			
		}
		
		
		plugin.resetFilters = function()
		{
			$(this).closest("form").find("input:checkbox").prop("checked",false);
			$(this).closest("form").find("input:text").val("");
			
		}
		
		
		plugin.search = function(event)
		{
			event.preventDefault();

			plugin.setFormData( );
			
			plugin.postSearch(true);
			
			
		}
				
				
		plugin.filterJobs = function(event){
			
			event.preventDefault();
			
			plugin.closeFilters();
	
			plugin.setFormData( );
			
			plugin.postSearch(true);
			
			
		}	
		
		
		plugin.setFormData = function()
		{	
			var data = $("#filter-jobs-form").serializeArray();
			data.push({name: "q", value: $("#test").val() });
			data.push({name: "page", value: plugin.settings.current_page });
			
			plugin.parameters = data;
		}
		
		
		
		plugin.postSearch = function(){
			
			$.ajax({
				type: 'POST',
				url: baselink,
				data: plugin.parameters,
				success: function(data){
					
					// insert jobs
					$container.html("");
				
					$.each( data.jobs, function( i, item ) {
						$container.append( plugin.setJobData(item) );
					});
					
					// equalize blocks
					Foundation.reInit( $container ); 
					$("#filter-jobs").parent().css('height','auto');
					
					// set job count
					$counter.html(data.message);
					if(data.cta) $job_cta.html(data.cta).removeClass("hide");
					
					// set pagination
					plugin.setPagination( data.pagination.html );			
					
				}	
			});
			
		}
		
		plugin.setPagination = function(html)
		{	
			// update html
			$pagination.html( html );
		
			// pagination clicks
			$pagination.find("a").click(function(event)
			{
				event.preventDefault();
								
				// update clicked
				$pagination.find("li").removeClass("current");
				$(this).parent().addClass("current");
				
				// set page to view			
				plugin.settings.current_page = $(this).data("page");

				// set form data
				plugin.setFormData();
			
				// do search			
				plugin.postSearch();
				
			});
			
		}
		
		
		
		plugin.paginationLink = function(i)
		{
			return baselink +'/'+ i;
		}
		
			
		plugin.setJobData = function(jobdata)
		{
			return '<div class="cell small-12 medium-6 large-3">\
 						<div class="callout callout__vacatures">\
 							<div class="callout-inner">\
 								<div class="callout-text" data-equalizer-watch>\
									<h3>'+ jobdata.title +'</h3>\
									<p>'+ jobdata.summary +'</p>\
	 								<ul class="menu vertical menu__jobs-features">\
	 									<li class="icon icon__location">'+ jobdata.location +'</li>\
	 									<li class="icon icon__salary">'+ jobdata.salary_desc +'</li>\
	 									<li class="icon icon__hours">'+ jobdata.hours +'</li>\
	 									<li class="icon icon__education">'+ jobdata.education +'</li>\
	 								</ul>\
								</div>\
 								<a class="link link__apics-pointer" href="'+ jobdata.url +'">'+ jobdata.button +'</a>\
 							</div>\
 						</div>\
 				 	   </div>';
		}		
			
				
		plugin.click = function()
		{
			plugin.settings.clicked_filter = $(this);		
			plugin.toggleShadeOut();
		}	
		
		
		plugin.toggleShadeOut = function()
		{
			// not open & not visible
			if(!plugin.settings.filter_open && !plugin.settings.shade_visible) plugin.openFilter();
			else if(plugin.settings.shade_visible && plugin.settings.filter_open && !plugin.settings.active_filter.is(plugin.settings.clicked_filter) ) plugin.switchFilter();
			else plugin.closeFilters(true);
			
		}
		
		
		plugin.openFilter = function()
		{
			plugin.settings.shade_visible 	= true;
			plugin.settings.filter_open		= true;
			plugin.settings.active_filter 	= plugin.settings.clicked_filter;
			
			$shadeout.fadeIn();
		}
		
		
		plugin.switchFilter = function()
		{
			
			// hide others element
			$filters.filter(':visible').addClass("hide");
			
			plugin.settings.active_filter 	= plugin.settings.clicked_filter;
			plugin.settings.shade_visible 	= true;
			plugin.settings.filter_open		= true;
			
		}
		
		
		plugin.closeFilters = function()
		{
			plugin.settings.shade_visible 	= false;
			plugin.settings.filter_open		= false;
			plugin.settings.active_filter 	= null;
			plugin.settings.clicked_filter 	= null;
			
				
			setTimeout(function(){
				$filters.addClass("hide");	
			},100)
			
			
			$shadeout.fadeOut();
			//console.log("close");
		}
		
		
		plugin.shadeOut = function()
		{
			
			if( $(".shadeout").length == 0 )
			{	
				$shadeout = $('<div class="shadeout"></div>').hide();
				$shadeout.insertAfter( plugin );
			}
			else $shadeout = $(".shadeout");
			
		}
		
		
		// init the plugin
	    plugin.init();
		
		
	});
}


$.fn.visible = function(partial) {
    
      var $t            = $(this),
          $w            = $(window),
          viewTop       = $w.scrollTop(),
          viewBottom    = viewTop + $w.height(),
          _top          = $t.offset().top,
          _bottom       = _top + $t.height(),
          compareTop    = partial === true ? _bottom : _top,
          compareBottom = partial === true ? _top : _bottom;
    
    return ((compareBottom <= viewBottom) && (compareTop >= viewTop));

};


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

		var plugin	= $(this);
		
	
		
		plugin.init = function()
		{
			
			var shape = $('<div class="apics-shape">');//.addClass("test");
			
			plugin.wrap(shape);
			
		}
				
		// init the plugin
	    plugin.init();
		
		
	});
}



$(document).pjax('.top-bar a:not(.lang), a[ajax-load], .pagination a', '#view-container, #search-jobs', { 
	fragment: '#view-container', 
	timeout: 3000
});

$(document).on('pjax:send', function() {
  $('#loading').show()
});

$(document).on('pjax:complete', function(){
	
	$('#loading').fadeOut();
	$(document).foundation();
	
	$("#filter-jobs").toggleFilterSearch();
	Foundation.reInit( $("[data-jobs-container]") ); 
	setTimeout(function(){
		$("#filter-jobs").parent().css('height','auto');
	},100)
		
	
	$(".lazy-image, .lazy-load-image").Lazy({
		effect: "fadeIn",
		effectTime : 500,
		enableThrottle: true,
        throttle: 250,
		afterLoad: function(el){
			//console.log( el );
			el.parent().addClass("apics-shape__visible");
		}
	});
	
});