(function($){
window.thegemBlogImagesLoaded=function($box, image_selector, callback){
function check_image_loaded(img){
return img.getAttribute('loading')==='lazy'||img.getAttribute('src')===''||(img.complete&&img.naturalWidth!==undefined&&img.naturalWidth!==0);
}
var $images=$(image_selector, $box).filter(function(){
return !check_image_loaded(this);
}),
images_count=$images.length;
if(images_count==0){
return callback();
}
if(window.gemBrowser.name=='ie'&&!isNaN(parseInt(window.gemBrowser.version))&&parseInt(window.gemBrowser.version) <=10){
function image_load_event(){
images_count--;
if(images_count==0){
callback();
}}
$images.each(function(){
if(check_image_loaded(this)){
return;
}
var proxyImage=new Image();
proxyImage.addEventListener('load', image_load_event);
proxyImage.addEventListener('error', image_load_event);
proxyImage.src=this.src;
});
return;
}
$images.on('load error', function(){
images_count--;
if(images_count==0){
callback();
}});
}
window.thegemInitBlogScrollNextPage=function($blog, $pagination){
if(!$pagination.length){
return false;
}
var watcher=scrollMonitor.create($pagination[0]);
watcher.enterViewport(function(){
window.thegemBlogLoadMoreRequest($blog, $pagination, true);
});
}
function finishAjaxRequestActions($blog, $inserted_data, is_scroll, $pagination, next_page, $loading_marker){
if(window.wp!==undefined&&window.wp.mediaelement!==undefined){
window.wp.mediaelement.initialize();
}
$blog.itemsAnimations('instance').show($inserted_data);
if($blog.hasClass('blog-style-justified-2x')||$blog.hasClass('blog-style-justified-3x')||$blog.hasClass('blog-style-justified-4x')||$blog.hasClass('blog-style-justified-100')){
window.thegemBlogImagesLoaded($blog, 'article img', function(){
window.thegemBlogOneSizeArticles($blog);
});
}
if(!$blog.hasClass('pagination-normal')){
if(is_scroll){
$pagination.removeClass('active').html('');
}else{
$loading_marker.remove();
if(next_page==0){
$pagination.hide();
}}
}
$blog
.data('request-process', false)
.data('next-page', next_page);
}
window.thegemBlogLoadMoreRequest=function($blog, $pagination, is_scroll){
var data=thegem_blog_ajax;
var is_processing_request=$blog.data('request-process')||false;
if(is_processing_request){
return false;
}
var paged=$blog.data('next-page');
if(paged==null||paged==undefined){
paged=1;
}
if(paged==0){
return false;
}
if(typeof data['data']=='string'){
data['data']=JSON.parse(data['data']);
}
data['data']['paged']=paged;
data['action']=$blog.data('load-more-action') ? $blog.data('load-more-action'):'blog_load_more';
if(data['action']==='thegem_bloggrid_load_more'||data['action']==='thegem_bloglist_load_more'||data['action']==='thegem_blogtimeline_load_more'){
data['data']=JSON.stringify(data['data']);
}
$blog.data('request-process', true);
if($blog.hasClass('pagination-normal')){
$blog.prepend('<div class="preloader-spin-new"></div>');
}else if(is_scroll){
$pagination.addClass('active').html('<div class="loading"><div class="preloader-spin"></div></div>');
}else{
var $loading_marker=$('<div class="loading"><div class="preloader-spin"></div></div>');
$('.gem-button-container', $pagination).before($loading_marker);
}
$.ajax({
type: 'post',
dataType: 'json',
url: thegem_blog_ajax.url,
data: data,
success: function(response){
if(response.status=='success'){
var $newItems=$(response.html),
$inserted_data=$($newItems.html()),
current_page=$newItems.data('page'),
next_page=$newItems.data('next-page');
if($blog.hasClass('pagination-normal')){
$blog.html($inserted_data);
finishAjaxRequestActions($blog, $inserted_data, is_scroll, $pagination, next_page, $loading_marker);
}else if($blog.hasClass('blog-style-masonry')||$blog.hasClass('blog-style-timeline_new')){
window.thegemBlogImagesLoaded($newItems, 'article img', function(){
$blog.thegem_isotope('insert', $newItems);
finishAjaxRequestActions($blog, $inserted_data, is_scroll, $pagination, next_page, $loading_marker);
});
}else{
$blog.append($inserted_data);
finishAjaxRequestActions($blog, $inserted_data, is_scroll, $pagination, next_page, $loading_marker);
}
$blog.initBlogFancybox();
window.thegemUpdateLikesIcons($blog);
}else{
alert(response.message);
}}
});
}
window.thegemBlogOneSizeArticles=function($blog){
var elements={};
$("article", $blog).css('height', '');
$("article", $blog).each(function(i, e){
var transform=$(this).css('transform');
var translateY=0;
if(transform!=undefined&&transform!='none'){
translateY=parseFloat(transform.substr(1, transform.length - 2).split(',')[5]);
if(isNaN(translateY)){
translateY=0;
}}
var elPosition=parseInt($(this).position().top - translateY);
var elHeight=$(this).height();
if(elements[elPosition]==undefined){
elements[elPosition]={'array':[$(this)], 'maxHeight':elHeight};}else{
elements[elPosition]['array'].push($(this));
if(elements[elPosition]['maxHeight'] < elHeight){
elements[elPosition]['maxHeight']=elHeight;
}}
});
$.each(elements, function(i, e){
var item=this;
$.each(item.array, function(){
$(this).height(item.maxHeight);
});
});
}
window.thegemUpdateLikesIcons=function($blog){
$blog.find('.post-meta-likes').each(function (){
if($(this).find('i').length){
if(!$(this).find('a').children('i').length){
var icon=$(this).children('i');
$(this).find('a').prepend(icon);
}}else if($(this).find('svg').length){
if(!$(this).find('a').children('svg').length){
var icon_svg=$(this).children('svg');
$(this).find('a').prepend(icon_svg);
}}
});
}})(jQuery);