Current File : /home/kelaby89/abl.academy/wp-content/themes/eduma/assets/js/portfolio.js
/* Smartresize */
;(function($,sr){
	// debouncing function from John Hann
	// http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
	var debounce = function (func, threshold, execAsap) {
	    var timeout;
	    return function debounced () {
	        var obj = this, args = arguments;
	        function delayed () {
	            if (!execAsap)
	                func.apply(obj, args);
	            timeout = null;
	        };
	        if (timeout)
	            clearTimeout(timeout);
        	else if (execAsap)
	            func.apply(obj, args);

	        timeout = setTimeout(delayed, threshold || 100);
	    };
	}
 	// smartresize
 	jQuery.fn[sr] = function(fn){  return fn ? this.bind('resize', debounce(fn)) : this.trigger(sr); };
})(jQuery,'smartresize');
/* End Portfolio */
jQuery(document).ready(function() {
	/* Portfolio */
	/********************************
	        CSS3 Animations
	********************************/
	jQuery(".be-animate").appear();
	jQuery(".be-animate").each(function () {

	        var $this = jQuery(this);
	        if ($this.is(':appeared')) {
	            $this.addClass("already-visible");
	            $this.addClass($this.attr('data-animation'));
	            $this.addClass('animated');
	        }
	});
	jQuery(document).on('appear', '.be-animate', function () {
	        var $this = jQuery(this);
	        if ($this.is(':appeared')) {
	            $this.addClass("already-visible");
	            $this.addClass($this.attr('data-animation'));
	            $this.addClass('animated');
	        }
	});

	jQuery(document).on('click', '.slider-popup', function (e) {
		e.preventDefault();
		jQuery('.gallery-slider-content').addClass("add-fix");
		jQuery("html").addClass("overflow-hidden");
		jQuery('.gallery-slider-content').html ('<i class="fa fa-spinner fa-spin"></i>');
		var $this = jQuery(this);
		setTimeout(function () {
	    	jQuery.ajax({
	            type : "GET",
	            url : $this.attr('data-href'),
	            success : function (data) {
	            	jQuery('.gallery-slider-content').html(data);

	            	jQuery('.carousel-slider').carousel({
				    	interval: false
					});
					jQuery('.carousel-control.left').click(function() {
					  jQuery('.carousel-slider').carousel('prev');
					});
					jQuery('.carousel-control.right').click(function() {
					  jQuery('.carousel-slider').carousel('next');
					});
					jQuery('.carousel-indicators li').bind('click', function(e){
						var index = jQuery(this).index();
						jQuery('.carousel-slider').carousel(index);
					});
					jQuery('.carousel-slider').css({'margin': 0, 'width': jQuery(window).outerWidth(), 'height': jQuery(window).outerHeight()});
					jQuery('.carousel-slider .item').css({'position': 'fixed', 'width': '100%', 'height': '100%'});
					jQuery('.carousel-inner div.item img').each(function() {
						var imgSrc = jQuery(this).attr('src');
						jQuery(this).parent().css({'background': 'url('+imgSrc+') center center no-repeat', '-webkit-background-size': 'cover', '-moz-background-size': 'cover', '-o-background-size': 'cover', 'background-size': 'cover'});
						jQuery(this).remove();
					});
					jQuery(window).on('resize', function() {
						jQuery('.carousel-slider').css({'width': jQuery(window).outerWidth(), 'height': jQuery(window).outerHeight()});
					});
					jQuery(document).keyup(function(e) {
					  	if (e.keyCode == 27) {
					  		jQuery("html").removeClass("overflow-hidden");
					  		jQuery('.gallery-slider-content').html("");
					  		jQuery('.gallery-slider-content').removeClass("add-fix");
					  	}
					});
					jQuery(document).on('click', '.close-slider', function (e) {
				    	e.preventDefault();
				    	jQuery("html").removeClass("overflow-hidden");
						jQuery('.gallery-slider-content').html("");
						jQuery('.gallery-slider-content').removeClass("add-fix");
				    });
	            }
	        });
	    }, 300);
	});
	jQuery(document).on('mouseup', '#carousel-slider-generic, .carousel-control', function(e) {
		if(jQuery('.gallery_content').hasClass('show')) {
			jQuery('.gallery_content').removeClass('show');
		}
	});
	jQuery(document).on('click', '.single_portfolio_info_close', function (e) {
		e.preventDefault();
	    jQuery(this).closest('.gallery_content').toggleClass('show');
	});
	if(jQuery().magnificPopup){
		jQuery('.video-popup').magnificPopup({
			disableOn: 700,
			type: 'iframe',
			mainClass: 'mfp-fade',
			removalDelay: 160,
			preloader: false,
			fixedContentPos: false
		});

		jQuery(".image-popup-02").magnificPopup({
			type       : "image",
			image: {
				titleSrc: function(item) {
					return 'title';
				},
				tError: '<a href="%url%">The image #%curr%</a> could not be loaded.'
			},
			key        : "image-key",
			verticalFit: true,
			mainClass  : "image-popup-style", // This same class is used for video popup
			tError     : '<a href="%url%">The image</a> could not be loaded.',
			gallery    : {
				enabled: true,
				tCounter: '%curr% of %total%' // markup of counter
			},
			callbacks  : {
				open : function () {
					this.content.addClass("fadeInLeft");
				},
				close: function () {
					this.content.removeClass("fadeInLeft");
				}
			}
		});
	}

	function portfolio_layout() {
		var $container = jQuery('.content_portfolio');
	    $container.each(function () {
	        var $this = jQuery(this), $width, $col, $width_unit, $height_unit;
	        var $spacing = 0;
	        if($this.closest('.wapper_portfolio').hasClass('gutter')) {
	        	$spacing = 30;
	        }

	        $this.css({
	            width: '100%'
	        });

	        if($this.find('.item_portfolio').hasClass('five-col')) {
	            $col = 5;
	        } else if($this.find('.item_portfolio').hasClass('four-col')) {
	            $col = 4;
	        } else if($this.find('.item_portfolio').hasClass('three-col')) {
	            $col = 3;
	        }else if($this.find('.item_portfolio').hasClass('two-col')) {
	        	$col = 2;
	        }else {
	        	$col = 1;
	        }

	        if ($col != 1) {
		        if(($this.closest('.portfolio_column').width()+$spacing) < 768) {
		            $col = 2;
		        }
		        if(($this.closest('.portfolio_column').width()+$spacing) < 480) {
		            $col = 1;
		            $spacing = 0;
		        }
		    }

	        $width_unit = Math.floor((parseInt($this.closest('.portfolio_column').width(), 10) - ($col-1)*$spacing )/ $col);
	        $height_unit = Math.floor(parseInt($width_unit/1.5, 10));

	        $this.find('.item_portfolio').css({
	            width: $width_unit
	        });
	        if ($col == 1) {
	            $height_unit = 'auto';
		    }

		    if ($this.closest('.wapper_portfolio').hasClass('multigrid')) {
			    $this.find('.item_portfolio .portfolio-image').css({
		            height: $height_unit
		        });
		    }
	        if($this.closest('.wapper_portfolio').hasClass('multigrid')) {
	            if ($this.find('.item_portfolio').hasClass('height_large') && $col != 1) {
	            	$this.find('.item_portfolio.height_large .portfolio-image').css({
			            height: $height_unit*2+$spacing
			        });
	            }
	            if ($this.find('.item_portfolio').hasClass('item_large') && $col != 1) {
	            	$width = $width_unit*2 +$spacing;
	                $this.find('.item_portfolio.item_large').css({
			            width: $width
			        });
	            }
	        }

	       	$this.imagesLoaded(function () {
	       		$this.css({
		            width: parseInt($this.closest('.portfolio_column').width(), 10)
		        });
	            if($this.closest('.wapper_portfolio').hasClass('gutter')) {
	                $this.isotope({
	                    itemSelector : '.item_portfolio',
	                    masonry: {
	                        columnWidth : $width_unit,
	                        gutter: $spacing
	                    }
	                });
	            }else {
	                $this.isotope({
	                    itemSelector : '.item_portfolio',
	                    masonry: {
	                        columnWidth : $width_unit
	                    }
	                });
	            }
 	        });
	    });
	}
	portfolio_layout();
	jQuery(document).on('click', '.portfolio-tabs li a', function (e) {
		e.preventDefault();
	    var $this = jQuery(this), myClass = $this.attr("data-filter");
	    $this.closest(".portfolio-tabs").find("li a").removeClass("active");
	    $this.addClass("active");
	    $this.closest('.wapper_portfolio').find('.content_portfolio').isotope({ filter: myClass });
	    portfolio_layout();
	});
		jQuery(window).smartresize(function () {
		portfolio_layout();
	});
	/* End Portfilio */
});
Page not found – Hello World !