(function(theme, $) { 'use strict'; theme = theme || {}; $.extend(theme, { mfpConfig: { tClose: js_porto_vars.popup_close, tLoading: '
', gallery: { tPrev: js_porto_vars.popup_prev, tNext: js_porto_vars.popup_next, tCounter: js_porto_vars.mfp_counter }, image: { tError: js_porto_vars.mfp_img_error }, ajax: { tError: js_porto_vars.mfp_ajax_error }, callbacks: { open: function() { $('body').addClass('lightbox-opened'); var fixed = this.st.fixedContentPos; if (fixed) { $('#header.sticky-header .header-main.sticky, #header.sticky-header .main-menu-wrap, .fixed-header #header.sticky-header .header-main, .fixed-header #header.sticky-header .main-menu-wrap').css(theme.rtl_browser?'left':'right', theme.getScrollbarWidth()); } /* D3-Ahsan - Start */ var that = $(this._lastFocusedEl); if ( ( that.closest('.portfolios-lightbox').hasClass('with-thumbs') ) && $(document).width() >= 1024 ){ var portfolio_lightbox_thumbnails_base = that.closest('.portfolios-lightbox.with-thumbs').find('.porto-portfolios-lighbox-thumbnails').clone(), magnificPopup = $.magnificPopup.instance; $('body').prepend( portfolio_lightbox_thumbnails_base ); var $portfolios_lightbox_thumbnails = $( 'body > .porto-portfolios-lighbox-thumbnails'), $portfolios_lightbox_thumbnails_carousel = $portfolios_lightbox_thumbnails.children('.owl-carousel'); $portfolios_lightbox_thumbnails_carousel.themeCarousel( $portfolios_lightbox_thumbnails_carousel.data('plugin-options') ); $portfolios_lightbox_thumbnails_carousel.trigger('refresh.owl.carousel'); var $carousel_items_wrapper = $portfolios_lightbox_thumbnails_carousel.find('.owl-stage'); $carousel_items_wrapper.find('.owl-item').removeClass('current'); $carousel_items_wrapper.find('.owl-item').eq( magnificPopup.currItem.index ).addClass('current'); $.magnificPopup.instance.next = function() { var magnificPopup = $.magnificPopup.instance; $.magnificPopup.proto.next.call(this); $carousel_items_wrapper.find('.owl-item').removeClass('current'); $carousel_items_wrapper.find('.owl-item').eq( magnificPopup.currItem.index ).addClass('current'); }; $.magnificPopup.instance.prev = function() { var magnificPopup = $.magnificPopup.instance; $.magnificPopup.proto.prev.call(this); $carousel_items_wrapper.find('.owl-item').removeClass('current'); $carousel_items_wrapper.find('.owl-item').eq( magnificPopup.currItem.index ).addClass('current'); }; $carousel_items_wrapper.find('.owl-item').on( 'click', function(){ $carousel_items_wrapper.find('.owl-item').removeClass('current'); $.magnificPopup.instance.goTo( $(this).index() ); $(this).addClass('current'); }); } /* End - D3-Ahsan */ }, close: function() { $('body').removeClass('lightbox-opened'); var fixed = this.st.fixedContentPos; if (fixed) { $('#header.sticky-header .header-main.sticky, #header.sticky-header .main-menu-wrap, .fixed-header #header.sticky-header .header-main, .fixed-header #header.sticky-header .main-menu-wrap').css(theme.rtl_browser?'left':'right', ''); } $('.owl-carousel .owl-stage').each(function() { var $this = $(this), w = $this.width() + parseInt($this.css('padding-left')) + parseInt($this.css('padding-right')); $this.css({'width': w + 200}); setTimeout(function() { $this.css({'width': w}); }, 0); }); /* D3-Ahsan - Start */ var that = $(this._lastFocusedEl); if( ( that.parents('.portfolios-lightbox').hasClass('with-thumbs') ) && $(document).width() >= 1024 ){ $(' body > .porto-portfolios-lighbox-thumbnails').remove(); } /* End - D3-Ahsan */ } } }, }); }).apply(this, [window.theme, jQuery]); // Lightbox (function(theme, $) { 'use strict'; theme = theme || {}; var instanceName = '__lightbox'; var Lightbox = function($el, opts) { return this.initialize($el, opts); }; Lightbox.defaults = { callbacks: { open: function() { $('body').addClass('lightbox-opened'); }, close: function() { $('body').removeClass('lightbox-opened'); } } }; Lightbox.prototype = { initialize: function($el, opts) { if ($el.data(instanceName)) { return this; } this.$el = $el; this .setData() .setOptions(opts) .build(); return this; }, setData: function() { this.$el.data(instanceName, this); return this; }, setOptions: function(opts) { this.options = $.extend(true, {}, Lightbox.defaults, theme.mfpConfig, opts, { wrapper: this.$el }); return this; }, build: function() { if (!($.isFunction($.fn.magnificPopup))) { return this; } this.options.wrapper.magnificPopup(this.options); return this; } }; // expose to scope $.extend(theme, { Lightbox: Lightbox }); // jquery plugin $.fn.themeLightbox = function(opts) { return this.map(function() { var $this = $(this); if ($this.data(instanceName)) { return $this.data(instanceName); } else { return new theme.Lightbox($this, opts); } }); } }).apply(this, [window.theme, jQuery]); // Visual Composer Image Zoom (function(theme, $) { 'use strict'; theme = theme || {}; var instanceName = '__toggle'; var VcImageZoom = function($el, opts) { return this.initialize($el, opts); }; VcImageZoom.defaults = { }; VcImageZoom.prototype = { initialize: function($el, opts) { if ($el.data(instanceName)) { return this; } this.$el = $el; this .setData() .setOptions(opts) .build(); return this; }, setData: function() { this.$el.data(instanceName, this); return this; }, setOptions: function(opts) { this.options = $.extend(true, {}, VcImageZoom.defaults, opts, { wrapper: this.$el }); return this; }, build: function() { var self = this, $el = this.options.container; $el.parent().magnificPopup($.extend(true, {}, theme.mfpConfig, { delegate: ".porto-vc-zoom", gallery: { enabled: true }, mainClass: 'mfp-with-zoom', zoom: { enabled: true, duration: 300 }, type: 'image' })); return this; } }; // expose to scope $.extend(theme, { VcImageZoom: VcImageZoom }); // jquery plugin $.fn.themeVcImageZoom = function(opts) { return this.map(function() { var $this = $(this); if ($this.data(instanceName)) { return $this.data(instanceName); } else { return new theme.VcImageZoom($this, opts); } }); } }).apply(this, [window.theme, jQuery]); // Post Ajax on Modal (function(theme, $) { 'use strict'; theme = theme || {}; var $rev_sliders; $.extend(theme, { PostAjaxModal: { defaults: { elements: '.page-portfolios' }, initialize: function($elements, post_type) { this.$elements = ($elements || $(this.defaults.elements)); if (typeof post_type == 'undefined') { post_type = 'portfolio'; } this.build(post_type); return this; }, build: function(post_type) { var parentobj = this, postAjaxOnModal = { $wrapper: null, modals: [], currentModal: 0, total: 0, p_type: 'portfolio', build: function($this, p_type) { var self = this; self.$wrapper = $this; if (!self.$wrapper) { return; } self.modals = []; self.total = 0; self.p_type = p_type; $this.find('a[data-ajax-on-modal]').each(function() { self.add($(this)); }); $this.off('mousedown', 'a[data-ajax-on-modal]').on('mousedown', 'a[data-ajax-on-modal]', function (ev) { if (ev.which == 2) { ev.preventDefault(); return false; } }); }, add: function($el) { var self = this, href = $el.attr('href'), index = self.total; self.modals.push({src: href}); self.total++; $el.off('click').on('click', function(e) { e.preventDefault(); self.show(index); return false; }); }, next: function() { var self = this; if(self.currentModal + 1 < self.total) { self.show(self.currentModal + 1); } else { self.show(0); } }, prev: function() { var self = this; if((self.currentModal - 1) >= 0) { self.show(self.currentModal - 1); } else { self.show(self.total - 1); } }, show: function(i) { var self = this; self.currentModal = i; if (i < 0 || i > (self.total-1)) { return false; } $.magnificPopup.close(); $.magnificPopup.open($.extend(true, {}, theme.mfpConfig, { type: 'ajax', items: self.modals, gallery: { enabled: true }, ajax: { settings: { type: 'post', data: { ajax_action: self.p_type + '_ajax_modal' } } }, mainClass: self.p_type + '-ajax-modal', fixedContentPos: false, callbacks: { parseAjax: function(mfpResponse) { var $response = $(mfpResponse.data), $post = $response.find('#content article.' + self.p_type), $vc_css = $response.filter('style[data-type]:not("")'), vc_css = ''; $vc_css.each(function() { vc_css += $(this).text(); }); if ($('#' + self.p_type + 'AjaxCSS').get(0)) { $('#' + self.p_type + 'AjaxCSS').text(vc_css); } else { $('').appendTo( "head" ) } $post.find('.' + self.p_type + '-nav-all').html(''); $post.find('.' + self.p_type + '-nav').html(''); $post.find('.elementor-invisible').removeClass('elementor-invisible'); mfpResponse.data = '
' + $post.html() + '
'; }, ajaxContentAdded: function() { // Wrapper var $wrapper = $('.' + self.p_type + '-ajax-modal'); // Close $wrapper.find('a[data-ajax-' + self.p_type + '-close]').on('click', function(e) { e.preventDefault(); $.magnificPopup.close(); return false; }); $rev_sliders = $wrapper.find('.rev_slider, rs-module'); // Remove Next and Close if(self.modals.length <= 1) { $wrapper.find('a[data-ajax-' + self.p_type + '-prev], a[data-ajax-' + self.p_type + '-next]').remove(); } else { // Prev $wrapper.find('a[data-ajax-' + self.p_type + '-prev]').on('click', function(e) { e.preventDefault(); if ($rev_sliders && $rev_sliders.get(0)) { try {$rev_sliders.revkill();} catch(err) {} } $wrapper.find('.mfp-arrow-left').trigger('click'); return false; }); // Next $wrapper.find('a[data-ajax-' + self.p_type + '-next]').on('click', function(e) { e.preventDefault(); if ($rev_sliders && $rev_sliders.get(0)) { try {$rev_sliders.revkill();} catch(err) {} } $wrapper.find('.mfp-arrow-right').trigger('click'); return false; }); } if ('portfolio' == self.p_type) { $(window).trigger('resize'); } porto_init(); theme.refreshVCContent($wrapper); setTimeout(function() { var videos = $wrapper.find('video'); if (videos.get(0)) { videos.each(function() { $(this)[0].play(); $(this).parent().parent().parent().find('.video-controls').attr('data-action','play'); $(this).parent().parent().parent().find('.video-controls').html(''); }); } }, 600); $wrapper.off('scroll').on('scroll', function() { $.fn.appear.run(); }); }, change: function() { $('.mfp-wrap .ajax-container').click(); }, beforeClose: function() { if ($rev_sliders && $rev_sliders.get(0)) { try {$rev_sliders.revkill();} catch(err) {} } // Wrapper var $wrapper = $('.' + self.p_type + '-ajax-modal'); $wrapper.off('scroll'); } } }), i); } }; parentobj.$elements.each(function() { var $this = $(this); if (!$this.find('a[data-ajax-on-modal]').get(0)) return; postAjaxOnModal.build($this, post_type); $this.data(post_type + 'AjaxOnModal', postAjaxOnModal); }); return parentobj; } } }); // Key Press $(document.documentElement).on('keydown', function(e) { try { if (e.keyCode == 37 || e.keyCode == 39) { if ($rev_sliders && $rev_sliders.get(0)) { $rev_sliders.revkill(); } } } catch(err) {} }); }).apply(this, [window.theme, jQuery]); // Portfolio Ajax on Page (function(theme, $) { 'use strict'; theme = theme || {}; var activePortfolioAjaxOnPage; $.extend(theme, { PortfolioAjaxPage: { defaults: { elements: '.page-portfolios' }, initialize: function($elements) { this.$elements = ($elements || $(this.defaults.elements)); this.build(); return this; }, build: function() { var self = this; self.$elements.each(function() { var $this = $(this); if (!$this.find('#portfolioAjaxBox').get(0)) return; var $container = $(this), portfolioAjaxOnPage = { $wrapper: $container, pages: [], currentPage: 0, total: 0, $ajaxBox: $this.find('#portfolioAjaxBox'), $ajaxBoxContent: $this.find('#portfolioAjaxBoxContent'), build: function() { var self = this; self.pages = []; self.total = 0; $this.find('a[data-ajax-on-page]').each(function() { self.add($(this)); }); $this.off('mousedown', 'a[data-ajax-on-page]').on('mousedown', 'a[data-ajax-on-page]', function (ev) { if (ev.which == 2) { ev.preventDefault(); return false; } }); }, add: function($el) { var self = this, href = $el.attr('href'); self.pages.push(href); self.total++; $el.off('click').on('click', function(e) { e.preventDefault(); /* D3-Start */ var _class = e.target.className if( _class == 'owl-next' ){ return false; }else if( _class == 'owl-prev' ){ return false; } else{ self.show(self.pages.indexOf(href)); } /* End-D3 */ return false; }); }, events: function() { var self = this; // Close $this.off('click', 'a[data-ajax-portfolio-close]').on('click', 'a[data-ajax-portfolio-close]', function(e) { e.preventDefault(); self.close(); return false; }); if (self.total <= 1) { $('a[data-ajax-portfolio-prev], a[data-ajax-portfolio-next]').remove(); } else { // Prev $this.off('click', 'a[data-ajax-portfolio-prev]').on('click', 'a[data-ajax-portfolio-prev]', function(e) { e.preventDefault(); self.prev(); return false; }); // Next $this.off('click', 'a[data-ajax-portfolio-next]').on('click', 'a[data-ajax-portfolio-next]', function(e) { e.preventDefault(); self.next(); return false; }); } }, close: function() { var self = this; if (self.$ajaxBoxContent.find('.rev_slider, rs-module').get(0)) { try {self.$ajaxBoxContent.find('.rev_slider, rs-module').revkill();} catch(err) {} } self.$ajaxBoxContent.empty(); self.$ajaxBox.removeClass('ajax-box-init').removeClass('ajax-box-loading'); }, next: function() { var self = this; if(self.currentPage + 1 < self.total) { self.show(self.currentPage + 1); } else { self.show(0); } }, prev: function() { var self = this; if((self.currentPage - 1) >= 0) { self.show(self.currentPage - 1); } else { self.show(self.total - 1); } }, show: function(i) { var self = this; activePortfolioAjaxOnPage = null; if (self.$ajaxBoxContent.find('.rev_slider, rs-module').get(0)) { try {self.$ajaxBoxContent.find('.rev_slider, rs-module').revkill();} catch(err) {} } self.$ajaxBoxContent.empty(); self.$ajaxBox.removeClass('ajax-box-init').addClass('ajax-box-loading'); theme.scrolltoContainer(self.$ajaxBox); self.currentPage = i; if (i < 0 || i > (self.total-1)) { self.close(); return false; } // Ajax $.ajax({ url: self.pages[i], complete: function(data) { var $response = $(data.responseText), $portfolio = $response.find('#content article.portfolio'), $vc_css = $response.filter('style[data-type]:not("")'), vc_css = ''; if ($('#portfolioAjaxCSS').get(0)) { $('#portfolioAjaxCSS').text(vc_css); } else { $('').appendTo( "head" ) } $portfolio.find('.portfolio-nav-all').html(''); $portfolio.find('.portfolio-nav').html(''); self.$ajaxBoxContent.html($portfolio.html()).append('

'); self.$ajaxBox.removeClass('ajax-box-loading'); $(window).trigger('resize'); porto_init(); theme.refreshVCContent(self.$ajaxBoxContent); self.events(); activePortfolioAjaxOnPage = self; self.$ajaxBoxContent.find('.lightbox:not(.manual)').each(function() { var $this = $(this), opts; var pluginOptions = $this.data('plugin-options'); if (pluginOptions) opts = pluginOptions; $this.themeLightbox(opts); }); } }); } }; portfolioAjaxOnPage.build(); $this.data('portfolioAjaxOnPage', portfolioAjaxOnPage); }); return self; } } }); // Key Press $(document.documentElement).on('keyup', function(e) { try { if (!activePortfolioAjaxOnPage) return; // Next if (e.keyCode == 39) { activePortfolioAjaxOnPage.next(); } // Prev if (e.keyCode == 37) { activePortfolioAjaxOnPage.prev(); } } catch(err) {} }); }).apply(this, [window.theme, jQuery]); // Post Filter (function(theme, $) { 'use strict'; theme = theme || {}; $.extend(theme, { PostFilter: { defaults: { elements: '.portfolio-filter' }, initialize: function($elements, post_type) { this.$elements = ($elements || $(this.defaults.elements)); this.post_type = (typeof post_type == 'undefined' ? 'portfolio' : post_type); this.build(); return this; }, build: function() { var self = this; self.$elements.each(function() { var $this = $(this); $this.find('li').on('click', function(e) { e.preventDefault(); if ($(this).hasClass('active')) { return; } var selector = $(this).attr('data-filter'), position = $this.data('position'), $parent; $this.find('.active').removeClass('active'); if (position == 'sidebar') { $parent = $('.main-content .page-' + self.post_type + 's'); //theme.scrolltoContainer($parent); $('.sidebar-overlay').click(); } else if (position == 'global') { $parent = $('.main-content .page-' + self.post_type + 's'); } else { $parent = $(this).closest('.page-' + self.post_type + 's'); } if ('faq' == self.post_type) { $parent.find('.faq').each(function() { var $that = $(this), easing = "easeInOutQuart", timeout = 300; if (selector == '*') { if ($that.css('display') == 'none') $that.stop(true).slideDown(timeout, easing, function() { $(this).attr('style', '').show(); }); selected++; } else { if ($that.hasClass(selector)) { if ($that.css('display') == 'none') $that.stop(true).slideDown(timeout, easing, function() { $(this).attr('style', '').show(); }); selected++; } else { if ($that.css('display') != 'none') $that.stop(true).slideUp(timeout, easing, function() { $(this).attr('style', '').hide(); }); } } }); if (!selected && $parent.find('.faqs-infinite').length && typeof ($.fn.infinitescroll) != 'undefined') { $parent.find('.faqs-infinite').infinitescroll('retrieve'); } } else if ($parent.hasClass('portfolios-timeline')) { var selected = 0; $parent.find('.portfolio').each(function() { var $that = $(this), easing = "easeInOutQuart", timeout = 300; if (selector == '*') { if ($that.css('display') == 'none') $that.stop(true).slideDown(timeout, easing, function() { $(this).attr('style', '').show(); }); selected++; } else { if ($that.hasClass(selector)) { if ($that.css('display') == 'none') $that.stop(true).slideDown(timeout, easing, function() { $(this).attr('style', '').show(); }); selected++; } else { if ($that.css('display') != 'none') $that.stop(true).slideUp(timeout, easing, function() { $(this).attr('style', '').hide(); }); } } }); if (!selected && $parent.find('.portfolios-infinite').length && typeof ($.fn.infinitescroll) != 'undefined') { $parent.find('.portfolios-infinite').infinitescroll('retrieve'); } setTimeout(function() { theme.FilterZoom.initialize($parent); }, 400); } else { $parent.find('.' + self.post_type + '-row').isotope({ filter: selector == '*' ? selector : '.' + selector }); } $(this).addClass('active'); if (position == 'sidebar') { self.$elements.each(function() { var $that = $(this); if ($that == $this && $that.data('position') != 'sidebar') return; $that.find('li').removeClass('active'); $that.find('li[data-filter="' + selector + '"]').addClass('active'); }); } window.location.hash = '#' + selector; theme.refreshVCContent(); }); }); function hashchange() { var $filter = $(self.$elements.get(0)), hash = window.location.hash; if (hash) { var $o = $filter.find('li[data-filter="' + hash.replace('#', '') + '"]'); if (!$o.hasClass('active')) { $o.click(); } } } $(window).on('hashchange', hashchange); hashchange(); return self; } } }); }).apply(this, [window.theme, jQuery]); // Member Ajax on Page (function(theme, $) { 'use strict'; theme = theme || {}; var activeMemberAjaxOnPage; $.extend(theme, { MemberAjaxPage: { defaults: { elements: '.page-members' }, initialize: function($elements) { this.$elements = ($elements || $(this.defaults.elements)); this.build(); return this; }, build: function() { var self = this; self.$elements.each(function() { var $this = $(this); if (!$this.find('#memberAjaxBox').get(0)) return; var $container = $(this), memberAjaxOnPage = { $wrapper: $container, pages: [], currentPage: 0, total: 0, $ajaxBox: $this.find('#memberAjaxBox'), $ajaxBoxContent: $this.find('#memberAjaxBoxContent'), build: function() { var self = this; self.pages = []; self.total = 0; $this.find('a[data-ajax-on-page]').each(function() { self.add($(this)); }); $this.off('mousedown', 'a[data-ajax-on-page]').on('mousedown', 'a[data-ajax-on-page]', function (ev) { if (ev.which == 2) { ev.preventDefault(); return false; } }); }, add: function($el) { var self = this, href = $el.attr('href'); self.pages.push(href); self.total++; $el.off('click').on('click', function(e) { e.preventDefault(); self.show(self.pages.indexOf(href)); return false; }); }, next: function() { var self = this; if(self.currentPage + 1 < self.total) { self.show(self.currentPage + 1); } else { self.show(0); } }, prev: function() { var self = this; if((self.currentPage - 1) >= 0) { self.show(self.currentPage - 1); } else { self.show(self.total - 1); } }, show: function(i) { var self = this; activeMemberAjaxOnPage = null; if (self.$ajaxBoxContent.find('.rev_slider, rs-module').get(0)) { try {self.$ajaxBoxContent.find('.rev_slider, rs-module').revkill();} catch(err) {} } self.$ajaxBoxContent.empty(); self.$ajaxBox.removeClass('ajax-box-init').addClass('ajax-box-loading'); theme.scrolltoContainer(self.$ajaxBox); self.currentPage = i; if (i < 0 || i > (self.total-1)) { self.close(); return false; } // Ajax $.ajax({ url: self.pages[i], complete: function(data) { var $response = $(data.responseText), $member = $response.find('#content article.member'), $vc_css = $response.filter('style[data-type]:not("")'), vc_css = ''; $vc_css.each(function() { vc_css += $(this).text(); }); if ($('#memberAjaxCSS').get(0)) { $('#memberAjaxCSS').text(vc_css); } else { $('').appendTo( "head" ) } var $append = self.$ajaxBox.find('.ajax-content-append'), html = ''; if ($append.length) html = $append.html(); self.$ajaxBoxContent.html($member.html()).prepend('

').append('

' + html); self.$ajaxBox.removeClass('ajax-box-loading'); $(window).trigger('resize'); porto_init(); theme.refreshVCContent(self.$ajaxBoxContent); activeMemberAjaxOnPage = self; } }); } }; memberAjaxOnPage.build(); $this.data('memberAjaxOnPage', memberAjaxOnPage); }); return self; } } }); // Key Press $(document.documentElement).on('keyup', function(e) { try { if (!activeMemberAjaxOnPage) return; // Next if (e.keyCode == 39) { activeMemberAjaxOnPage.next(); } // Prev if (e.keyCode == 37) { activeMemberAjaxOnPage.prev(); } } catch(err) {} }); }).apply(this, [window.theme, jQuery]); // Filter Zoom (function(theme, $) { 'use strict'; theme = theme || {}; $.extend(theme, { FilterZoom: { defaults: { elements: null }, initialize: function($elements) { this.$elements = ($elements || this.defaults.elements); this.build(); return this; }, build: function() { var self = this; self.$elements.each(function() { var $this = $(this), zoom = $this.find('.zoom, .thumb-info-zoom').get(0); if (!zoom) return; $this.find('.zoom, .thumb-info-zoom').off('click'); var links = []; var i = 0; $this.find('article').each(function() { var $that = $(this); if ($that.css('display') != 'none') { var $zoom = $that.find('.zoom, .thumb-info-zoom'), slide, src = $zoom.data('src'), title = $zoom.data('title'); $zoom.data('index', i); if (Array.isArray(src)) { $.each(src, function(index, value) { slide = {}; slide.src = value; slide.title = title[index]; links[i] = slide; i++; }); } else { slide = {}; slide.src = src; slide.title = title; links[i] = slide; i++; } } }); $this.find('article').each(function() { var $that = $(this); if ($that.css('display') != 'none') { $that.off('click', '.zoom, .thumb-info-zoom').on('click', '.zoom, .thumb-info-zoom', function(e) { var $zoom = $(this), $parent = $zoom.parents('.thumb-info'), offset = 0; if ($parent.get(0)) { var $slider = $parent.find('.porto-carousel'); if ($slider.get(0)) { offset = $slider.data('owl.carousel').current() - $slider.find('.cloned').length / 2; } } e.preventDefault(); if ($.fn.magnificPopup) { $.magnificPopup.close(); $.magnificPopup.open($.extend(true, {}, theme.mfpConfig, { items: links, gallery: { enabled: true }, type: 'image' }), $zoom.data('index') + offset); } return false; }); } }); }); return self; } } }); }).apply(this, [window.theme, jQuery]); /* initialize */ jQuery(document).ready(function($) { 'use strict'; // Visual Composer Image Zoom if ($.isFunction($.fn.themeVcImageZoom)) { $(function() { var $galleryParent = null; $('.porto-vc-zoom:not(.manual)').each(function() { var $this = $(this), opts, gallery = $this.attr('data-gallery'); var pluginOptions = $this.data('plugin-options'); if (pluginOptions) opts = pluginOptions; if (typeof opts == "undefined") { opts = {}; } opts.container = $this.parent(); if (gallery == 'true') { var container = 'vc_row'; if ($this.attr('data-container')) container = $this.attr('data-container'); var $parent = $($this.closest('.' + container).get(0)); if ($parent.length > 0 && $galleryParent != null && $galleryParent.is($parent)) { return; } else if ($parent.length > 0) { $galleryParent = $parent; } if ($galleryParent != null && $galleryParent.length > 0) { opts.container = $galleryParent; } } $this.themeVcImageZoom(opts); }); }); } function porto_modal_open($this) { var trigger = $this.data('trigger-id'), overlayClass = $this.data('overlay-class'), type = $this.data('type'); if (typeof trigger != 'undefined'/* && $('#' + escape(trigger)).length > 0*/) { if (typeof type == 'undefined') { type = 'inline'; } if (type == 'inline') { trigger = '#' + escape(trigger); } var args = { items: { src: trigger }, type: type, }; if ($this.hasClass('porto-onload')) { args['callbacks'] = { 'beforeClose': function() { if ($('.mfp-wrap .porto-modal-content .porto-disable-modal-onload').length && $('.mfp-wrap .porto-modal-content .porto-disable-modal-onload').is(':checked')) { $.cookie('porto_modal_disable_onload', 'true', { expires : 7 }); } } }; } if (typeof overlayClass != "undefined" && overlayClass) { args.mainClass = escape(overlayClass); } $.magnificPopup.open($.extend(true, {}, theme.mfpConfig, args), 0); } } function porto_init_magnific_popup_functions() { $('.lightbox:not(.manual)').each(function() { var $this = $(this), opts; var pluginOptions = $this.data('plugin-options'); // WPBakery lightbox plugin compatibility issue if ($this.attr('id') == 'lightbox' && typeof pluginOptions == 'undefined') { return; } if (pluginOptions) opts = pluginOptions; $this.themeLightbox(opts); }); // Popup with video or map $('.porto-popup-iframe').magnificPopup($.extend(true, {}, theme.mfpConfig, { disableOn: 700, type: 'iframe', mainClass: 'mfp-fade', removalDelay: 160, preloader: false, fixedContentPos: false })); // Popup with ajax $('.porto-popup-ajax').magnificPopup($.extend(true, {}, theme.mfpConfig, { type: 'ajax' })); // Popup with content $('.porto-popup-content').each(function() { var animation = $(this).attr('data-animation'); $(this).magnificPopup($.extend(true, {}, theme.mfpConfig, { type: 'inline', fixedContentPos: false, fixedBgPos: true, overflowY: 'auto', closeBtnInside: true, preloader: false, midClick: true, removalDelay: 300, mainClass: animation })); }); // Porto Modal $('.popup-youtube, .popup-vimeo, .popup-gmaps').each(function(index) { var overlayClass = $(this).find('.porto-modal-trigger').data('overlay-class'), args = { type: 'iframe', removalDelay: 160, preloader: false, fixedContentPos: false }; if (typeof overlayClass != "undefined" && overlayClass) { args.mainClass = escape(overlayClass); } $(this).magnificPopup(args); }); if ($('.porto-modal-trigger.porto-onload').length > 0) { var $obj = $('.porto-modal-trigger.porto-onload').eq(0), timeout = 0; if ($obj.data('timeout')) { timeout = parseInt($obj.data('timeout'), 10); } setTimeout(function() { porto_modal_open($obj); }, timeout); } $('.porto-modal-trigger').on('click', function(e) { e.preventDefault(); porto_modal_open($(this)); }); /* Woocommerce */ // login popup $('.login-popup .porto-link-login, .login-popup .porto-link-register').magnificPopup({ items: { src: theme.ajax_url + '?action=porto_account_login_popup&nonce=' + js_porto_vars.porto_nonce, type: 'ajax' }, tLoading: '', callbacks: { ajaxContentAdded: function() { $(window).trigger('porto_login_popup_opened'); } } }); $('.product-images').magnificPopup( $.extend(true, {}, theme.mfpConfig, { delegate: '.img-thumbnail a.zoom', type: 'image', gallery: { enabled:true } }) ); } if ($.isFunction($.fn.magnificPopup)) { porto_init_magnific_popup_functions(); } else { setTimeout(function() { if ($.isFunction($.fn.magnificPopup)) { porto_init_magnific_popup_functions(); } }, 500); } // Post Ajax Modal if (typeof theme.PostAjaxModal !== 'undefined') { // Portfolio if ($('.page-portfolios').length) { theme.PostAjaxModal.initialize($('.page-portfolios')); } // Member if ($('.page-members').length) { theme.PostAjaxModal.initialize($('.page-members'), 'member'); } } // Portfolio Ajax on Page if (typeof theme.PortfolioAjaxPage !== 'undefined') { theme.PortfolioAjaxPage.initialize(); } // Post Filter if (typeof theme.PostFilter !== 'undefined') { // Portfolio if ($('.portfolio-filter').length) { theme.PostFilter.initialize($('.portfolio-filter'), 'portfolio'); } // Member if ($('.member-filter').length) { theme.PostFilter.initialize($('.member-filter'), 'member'); } // Faq if ($('.faq-filter').length) { theme.PostFilter.initialize($('.faq-filter'), 'faq'); } } // Member Ajax on Page if (typeof theme.MemberAjaxPage !== 'undefined') { theme.MemberAjaxPage.initialize(); } // Filter Zooms if (typeof theme.FilterZoom !== 'undefined') { // Portfolio Filter Zoom theme.FilterZoom.initialize($('.page-portfolios')); // Member Filter Zoom theme.FilterZoom.initialize($('.page-members')); // Posts Related Style Filter Zoom theme.FilterZoom.initialize($('.blog-posts-related')); } });