;(function($, window, document, undefined) {
	var $win = $(window);
	var $doc = $(document);

	$doc.ready(function() {

       /**
		* Init Magnific Popup
		*/

		$('.link-popup').magnificPopup({
			type: 'ajax',
			removalDelay: 300,
			mainClass: 'mfp-fade',
			callbacks: {
				ajaxContentAdded: function() {
					$('.link-close').on('click', function(event) {
						event.preventDefault();

						$.magnificPopup.close();
					});
				}
			}
		});

		$('.link-popup-img').magnificPopup({
			type: 'image',
			closeOnContentClick: false,
			mainClass: 'mfp-img-mobile',
			image: {
				verticalFit: true,
				titleSrc: function(item) {
					return item.el.attr('title') + '<span>' + item.el.attr('data-small') + '</span>';
				}
			},
		});

		/**
		* 	Init Magnific Popup
		*/

		$('.link-popup-audio').magnificPopup({
			type: 'ajax',
			removalDelay: 300,
			mainClass: 'mfp-audio',
		});



		$('.nav .link-search').clone(true).appendTo('.header .header__entry').addClass('js-cloned');

		//Mobile nav

		$('.nav-trigger').on('click', function(event) {
			event.preventDefault();

			$(this).toggleClass('nav-trigger--active');
			$('.header__navs').slideToggle();

			$('.main').toggleClass('main--overlay');
		});

		// Load More Posts

		$win.scroll(function(event) {
			if (!$('.load-more').length == 0) {
				let $loadButton = $('.load-more');
				let elementTop = $loadButton.offset().top;
				let elementBottom = elementTop + $loadButton.outerHeight();
				let viewportTop = $win.scrollTop();
				let viewportBottom = viewportTop + $win.height();

				if (elementBottom > viewportTop && elementTop < viewportBottom && !$('.ajax-container').hasClass('loading')) {loadMore();}
			}
		});

		function loadMore() {
			var $this = $('.load-more');
			var src = $this.attr('href');
			let $ajaxContainer = $('.ajax-container');

			$ajaxContainer.addClass('loading');

			$.ajax({
				method: "GET",
				url: src,
				dataType: "html",
				success: function (data) {
					var $html = $(data);
					var $posts = $html.find('.ajax-container').children();

					$ajaxContainer.append($posts);

					$posts.addClass('hidden');

					setTimeout(function() {$posts.removeClass('hidden');}, 1);

					var newSrc = $html.find('.load-more');

					if (newSrc.length) {
						$this.attr('href', newSrc.attr('href'));
					} else {$this.hide();}

					setTimeout(function() {$ajaxContainer.removeClass('loading');}, 500);
				}
			})
		}

		$('.slider .slider__slides').slick({
			infinite: true,
			slidesToShow: 1,
			slidesToScroll: 1,
			arrows: false,
		}).on('beforeChange', function( e, slick, currentSlide ) {
			let $activeSlide = $(this).find('.slick-active');
			let video = $activeSlide.find('.video video');
			let audio = $activeSlide.find('audio');

			if (video.length) {video[0].pause();}

			if (audio.length) {audio[0].pause();}
    	});

		$('.slider__btn-prev').click(function(event){
			event.preventDefault();
			$('.slider .slider__slides').slick('slickPrev');
		});


		$('.slider__btn-next').click(function(event){
			event.preventDefault();
			$('.slider .slider__slides').slick('slickNext');
		});

		$('.resource-sort').click(function(){
			let segments = window.location.pathname.split( '/' );
			let order = segments.pop();
			let sort = $(this).data('sort');
			if (order != 'asc' && order != 'desc') {
				order = $(this).data('order');
			}
		
			"asc" == order ? order = 'desc' : order = 'asc';
			let destination = "/resources/" + sort +"/"+ order;
			console.log(destination);
			window.open(destination, "_self");

			return false; 
		});
		
	});

})(jQuery, window, document);

// global functions
var projectSort = function(sortBy) {
	let params = new URLSearchParams(location.search);

	"asc" == params.get('sort') ? params.set('sort', "desc") : params.set('sort', 'asc');
	params.set('orderby', sortBy);
	params.get('orderby') == 'active' ? params.delete('sort') : '';

	let destination = location.pathname + "?" + params;
	window.open(destination, "_self");
}
