PATH:
home
/
centosnipponia
/
public_html
/
BAK_doohannl
/
wp-content
/
themes
/
sydney-pro-ii
/
js
"use strict"; if (window.NodeList && !NodeList.prototype.forEach) { NodeList.prototype.forEach = function (callback, thisArg) { thisArg = thisArg || window; for (var i = 0; i < this.length; i++) { callback.call(thisArg, this[i], i, this); } }; } var sydney = sydney || {}; /** * Handles toggling the navigation menu for small screens and enables TAB key * navigation support for dropdown menus. */ sydney.navigation = { init: function() { var siteNavigation = document.getElementById( 'mainnav' ); const offCanvas = document.getElementsByClassName( 'sydney-offcanvas-menu' )[0]; // Return early if the navigation don't exist. if ( ! siteNavigation ) { return; } //Toggle submenus var submenuToggles = siteNavigation.querySelectorAll( '.dropdown-symbol' ); for ( var submenuToggle of submenuToggles ) { submenuToggle.addEventListener('keydown', function(e) { var isTabPressed = (e.key === 'Enter' || e.keyCode === 13); if (!isTabPressed) { return; } e.preventDefault(); var parent = this.parentNode; parent.getElementsByClassName( 'sub-menu' )[0].classList.toggle( 'toggled' ); }); } const button = document.getElementsByClassName( 'menu-toggle' )[ 0 ]; const closeButton = document.getElementsByClassName( 'mobile-menu-close' )[ 0 ]; // Return early if the button don't exist. if ( 'undefined' === typeof button ) { return; } const menu = siteNavigation.getElementsByTagName( 'ul' )[ 0 ]; const mobileMenuClose = siteNavigation.getElementsByClassName( 'mobile-menu-close' )[ 0 ]; // Hide menu toggle button if menu is empty and return early. if ( 'undefined' === typeof menu ) { button.style.display = 'none'; return; } if ( ! menu.classList.contains( 'nav-menu' ) ) { menu.classList.add( 'nav-menu' ); } var focusableEls = offCanvas.querySelectorAll('a[href]:not([disabled]):not(.mobile-menu-close)'); var firstFocusableEl = focusableEls[0]; button.addEventListener( 'click', function(e) { e.preventDefault(); button.classList.add( 'open' ); offCanvas.classList.add( 'toggled' ); document.body.classList.add( 'mobile-menu-visible' ) //Toggle submenus var submenuToggles = offCanvas.querySelectorAll( '.dropdown-symbol' ); for ( var submenuToggle of submenuToggles ) { submenuToggle.addEventListener( 'touchstart', submenuToggleHandler ); submenuToggle.addEventListener( 'click', submenuToggleHandler ); submenuToggle.addEventListener('keydown', function(e) { var isTabPressed = (e.key === 'Enter' || e.keyCode === 13); if (!isTabPressed) { return; } e.preventDefault(); var parent = submenuToggle.parentNode.parentNode; parent.getElementsByClassName( 'sub-menu' )[0].classList.toggle( 'toggled' ); }); } //Trap focus inside modal firstFocusableEl.focus(); } ); function submenuToggleHandler(e) { e.preventDefault(); var parent = e.target.closest( 'li' ); parent.querySelector( '.sub-menu' ).classList.toggle( 'toggled' ); } var focusableEls = offCanvas.querySelectorAll('a[href]:not([disabled])'); var firstFocusableEl = focusableEls[0]; var lastFocusableEl = focusableEls[focusableEls.length - 1]; var KEYCODE_TAB = 9; lastFocusableEl.addEventListener('keydown', function(e) { var isTabPressed = (e.key === 'Tab' || e.keyCode === KEYCODE_TAB); if (!isTabPressed) { return; } if ( e.shiftKey ) /* shift + tab */ { } else /* tab */ { firstFocusableEl.focus(); } }); closeButton.addEventListener( 'click', function(e) { e.preventDefault(); button.focus(); button.classList.remove( 'open' ); offCanvas.classList.remove( 'toggled' ); document.body.classList.remove( 'mobile-menu-visible' ); } ); // Get all the link elements within the menu. const links = menu.getElementsByTagName( 'a' ); // Get all the link elements with children within the menu. const linksWithChildren = menu.querySelectorAll( '.menu-item-has-children > a, .page_item_has_children > a' ); // Toggle focus each time a menu link is focused or blurred. for ( const link of links ) { link.addEventListener( 'focus', toggleFocus, true ); link.addEventListener( 'blur', toggleFocus, true ); } // Toggle focus each time a menu link with children receive a touch event. for ( const link of linksWithChildren ) { link.addEventListener( 'touchstart', toggleFocus, false ); } /** * Sets or removes .focus class on an element. */ function toggleFocus() { if ( event.type === 'focus' || event.type === 'blur' ) { let self = this; // Move up through the ancestors of the current link until we hit .nav-menu. while ( ! self.classList.contains( 'nav-menu' ) ) { // On li elements toggle the class .focus. if ( 'li' === self.tagName.toLowerCase() ) { self.classList.toggle( 'focus' ); } self = self.parentNode; } } if ( event.type === 'touchstart' ) { const menuItem = this.parentNode; for ( const link of menuItem.parentNode.children ) { if ( menuItem !== link ) { link.classList.remove( 'focus' ); } } menuItem.classList.toggle( 'focus' ); } } }, }; /** * Toggle class */ sydney.toggleClass = { init: function(event, el, triggerEvent) { event.preventDefault(); event.stopPropagation(); var selector = document.querySelector( el.getAttribute( 'data-sydney-selector' ) ), removeClass = el.getAttribute( 'data-sydney-toggle-class-remove' ), classname = el.getAttribute( 'data-sydney-toggle-class' ), classes = selector.classList; if( typeof removeClass === 'string' ) { classes.remove( removeClass ); } classes.toggle( classname ); if( triggerEvent ) { var ev = document.createEvent('HTMLEvents'); ev.initEvent( triggerEvent, true, false); window.dispatchEvent(ev); } } } /** * Back to top */ sydney.backToTop = { init: function() { this.displayButton(); }, setup: function() { const icon = document.getElementsByClassName( 'go-top' )[0]; if ( typeof( icon ) == 'undefined' && icon == null ) { return; } var vertDist = window.pageYOffset; if ( vertDist > 800 ) { icon.classList.add( 'show' ); } else { icon.classList.remove( 'show' ); } icon.addEventListener( 'click', function() { window.scrollTo({ top: 0, left: 0, behavior: 'smooth', }); } ); }, displayButton: function() { this.setup(); window.addEventListener( 'scroll', function() { this.setup(); }.bind( this ) ); }, }; /** * Remove preloader */ sydney.removePreloader = { init: function() { this.remove(); }, remove: function() { const preloader = document.querySelectorAll( '.preloader' ); if ( typeof( preloader ) == 'undefined' && preloader == null ) { return; } for ( var pr of preloader ) { pr.classList.add( 'disable' ); setTimeout(function(){ pr.classList.add( 'hide' ); }, 600); } }, }; /** * Sydney scroll direction */ sydney.scrollDirection = { init: function() { const elements = document.querySelectorAll( '.sydney-single-sticky-add-to-cart-wrapper.hide-when-scroll' ), body = document.getElementsByTagName( 'body' )[0]; if( 'null' === typeof elements ) { return; } var lastScrollTop = 0; window.addEventListener( 'scroll', function() { var scroll = window.pageYOffset || document.documentElement.scrollTop; if( scroll > lastScrollTop ) { body.classList.remove( 'sydney-scrolling-up' ); body.classList.add( 'sydney-scrolling-down' ); } else { body.classList.remove( 'sydney-scrolling-down' ); body.classList.add( 'sydney-scrolling-up' ); } lastScrollTop = scroll <= 0 ? 0 : scroll; }, false); } } /** * Sticky menu * * deprecated */ sydney.stickyMenu = { init: function() { this.headerClone(); window.addEventListener( 'resize', function() { this.headerClone(); }.bind( this ) ); this.sticky(); window.addEventListener( 'scroll', function() { this.sticky(); }.bind( this ) ); }, headerClone: function() { const header = document.getElementsByClassName( 'site-header' )[0]; const headerClone = document.getElementsByClassName( 'header-clone' )[0]; if ( ( typeof( headerClone ) == 'undefined' && headerClone == null ) || ( typeof( header ) == 'undefined' && header == null ) ) { return; } headerClone.style.height = header.offsetHeight + 'px'; }, sticky: function() { const header = document.getElementsByClassName( 'site-header' )[0]; if ( typeof( header ) == 'undefined' && header == null ) { return; } var vertDist = window.pageYOffset; var elDist = header.offsetTop; if ( vertDist > elDist) { header.classList.add( 'fixed' ); document.body.classList.add( 'siteScrolled' ); } else { header.classList.remove( 'fixed' ); document.body.classList.remove( 'siteScrolled' ); } if ( vertDist >= 107 ) { header.classList.add( 'float-header' ); } else { header.classList.remove( 'float-header' ); } const contactBar = document.getElementsByClassName( 'header-contact' )[0]; const headerClone = document.getElementsByClassName( 'header-clone' )[0]; if ( ( typeof( headerClone ) != 'undefined' && headerClone != null ) && ( typeof( header ) != 'undefined' && header != null ) && ( typeof( contactBar ) != 'undefined' && contactBar != null ) ) { header.style.top = contactBar.offsetHeight + 'px'; if ( document.body.classList.contains( 'admin-bar' ) ) { header.style.top = contactBar.offsetHeight + 32 + 'px'; } } }, }; /** * Sticky header */ sydney.stickyHeader = { init: function() { const sticky = document.getElementsByClassName( 'sticky-header' )[0]; const body = document.getElementsByTagName( 'body' )[0]; if ( 'undefined' === typeof sticky ) { return; } if ( sticky.classList.contains( 'sticky-scrolltop' ) ) { var lastScrollTop = 0; var elDist = sticky.offsetTop; var topBar = document.getElementsByClassName( 'top-bar' )[0]; var adminBar = document.getElementsByClassName( 'admin-bar' )[0]; if ( typeof( topBar ) != 'undefined' && topBar != null ) { var elDist = elDist + topBar.offsetHeight; } if ( typeof( adminBar ) != 'undefined' && adminBar != null ) { var elDist = elDist + 32; } window.addEventListener( 'scroll', function() { var scroll = window.pageYOffset || document.documentElement.scrollTop; if ( scroll < lastScrollTop ) { sticky.classList.add( 'is-sticky' ); body.classList.add( 'sticky-active' ); } else { sticky.classList.remove( 'is-sticky' ); body.classList.remove( 'sticky-active' ); } if ( lastScrollTop < elDist ) { sticky.classList.remove( 'is-sticky' ); } lastScrollTop = scroll <= 0 ? 0 : scroll; }, false); } else { this.sticky(); window.addEventListener( 'scroll', function() { this.sticky(); }.bind( this ) ); } }, sticky: function() { const sticky = document.getElementsByClassName( 'sticky-header' )[0]; const body = document.getElementsByTagName( 'body' )[0]; if ( sticky.classList.contains( 'header_layout_1' ) || sticky.classList.contains( 'header_layout_2' ) ) { var vertDist = window.pageYOffset; var elDist = 0; } else { var vertDist = window.pageYOffset; var elDist = sticky.offsetTop; } var topBar = document.getElementsByClassName( 'top-bar' )[0]; var adminBar = document.getElementsByClassName( 'admin-bar' )[0]; if ( typeof( topBar ) != 'undefined' && topBar != null ) { var elDist = elDist + topBar.offsetHeight; } if ( typeof( adminBar ) != 'undefined' && adminBar != null ) { var elDist = elDist + 32; } if ( vertDist > elDist ) { sticky.classList.add( 'sticky-active' ); body.classList.add( 'sticky-active' ); } else { sticky.classList.remove( 'sticky-active' ); body.classList.remove( 'sticky-active' ); } } }; /** * Sticky Elementor header */ sydney.stickyEleHeader = { init: function() { const sticky = document.getElementsByClassName( 'custom-sticky-header' )[0]; if ( 'undefined' === typeof sticky ) { return; } this.sticky(); window.addEventListener( 'scroll', function() { this.sticky(); }.bind( this ) ); }, sticky: function() { var vertDist = window.pageYOffset; if ( vertDist > 400 ) { document.body.classList.add( 'sticky-ele-active' ); } else { document.body.classList.remove( 'sticky-ele-active' ); } } }; /** * Header search */ sydney.headerSearch = { init: function() { var self = this; var button = document.querySelectorAll( '.header-search' ); var form = window.matchMedia('(max-width: 1024px)').matches ? document.querySelector( '#masthead-mobile .header-search-form' ) : document.querySelector( '#masthead .header-search-form' ); if ( button.length === 0 ) { return; } var searchInput = form.getElementsByClassName('search-field')[0]; var searchBtn = form.getElementsByClassName('search-submit')[0]; for ( var buttonEl of button ) { buttonEl.addEventListener( 'click', function(e){ e.preventDefault(); // Hide other search icons if( button.length > 1 ) { for ( var btn of button ) { btn.classList.toggle( 'hide' ); } } form.classList.toggle( 'active' ); e.target.closest( '.header-search' ).getElementsByClassName( 'icon-search' )[0].classList.toggle( 'active' ); e.target.closest( '.header-search' ).getElementsByClassName( 'icon-cancel' )[0].classList.toggle( 'active' ); e.target.closest( '.header-search' ).classList.add( 'active' ); e.target.closest( '.header-search' ).classList.remove( 'hide' ); searchInput.focus(); if( e.target.closest( '.sydney-offcanvas-menu' ) !== null ) { e.target.closest( '.sydney-offcanvas-menu' ).classList.remove( 'toggled' ); } } ); } searchBtn.addEventListener('keydown', function(e) { var isTabPressed = (e.key === 'Tab' || e.keyCode === KEYCODE_TAB); if (!isTabPressed) { return; } form.classList.remove( 'active' ); // Back buttons to default state self.backButtonsToDefaultState( button ); button.focus(); }); return this; }, backButtonsToDefaultState: function( button ) { for ( var btn of button ) { btn.classList.remove( 'hide' ); btn.querySelector( '.icon-cancel' ).classList.remove( 'active' ); btn.querySelector( '.icon-search' ).classList.add( 'active' ); } } }; /** * Header login modal */ sydney.loginModal = { init: function() { this.setup(); }, setup: function() { let toggles = document.querySelectorAll( '.sydney-login-toggle' ); let modal = document.getElementsByClassName( 'sydney-login-form' )[0]; let overlay = document.getElementsByClassName( 'login-overlay' )[0]; let close = document.getElementsByClassName( 'login-form-close' )[0]; if ( typeof( close ) != 'undefined' && close != null ) { for ( var toggle of toggles ) { toggle.addEventListener( 'click', function() { modal.classList.add( 'is-visible' ); } ); } overlay.addEventListener( 'click', function() { modal.classList.remove( 'is-visible' ); } ); close.addEventListener( 'click', function() { modal.classList.remove( 'is-visible' ); } ); } }, }; /** * Mobile menu */ sydney.mobileMenu = { init: function() { this.menu(); window.addEventListener( 'resize', function() { this.menu(); }.bind( this ) ); }, menu: function() { if ( window.matchMedia( "(max-width: 1024px)" ).matches ) { const mobileMenu = document.getElementsByClassName( 'mainnav' )[0]; const menuToggle = document.getElementsByClassName( 'btn-menu' )[0]; mobileMenu.setAttribute( 'id', 'mainnav-mobi' ); mobileMenu.classList.add( 'syd-hidden' ); var itemsWithChildren = mobileMenu.querySelectorAll( '.menu-item-has-children' ); const svgSubmenu = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z"/></svg>'; itemsWithChildren.forEach( function(currentValue, currentIndex, listObj) { currentValue.getElementsByTagName( 'ul' )[0].style.display = 'none'; currentValue.getElementsByTagName( 'a' )[0].insertAdjacentHTML('beforeend', '<span class="btn-submenu">' + svgSubmenu + '</span>'); }, 'myThisArg' ); this.toggle( menuToggle, mobileMenu ); const submenuToggles = mobileMenu.querySelectorAll( '.btn-submenu' ); submenuToggles.forEach( function(currentValue, currentIndex, listObj) { currentValue.addEventListener( 'click', function(e) { e.preventDefault(); var parent = currentValue.parentNode.parentNode; parent.getElementsByClassName( 'sub-menu' )[0].classList.toggle( 'toggled' ); } ); }, 'myThisArg' ); } else { const mobile = document.getElementById( 'mainnav-mobi' ); if ( typeof( mobile ) != 'undefined' && mobile != null ) { mobile.setAttribute( 'id', 'mainnav' ); mobile.classList.remove( 'toggled' ); const submenuToggles = mobile.querySelectorAll( '.btn-submenu' ); submenuToggles.forEach( function(currentValue, currentIndex, listObj) { currentValue.remove(); }, 'myThisArg' ); } } }, toggle: function( menuToggle, mobileMenu ) { if ( typeof( menuToggle ) == 'undefined' && menuToggle == null ) { return; } menuToggle.addEventListener( 'click', function(e) { e.preventDefault(); if ( mobileMenu.classList.contains( 'toggled' ) ) { mobileMenu.classList.remove( 'toggled' ); } else { mobileMenu.classList.add( 'toggled' ); } e.stopImmediatePropagation() } ); }, submenuToggle: function( submenuToggle ) { submenuToggle.addEventListener( 'click', function(e) { e.preventDefault(); var parent = submenuToggle.parentNode.parentNode; parent.getElementsByClassName( 'sub-menu' )[0].classList.toggle( 'toggled' ); } ); }, }; /** * Sidebar cart */ sydney.cartSidebar = { init: function() { if ( window.jQuery ) { if ( !jQuery( 'body' ).hasClass( 'has-sidebar-cart' ) ) { return; } jQuery( '.site-header-cart a,.site-header .nav-cart' ).on( 'click', function(e) { e.preventDefault(); const sidebarCart = document.getElementsByClassName( 'sidebar-cart' )[0]; const overlay = document.getElementsByClassName( 'cart-overlay' )[0]; sidebarCart.classList.add( 'is-open' ); overlay.classList.add( 'show-overlay' ); }); jQuery( 'body' ).on( 'adding_to_cart', function(){ const sidebarCart = document.getElementsByClassName( 'sidebar-cart' )[0]; const overlay = document.getElementsByClassName( 'cart-overlay' )[0]; sidebarCart.classList.add( 'is-open' ); overlay.classList.add( 'show-overlay' ); }); jQuery( '.cart-overlay, .sydney-svg-icon' ).on( 'click', function(){ const sidebarCart = document.getElementsByClassName( 'sidebar-cart' )[0]; const overlay = document.getElementsByClassName( 'cart-overlay' )[0]; sidebarCart.classList.remove( 'is-open' ); overlay.classList.remove( 'show-overlay' ); }); jQuery( document ).keyup(function(e) { const sidebarCart = document.getElementsByClassName( 'sidebar-cart' )[0]; const overlay = document.getElementsByClassName( 'cart-overlay' )[0]; if ( e.keyCode == 27 ) { sidebarCart.classList.remove( 'is-open' ); overlay.classList.remove( 'show-overlay' ); } }); } }, }; /** * Quick view */ sydney.quickView = { init: function init() { var button = document.querySelectorAll('.sydney-quick-view'), popup = document.querySelector('.sydney-quick-view-popup'), closeButton = document.querySelector('.sydney-quick-view-popup-close-button'), popupContent = document.querySelector('.sydney-quick-view-popup-content-ajax'); // If quick view is not enabled if (null === popup) { return false; } closeButton.addEventListener('click', function (e) { e.preventDefault(); }); popup.addEventListener('click', function (e) { if (null === e.target.closest('.sydney-quick-view-popup-content-ajax')) { popup.classList.remove('opened'); } }); for (var i = 0; i < button.length; i++) { button[i].addEventListener('click', function (e) { e.preventDefault(); var productId = e.target.getAttribute('data-product-id'), nonce = e.target.getAttribute('data-nonce'); popup.classList.add('opened'); var ajax = new XMLHttpRequest(); ajax.open('POST', sydney.ajaxurl, true); ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); ajax.onload = function () { if (this.status >= 200 && this.status < 400) { // If successful popupContent.innerHTML = this.response; // Initialize gallery var productGallery = document.querySelector('.woocommerce-product-gallery'); if ('undefined' !== typeof productGallery) { productGallery.dispatchEvent(new Event('wc-product-gallery-before-init')); jQuery(productGallery).wc_product_gallery(wc_single_product_params); productGallery.dispatchEvent(new Event('wc-product-gallery-after-init')); } // Initialize product variable var variationsForm = document.querySelector('.sydney-quick-view-summary .variations_form'); if (typeof wc_add_to_cart_variation_params !== 'undefined') { jQuery(variationsForm).wc_variation_form(); } sydney.wishList.init(); sydney.qtyButtons.init( 'quick-view' ); sydney.productSwatch.init(); } }; ajax.send('action=sydney_quick_view_content&product_id=' + productId + '&nonce=' + nonce); }); } } }; /** * Expanded menu for layout 7 */ sydney.expandedMenus = { init: function() { this.expandedToggle(); this.setupDelay(); this.setupToggles(); }, expandedToggle: function() { const toggle = document.getElementsByClassName( 'menu-expand-toggle' )[0]; const menu = document.getElementsByClassName( 'menu-expanded' )[0]; if ( typeof( toggle ) == 'undefined' && toggle == null ) { return; } toggle.addEventListener( 'click', function() { menu.classList.toggle( 'is-expanded' ) } ); }, setupDelay: function() { const menu = document.getElementsByClassName( 'menu-expanded' )[0]; if ( typeof( menu ) == 'undefined' && menu == null ) { return; } const items = menu.querySelectorAll( '.nav-menu > *' ); for (var c = 0; c < items.length; c++) { items[c].style.transitionDelay = (0.7 + c * 0.2) + "s"; } }, setupToggles: function() { //Toggle submenus const menu = document.getElementsByClassName( 'side-menu' )[0]; if ( typeof( menu ) == 'undefined' && menu == null ) { return; } var submenuToggles = menu.querySelectorAll( '.dropdown-symbol' ); for ( var submenuToggle of submenuToggles ) { submenuToggle.addEventListener( 'touchstart', submenuToggleHandler ); submenuToggle.addEventListener( 'click', submenuToggleHandler ); submenuToggle.addEventListener('keydown', function(e) { var isTabPressed = (e.key === 'Enter' || e.keyCode === 13); if (!isTabPressed) { return; } e.preventDefault(); var parent = submenuToggle.parentNode.parentNode; parent.getElementsByClassName( 'sub-menu' )[0].classList.toggle( 'toggled' ); }); } function submenuToggleHandler(e) { e.preventDefault(); var parent = e.target.closest( 'li' ); parent.querySelector( '.sub-menu' ).classList.toggle( 'toggled' ); } } }; /** * Shortcode popup */ sydney.shortcodeQuickLinks = { init: function() { this.setup(); }, setup: function() { let toggles = document.querySelectorAll( '.quick-link' ); let shortcode = document.getElementsByClassName( 'ql-shortcode' )[0]; if ( typeof( shortcode ) != 'undefined' && shortcode != null ) { for ( var toggle of toggles ) { var link = toggle.getElementsByTagName( 'a' )[0]; link.addEventListener( 'click', function(e) { this.parentNode.getElementsByClassName( 'ql-shortcode' )[0].classList.toggle( 'is-visible' ); } ); } } }, }; /** * sydney wishlist */ sydney.wishList = { init: function() { this.build(); this.events(); }, build: function() { var button = document.querySelectorAll('.sydney-wishlist-button, .sydney-wishlist-remove-item'); if( ! button.length ) { return false; } for (var i = 0; i < button.length; i++) { button[i].addEventListener('click', function(e) { e.preventDefault(); var button = this, productId = this.getAttribute('data-product-id'), wishlistLink = this.getAttribute('data-wishlist-link'), type = this.getAttribute('data-type'), nonce = this.getAttribute('data-nonce'); if( button.classList.contains( 'active' ) ) { window.location = wishlistLink; return false; } var ajax = new XMLHttpRequest(); ajax.open('POST', sydney.ajaxurl, true); ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); if( 'remove' === type ) { button.closest('tr').classList.add( 'removing' ); button.classList.add( 'sydneyAnimRotate' ); button.classList.add( 'sydney-anim-infinite' ); } ajax.onload = function() { if (this.status >= 200 && this.status < 400) { var response = JSON.parse( this.response ), icons = document.querySelectorAll( '.header-wishlist-icon' ), qty = response.qty; if( 'add' === type ) { button.classList.add( 'active' ); if( button.closest('.single-product') !== null ) { var single_wishlist_button_text = button.querySelector( '.sydney-wishlist-text' ); single_wishlist_button_text.innerHTML = single_wishlist_button_text.getAttribute( 'data-wishlist-view-text' ); } } else { button.closest('tr').classList.add( 'removing' ); setTimeout(function(){ button.closest('tr').remove(); }, 800); } if( icons.length ) { for( var i=0;i<icons.length;i++ ) { icons[i].querySelector( '.count-number' ).innerHTML = qty; } } window.dispatchEvent( new Event( 'sydney.wishlist.ajax.loaded' ) ); } }; ajax.send('action=sydney_button_wishlist&product_id=' + productId + '&nonce=' + nonce + '&type=' + type); }); } }, events: function() { var _this = this; window.addEventListener( 'sydney.carousel.initialized', function(){ _this.build(); } ); } }; /** * Product Swatch */ sydney.productSwatch = { init: function() { var wrapper = document.querySelectorAll( '.sydney-variations-wrapper' ); if( ! wrapper.length ) { return false; } for( var i=0;i<wrapper.length;i++ ) { this.variations( wrapper[i] ); } this.resetVariationsEvent(); }, variations: function( wrapper ) { var self = this, select = wrapper.querySelector( 'select' ), items = wrapper.querySelectorAll( '.sydney-variation-item' ); for( var i=0;i<items.length;i++ ) { if( select.value ) { var variation_item_selected = wrapper.querySelector( '.sydney-variation-item[value="'+ select.value +'"]' ); variation_item_selected.classList.add( 'active' ); variation_item_selected.dispatchEvent( new Event( 'sydney.variations.selected' ) ); } items[i].addEventListener( 'click', function(e){ e.preventDefault(); var value = this.getAttribute( 'value' ); jQuery( select ).val( value ).trigger( 'change' ); self.removeActiveClass( this ); this.classList.add( 'active' ); self.matchVariations( this ); } ); items[i].addEventListener( 'sydney.variations.selected', function(e){ var _self = this; setTimeout(function(){ self.matchVariations( _self ); }, 300); }); } }, matchVariations: function( variation ) { var wrapper = variation.closest( '.variations' ).querySelectorAll( '.sydney-variations-wrapper' ); var arr = []; for( var i=0;i<wrapper.length;i++ ) { var items = wrapper[i].querySelectorAll( '.sydney-variation-item' ), selectOptions = wrapper[i].querySelector( 'select' ).options; for( var u=0;u<selectOptions.length;u++ ) { arr.push( selectOptions[u].value ); } arr = arr.filter( e => e); for( var a=0;a<items.length;a++ ) { if( arr.includes( items[a].getAttribute( 'value' ) ) ) { items[a].classList.remove( 'disabled' ); } else { items[a].classList.add( 'disabled' ); } } } }, removeActiveClass: function( item ) { var items = typeof item !== 'undefined' ? item.closest( 'div' ).querySelectorAll( '.sydney-variation-item' ) : document.querySelectorAll( '.sydney-variations-wrapper .sydney-variation-item' ); for( var u=0;u<items.length;u++ ) { items[u].classList.remove( 'active' ); items[u].classList.remove( 'disabled' ); } }, resetVariationsEvent: function() { var self = this, resetbtn = document.querySelectorAll( '.reset_variations' ); for( var i=0;i<resetbtn.length;i++ ) { resetbtn[i].addEventListener( 'click', function(){ self.removeActiveClass( this ); } ); } }, } /** * Quantity buttons */ sydney.qtyButtons = { init: function( type ) { this.events( type ); this.wooEvents(); }, events: function( type ) { var qty = document.querySelectorAll('form.cart .quantity, .sydney-quick-view-popup .quantity, .woocommerce-cart-form__cart-item.cart_item .quantity, .sydney-single-sticky-add-to-cart-wrapper-content .quantity'); if( type === 'quick-view' ) { qty = document.querySelectorAll('.sydney-quick-view-popup .quantity'); } if( qty.length < 1 ) { return false; } for(var i = 0; i < qty.length; i++) { if( qty[i].classList.contains( 'hidden' ) ) { return false; } var plus = qty[i].querySelector('.sydney-quantity-plus'), minus = qty[i].querySelector('.sydney-quantity-minus'); plus.classList.add('show'); minus.classList.add('show'); plus.addEventListener( 'click', function(e){ var input = this.parentNode.querySelector('.qty'), changeEvent = document.createEvent('HTMLEvents'); e.preventDefault(); input.value = input.value === '' ? 0 : parseInt( input.value ) + 1; changeEvent.initEvent( 'change', true, false ); input.dispatchEvent( changeEvent ); }); minus.addEventListener( 'click', function(e){ var input = this.parentNode.querySelector('.qty'), changeEvent = document.createEvent('HTMLEvents'); e.preventDefault(); input.value = ( parseInt( input.value ) > 0 ) ? parseInt( input.value ) - 1 : 0; changeEvent.initEvent( 'change', true, false ); input.dispatchEvent( changeEvent ); }); } }, wooEvents: function() { var _self = this; if( typeof jQuery !== 'undefined' ) { jQuery( 'body' ).on('updated_cart_totals', function(){ _self.events(); }); } } } /** * Collapse */ sydney.collapse = { init: function() { const elements = document.querySelectorAll( '[data-sydney-collapse]' ); if( ! elements.length ) { return false; } const _this = this; for( let i=0;i<elements.length;i++ ) { const opts = elements[i].getAttribute( 'data-sydney-collapse' ), options = JSON.parse(opts.replace(/'/g,'"').replace(';','')); if( ! options.enable ) { return false; } _this.expand( elements[i], options, true ); elements[i].addEventListener( 'click', function(e){ e.preventDefault(); this.dispatchEvent( new Event( 'sydney.collapse.before.expand' ) ); if( ! elements[i].classList.contains( 'active' ) ) { _this.expand( elements[i], options ); } else { _this.collapse( elements[i], options ); } this.dispatchEvent( new Event( 'sydney.collapse.after.collapse' ) ); } ); if( options.options.oneAtTime ) { elements[i].addEventListener( 'sydney.collapse.before.expand', function(){ const sydney_collapse = document.querySelectorAll( options.options.oneAtTimeParentSelector + ' [data-sydney-collapse]' ); for( let u=0;u<sydney_collapse.length;u++ ) { _this.collapseAll( sydney_collapse[u], options ); } }); } } }, expand: function( el, options, first_load ) { if( first_load && ! el.classList.contains( 'active' ) ) { return false; } const targetSelectorId = options.id, target = document.getElementById( targetSelectorId ), targetContent = target.querySelector( '.sydney-collapse__content' ); target.style = 'max-height: '+ targetContent.clientHeight +'px;'; el.classList.add( 'active' ); target.classList.add( 'active' ); el.dispatchEvent( new Event( 'sydney.collapse.expanded' ) ); }, collapse: function( el, options, a ) { const targetSelectorId = options.id, target = document.getElementById( targetSelectorId ); target.style = 'max-height: 0px;'; el.classList.remove( 'active' ); target.classList.remove( 'active' ); el.dispatchEvent( new Event( 'sydney.collapse.collapsed' ) ); }, collapseAll: function( el, options ) { el.classList.remove( 'active' ); el.nextElementSibling.classList.remove( 'active' ); el.nextElementSibling.style = 'max-height: 0px;'; } } /** * DOM ready */ function sydneyDomReady( fn ) { if ( typeof fn !== 'function' ) { return; } if ( document.readyState === 'interactive' || document.readyState === 'complete' ) { return fn(); } document.addEventListener( 'DOMContentLoaded', fn, false ); } sydneyDomReady( function() { sydney.backToTop.init(); sydney.removePreloader.init(); sydney.stickyMenu.init(); sydney.mobileMenu.init(); sydney.navigation.init(); sydney.cartSidebar.init(); sydney.stickyHeader.init(); sydney.headerSearch.init(); sydney.quickView.init(); sydney.expandedMenus.init(); sydney.loginModal.init(); sydney.shortcodeQuickLinks.init(); sydney.wishList.init(); sydney.productSwatch.init(); sydney.scrollDirection.init(); sydney.collapse.init(); sydney.qtyButtons.init(); sydney.stickyEleHeader.init(); } ); // Vanilla version of FitVids // Still licencened under WTFPL window.addEventListener("load", function() { (function(window, document, undefined) { "use strict"; // List of Video Vendors embeds you want to support var players = ['iframe[src*="youtube.com"]', 'iframe[src*="vimeo.com"]']; // Select videos var fitVids = document.querySelectorAll(players.join(",")); // If there are videos on the page... if (fitVids.length) { // Loop through videos for (var i = 0; i < fitVids.length; i++) { // Get Video Information var fitVid = fitVids[i]; var width = fitVid.getAttribute("width"); var height = fitVid.getAttribute("height"); var aspectRatio = height / width; var parentDiv = fitVid.parentNode; // Wrap it in a DIV var div = document.createElement("div"); div.className = "fitVids-wrapper"; div.style.paddingBottom = aspectRatio * 100 + "%"; parentDiv.insertBefore(div, fitVid); fitVid.remove(); div.appendChild(fitVid); // Clear height/width from fitVid fitVid.removeAttribute("height"); fitVid.removeAttribute("width"); } } })(window, document); }); /** * Support for isotope + lazyload from third party plugins */ window.addEventListener("load", function() { if( typeof Isotope !== 'undefined' && ( typeof lazySizes !== 'undefined' || // Autoptimize and others typeof lazyLoadOptions !== 'undefined' || // Lazy Load (by WP Rocket) typeof a3_lazyload_extend_params !== 'undefined' // a3 Lazy Load ) ) { const isotopeContainer = document.querySelectorAll( '.isotope-container' ); if( isotopeContainer.length ) { isotopeContainer.forEach( function(container) { const images = container.querySelectorAll( '.isotope-item img[data-lazy-src], .isotope-item img[data-src]' ); if( images.length ) { images.forEach(function(image){ if( image !== null ) { image.addEventListener( 'load', function(){ // Currently the isotope container always is a jQuery object jQuery( container ).isotope('layout'); } ); } }, 'myThisArg'); } }, 'myThisArg' ); } } }); sydney.helpers = { setCookie: function(cname, cvalue, exdays) { const d = new Date(); d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); let expires = "expires="+d.toUTCString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; }, getCookie: function(cname) { let name = cname + "=", ca = document.cookie.split(';'); for(let i = 0; i < ca.length; i++) { let c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; } }
[+]
..
[+]
modules
[-] admin-functions.js
[edit]
[-] customize-controls.js
[edit]
[-] customize-controls.min.js
[edit]
[-] customizer-select2.js
[edit]
[-] customizer.js
[edit]
[-] customizer.min.js
[edit]
[-] elementor.js
[edit]
[-] functions.js
[edit]
[-] functions.min.js
[edit]
[-] hero-slider.js
[edit]
[-] imagesloaded.pkgd.js
[edit]
[-] infinite-load.js
[edit]
[-] jquery.countTo.js
[edit]
[-] jquery.fitvids.js
[edit]
[-] jquery.flexslider.js
[edit]
[-] jquery.superslides.js
[edit]
[-] jquery.validate.js
[edit]
[-] jquery.validate.min.js
[edit]
[-] media-uploader.js
[edit]
[-] owl.carousel.js
[edit]
[-] scripts.js
[edit]
[-] select2.js
[edit]
[-] select2.min.js
[edit]
[-] so-legacy-main.js
[edit]
[-] so-legacy-main.min.js
[edit]
[-] so-legacy.js
[edit]
[-] sydney-popup.js
[edit]
[-] sydney-popup.min.js
[edit]
[-] typed.js
[edit]
[-] typed.min.js
[edit]
[-] waypoints.js
[edit]
[-] woo-sidebar.js
[edit]
[-] .htaccess.disabled
[edit]