(function($){
"use strict";
$.avia_utilities=$.avia_utilities||{};
$.fn.avia_iso_sort=function(options){
return this.each(function(){
var the_body=$('body'),
container=$(this),
portfolio_id=container.data('portfolio-id'),
parentContainer=container.closest('.av-portfolio-grid-sorting-container, .entry-content-wrapper, .avia-fullwidth-portfolio'),
filter=parentContainer.find('.sort_width_container[data-portfolio-id="' + portfolio_id + '"]').find('#js_sort_items').css({visibility:"visible", opacity:0}),
links=filter.find('a'),
imgParent=container.find('.grid-image'),
isoActive=false,
items=$('.post-entry', container),
is_originLeft=the_body.hasClass('rtl') ? false:true;
function applyIso(){
container.addClass('isotope_activated').isotope({
layoutMode:'fitRows', itemSelector:'.flex_column', originLeft: is_originLeft
});
container.isotope('on', 'layoutComplete', function(){
container.css({overflow:'visible'});
the_body.trigger('av_resize_finished');
});
isoActive=true;
setTimeout(function(){ parentContainer.addClass('avia_sortable_active'); }, 0);
};
links.on('click',function(){
var current=$(this),
selector=current.data('filter'),
linktext=current.html(),
activeCat=parentContainer.find('.av-current-sort-title');
if(activeCat.length) activeCat.html(linktext);
links.removeClass('active_sort');
current.addClass('active_sort');
container.attr('id', 'grid_id_'+selector);
parentContainer.find('.open_container .ajax_controlls .avia_close').trigger('click');
container.isotope({ layoutMode:'fitRows', itemSelector:'.flex_column' , filter: '.'+selector, originLeft: is_originLeft });
return false;
});
$(window).on('debouncedresize', function(){
applyIso();
});
$.avia_utilities.preload({container: container, single_callback:  function(){
filter.animate({opacity:1}, 400); applyIso();
setTimeout(function(){ applyIso(); });
imgParent.css({height:'auto'}).each(function(i){
var currentLink=$(this);
setTimeout(function(){
currentLink.animate({opacity:1},1500);
}, (100 * i));
});
}});
});
};
$.fn.avia_portfolio_preview=function(passed_options){
var win=$(window),
the_body=$('body'),
isMobile=$.avia_utilities.isMobile,
defaults =
{
open_in:	'.portfolio-details-inner',
easing:		'easeOutQuint',
timing:		800,
transition:	'slide' // 'fade' or 'slide'
},
options=$.extend({}, defaults, passed_options);
return this.each(function(){
var container=$(this),
portfolio_id=container.data('portfolio-id'),
target_wrap=$('.portfolio_preview_container[data-portfolio-id="' + portfolio_id + '"]'),
target_container=target_wrap.find(options.open_in),
items=container.find('.grid-entry'),
content_retrieved={},
is_open=false,
animating=false,
index_open=false,
ajax_call=false,
methods,
controls,
loader=$.avia_utilities.loading();
methods =
{
load_item: function(e){
e.preventDefault();
var link=$(this),
post_container=link.parents('.post-entry').eq(0),
post_id="ID_" + post_container.data('ajax-id'),
clickedIndex=items.index(post_container);
if(post_id===is_open||animating==true){
return false;
}
animating=true;
container.find('.active_portfolio_item').removeClass('active_portfolio_item');
post_container.addClass('active_portfolio_item');
loader.show();
methods.ajax_get_contents(post_id, clickedIndex);
},
scroll_top: function(){
setTimeout(function(){
var target_offset=target_wrap.offset().top - 175,
window_offset=win.scrollTop();
if(window_offset > target_offset||target_offset - window_offset > 100){
$('html:not(:animated),body:not(:animated)').animate({ scrollTop: target_offset }, options.timing, options.easing);
}},10);
},
attach_item: function(post_id){
content_retrieved[post_id]=$(content_retrieved[post_id]).appendTo(target_container);
ajax_call=true;
},
remove_video: function(){
var del=target_wrap.find('iframe, .avia-video').parents('.ajax_slide:not(.open_slide)');
if(del.length > 0){
del.remove();
content_retrieved["ID_" + del.data('slideId')]=undefined;
}},
show_item: function(post_id, clickedIndex){
if(post_id===is_open){
return false;
}
animating=true;
loader.hide();
if(false===is_open){
target_wrap.addClass('open_container');
content_retrieved[post_id].addClass('open_slide');
methods.scroll_top();
target_wrap.css({display:'none'}).slideDown(options.timing, options.easing, function(){
if(ajax_call){
$.avia_utilities.activate_shortcode_scripts(content_retrieved[post_id]);
$.avia_utilities.avia_ajax_call(content_retrieved[post_id]);
the_body.trigger('av_resize_finished');
ajax_call=false;
}
methods.remove_video();
the_body.trigger('av_resize_finished');
});
index_open=clickedIndex;
is_open=post_id;
animating=false;
}else{
methods.scroll_top();
var initCSS={ zIndex:3 },
easing=options.easing;
if(index_open > clickedIndex){ initCSS.left='-110%'; }
if(options.transition==='fade'){ initCSS.left='0%'; initCSS.opacity=0; easing='easeOutQuad'; }
target_container.height(target_container.height());
content_retrieved[post_id].css(initCSS).avia_animate({'left':"0%", opacity:1}, options.timing, easing);
content_retrieved[is_open].avia_animate({opacity:0}, options.timing, easing, function(){
content_retrieved[is_open].attr({'style':""}).removeClass('open_slide');
content_retrieved[post_id].addClass('open_slide');
target_container.avia_animate({height: content_retrieved[post_id].outerHeight() + 2}, options.timing/2, options.easing, function(){
target_container.attr({'style':""});
is_open=post_id;
index_open=clickedIndex;
animating=false;
methods.remove_video();
if(ajax_call){
the_body.trigger('av_resize_finished');
$.avia_utilities.activate_shortcode_scripts(content_retrieved[post_id]);
$.avia_utilities.avia_ajax_call(content_retrieved[post_id]);
ajax_call=false;
}});
});
}},
ajax_get_contents: function(post_id, clickedIndex){
if(content_retrieved[post_id]!==undefined){
methods.show_item(post_id, clickedIndex);
return;
}
var template=$('#avia-tmpl-portfolio-preview-' + post_id.replace(/ID_/,""));
if(template.length==0){
setTimeout(function(){ methods.ajax_get_contents(post_id, clickedIndex); return; }, 500);
}
content_retrieved[post_id]=template.html();
content_retrieved[post_id]=content_retrieved[post_id].replace('','').replace('*]]>','');
methods.attach_item(post_id);
$.avia_utilities.preload({container: content_retrieved[post_id] , single_callback:  function(){ methods.show_item(post_id, clickedIndex); }});
},
add_controls: function(){
controls=target_wrap.find('.ajax_controlls');
target_wrap.avia_keyboard_controls({27:'.avia_close', 37:'.ajax_previous', 39:'.ajax_next'});
items.each(function(){
var current=$(this), overlay;
current.addClass('no_combo').on('click', function(event){
overlay=current.find('.slideshow_overlay');
if(overlay.length){
event.stopPropagation();
methods.load_item.apply(current.find('a').eq(0));
return false;
}});
});
},
control_click: function(){
var showItem,
activeID=container.find('.active_portfolio_item').data('ajax-id'),
active=container.find('.post-entry-'+activeID);
switch(this.hash){
case '#next':
showItem=active.nextAll('.post-entry:visible').eq(0).find('a').eq(0);
if(!showItem.length){ showItem=$('.post-entry:visible', container).eq(0).find('a').eq(0); }
showItem.trigger('click');
break;
case '#prev':
showItem=active.prevAll('.post-entry:visible').eq(0).find('a').eq(0);
if(!showItem.length){ showItem=$('.post-entry:visible', container).last().find('a').eq(0); }
showItem.trigger('click');
break;
case '#close':
animating=true;
target_wrap.slideUp(options.timing, options.easing, function(){
container.find('.active_portfolio_item').removeClass('active_portfolio_item');
content_retrieved[is_open].attr({'style':""}).removeClass('open_slide');
target_wrap.removeClass('open_container');
animating=is_open=index_open=false;
methods.remove_video();
the_body.trigger('av_resize_finished');
});
break;
}
return false;
},
resize_reset: function(){
if(is_open===false){
target_container.html('');
content_retrieved=[];
}}
};
methods.add_controls();
container.on("click", "a", methods.load_item);
controls.on("click", "a", methods.control_click);
win.on('debouncedresize', methods.resize_reset);
});
};}(jQuery));