( 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' ), extraClass = $this.data( 'extra-class' ) ? $this.data( 'extra-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, mainClass: extraClass }; 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' ) || $( '.mfp-wrap .porto-modal-content .porto-disable-modal-onload input[type="checkbox"]' ).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' ); 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' ) ); } // close popup using esc key var $minicart_offcanvas = $('.minicart-offcanvas'), $mobile_sidebar = $('.mobile-sidebar'), $mobile_panel = $('#side-nav-panel'), $html = $('html'); if ( $minicart_offcanvas.length || $mobile_sidebar.length || $mobile_panel.length || $('.skeleton-loading').length ) { $(document.documentElement).on('keyup', function(e) { try { if ( e.keyCode == 27 ) { $minicart_offcanvas.removeClass( 'minicart-opened' ); if ($mobile_sidebar.length) { $html.removeClass('filter-sidebar-opened'); $html.removeClass('sidebar-opened'); $('.sidebar-overlay').removeClass('active'); } if ($mobile_panel.length && $html.hasClass('panel-opened')) { $html.removeClass('panel-opened'); $('.panel-overlay').removeClass('active'); } } } catch ( err ) { } }); $('.skeleton-loading').on('skeleton-loaded', function() { $mobile_sidebar = $('.mobile-sidebar'); }); } } );