// source --> http://www.kidsbangna.ru.ac.th/wp-content/plugins/popup-builder/public/js/PopupBuilder.js?ver=4.3.5 function sgAddEvent(element, eventName, fn) { if (element.addEventListener) element.addEventListener(eventName, fn, false); else if (element.attachEvent) element.attachEvent('on' + eventName, fn); } /*Popup order count*/ window.SGPB_ORDER = 0; function SGPBPopup() { this.id = null; this.eventName = ''; this.popupData = null; this.additionalPopupData = {}; this.popupConfig = {}; this.popupObj = null; this.onceListener(); this.initialsListeners(); this.countPopupOpen = true; this.closeButtonDefaultPositions = {}; this.closeButtonDefaultPositions[1] = { 'left': 9, 'right': 9, 'bottom': 9 }; this.closeButtonDefaultPositions[2] = { 'left': 0, 'right': 0, 'top': parseInt('-20'), 'bottom': parseInt('-20') }; this.closeButtonDefaultPositions[3] = { 'right': 4, 'bottom': 4, 'left': 4, 'top': 4 }; this.closeButtonDefaultPositions[4] = { 'left': 12, 'right': 12, 'bottom': 9 }; this.closeButtonDefaultPositions[5] = { 'left': 8, 'right': 8, 'bottom': 8 }; this.closeButtonDefaultPositions[6] = { 'left': parseInt('-18.5'), 'right': parseInt('-18.5'), 'bottom': parseInt('-18.5'), 'top': parseInt('-18.5') }; } SGPBPopup.htmlCustomButton = function() { var buttons = jQuery('.sgpb-html-custom-button'); var buttonActionBehaviors = function(button, settings) { button.bind('click', function() { var behavior = settings['sgpb-custom-button']; if (behavior === 'redirectToURL') { if (settings['sgpb-custom-button-redirect-new-tab']) { window.open(settings['sgpb-custom-button-redirect-URL']); } else { window.location.href = settings['sgpb-custom-button-redirect-URL']; } } if (behavior === 'hidePopup') { SGPBPopup.closePopup(); } if (behavior === 'copyToClipBoard') { var tempInputId = 1; var value = settings['sgpb-custom-button-copy-to-clipboard-text']; var tempInput = document.createElement("input"); tempInput.id = tempInputId; tempInput.value = value; tempInput.style = 'position: absolute; right: -10000px'; if (!document.getElementById(tempInputId)) { document.body.appendChild(tempInput); } tempInput.select(); document.execCommand("copy"); if (settings['sgpb-copy-to-clipboard-close-popup']) { SGPBPopup.closePopup(); } if (settings['sgpb-custom-button-copy-to-clipboard-alert']) { alert(settings['sgpb-custom-button-copy-to-clipboard-message']); } } }); }; buttons.each(function() { var settings = jQuery.parseJSON(decodeURIComponent(jQuery(this).attr('data-options'))); buttonActionBehaviors(jQuery(this), settings); }); }; SGPBPopup.listeners = function () { var that = this; sgAddEvent(window, 'sgpbPopupBuilderAdditionalDimensionSettings', function(e) { SGPBPopup.mobileSafariAdditionalSettings(e); }); sgAddEvent(window, 'sgpbDidOpen', function(e) { /*for mobile landscape issue*/ if (typeof (Event) === 'function') { var event = new CustomEvent('resize', { bubbles: true, cancelable: true }); } else { if (SGPBPopup.isIE()) { var event = document.createEvent('Event'); event.initEvent('resize', true, true); } else { var event = new CustomEvent('resize', { bubbles: true, cancelable: true }); } } window.dispatchEvent(event); SGPBPopup.mobileSafariAdditionalSettings(e); var args = e.detail; var popupOptions = args.popupData; var obj = e.detail.currentObj.sgpbPopupObj; /* if no analytics extension */ if (typeof SGPB_ANALYTICS_PARAMS === 'undefined') { if (obj.getCountPopupOpen()) { obj.addToCounter(popupOptions); } } if (popupOptions['sgpb-show-popup-same-user']) { obj.setPopupLimitationCookie(popupOptions); } SGPBPopup.htmlCustomButton(); }); setInterval(function() { var openedPopups = window.sgpbOpenedPopup || {}; if (!Object.keys(openedPopups).length) { return false; } var params = {}; params.popupsIdCollection = window.sgpbOpenedPopup; var data = { action: 'sgpb_send_to_open_counter', nonce: SGPB_JS_PARAMS.nonce, params: params }; window.sgpbOpenedPopup = {}; jQuery.post(SGPB_JS_PARAMS.ajaxUrl, data, function(res) { }); }, 600); }; SGPBPopup.mobileSafariAdditionalSettings = function(e) { if (typeof e === 'undefined') { var args = SGPBPopup.prototype.getAdditionalPopupData(); if (typeof args === 'undefined') { return false; } var popupOptions = args.popupData; var popupId = parseInt(args.popupId); } else { var args = e.detail; var alreadySavedArgs = SGPBPopup.prototype.getAdditionalPopupData(); if (jQuery.isEmptyObject(alreadySavedArgs)) { SGPBPopup.prototype.setAdditionalPopupData(args); } var popupOptions = args.popupData; var popupId = parseInt(args.popupId); } var userAgent = window.navigator.userAgent; if (userAgent.match(/iPad/i) || userAgent.match(/iPhone/i)) { if (typeof popupOptions['sgpb-popup-dimension-mode'] !== 'undefined' && popupOptions['sgpb-popup-dimension-mode'] === 'responsiveMode') { var openedPopupWidth = parseInt(window.innerHeight-100); if (e.detail.popupData['sgpb-type'] === 'iframe' || e.detail.popupData['sgpb-type'] === 'video') { if (jQuery('.sgpb-popup-builder-content-'+popupId +' iframe').length) { jQuery('.sgpb-popup-builder-content-'+popupId).attr('style', 'height:'+openedPopupWidth+'px !important;'); } } } } }; SGPBPopup.prototype.setAdditionalPopupData = function(additionalPopupData) { this.additionalPopupData = additionalPopupData; }; SGPBPopup.prototype.getAdditionalPopupData = function() { return this.additionalPopupData; }; SGPBPopup.prototype.setCountPopupOpen = function(countPopupOpen) { this.countPopupOpen = countPopupOpen; }; SGPBPopup.prototype.getCountPopupOpen = function() { return this.countPopupOpen; }; SGPBPopup.playMusic = function(e) { var args = e.detail; var popupId = parseInt(args.popupId); var options = SGPBPopup.getPopupOptionsById(popupId); var soundUrl = options['sgpb-sound-url']; var soundStatus = options['sgpb-open-sound']; if (soundStatus && soundUrl && !window.SGPB_SOUND[popupId]) { var audio = new Audio(soundUrl); audio.play(); window.SGPB_SOUND[popupId] = audio; } }; SGPBPopup.floatingButton = function (e) { SGPBPopup.showFloatingButton(e); jQuery(window).on('sgpbFormSuccess', function (e){ SGPBPopup.hideFloatingButton(); }); }; SGPBPopup.showFloatingButton = function (e) { var popupObj = e || {}; var popupId = 0; var shouldShowFloatingButton = true; /* if argument e is event reference the popup object is wrapped inside e.detail.currentObj.sgpbPopupObj */ if (e.hasOwnProperty('sgpbPopupObj')) { popupObj = e.detail.currentObj.sgpbPopupObj; } if (popupObj instanceof SGPBPopup) { popupId = parseInt(popupObj.id); shouldShowFloatingButton = popupObj.forceCheckCurrentPopupType(popupObj); } /* If there is no cookie which will prevent popup opening we will show floating button */ if (shouldShowFloatingButton) { /* if we have popup id we detect exact button */ if (popupId) { jQuery('.sgpb-floating-button.sg-popup-id-' + popupId).show(); } else { jQuery('.sgpb-floating-button').show(); } } }; SGPBPopup.hideFloatingButton = function (popupId) { /* if we have popup id we detect exact button */ if (popupId) { jQuery('.sgpb-floating-button.sg-popup-id-' + popupId).fadeOut(); } else { jQuery('.sgpb-floating-button').fadeOut(); } }; SGPBPopup.prototype.initialsListeners = function() { /* one time calling events (sgpbDidOpen, sgpbDidClose ...) */ var that = this; sgAddEvent(window, 'sgpbDidOpen', function(e) { jQuery('.sg-popup-close').unbind('click').bind('click',function(){ var currentPopupId = jQuery(this).parents('.sg-popup-builder-content').attr('data-id'); SGPBPopup.closePopupById(currentPopupId); }); }); sgAddEvent(window, 'sgpbDidClose', function(e) { var args = e.detail; var popupId = parseInt(args.popupId); that.htmlIframeFilterForOpen(popupId, 'close'); }); }; SGPBPopup.prototype.onceListener = function() { var that = this; sgAddEvent(window, 'sgpbDidOpen', function(e) { document.onkeydown = function(e) { e = e || window.event; if (e.keyCode === 27) { /*esc pressed*/ var currentPopup = that.getPopupIdForNextEsc(); if (!currentPopup) { return false; } var lastPopupId = parseInt(currentPopup['popupId']); SGPBPopup.closePopupById(lastPopupId); } }; }); sgAddEvent(window, 'sgpbDidClose', function(e) { if (window.sgPopupBuilder.length !== 0) { var popups = [].concat(window.sgPopupBuilder).reverse(); for (var i in popups) { var nextIndex = ++i; var nextObj = popups[nextIndex]; if (typeof nextObj === 'undefined') { jQuery('html').removeClass('sgpb-overflow-hidden'); jQuery('body').removeClass('sgpb-overflow-hidden-body'); break; } if (nextObj.isOpen === false) { continue; } var options = SGPBPopup.getPopupOptionsById(nextObj.popupId); if (typeof options['sgpb-disable-page-scrolling'] === 'undefined') { jQuery('html').removeClass('sgpb-overflow-hidden'); jQuery('body').removeClass('sgpb-overflow-hidden-body'); } else { jQuery('html').addClass('sgpb-overflow-hidden'); jQuery('body').addClass('sgpb-overflow-hidden-body'); } break; } } else { jQuery('html').addClass('sgpb-overflow-hidden'); jQuery('body').addClass('sgpb-overflow-hidden-body'); } }); }; SGPBPopup.prototype.getPopupIdForNextEsc = function() { var popups = window.sgPopupBuilder; var popup = false; if (!popups.length) { return popup; } var searchPopups = [].concat(popups).reverse(); for (var i in searchPopups) { var popupData = searchPopups[i]; if (popupData.isOpen) { var popupId = parseInt(popupData['popupId']); var popupOptions = SGPBPopup.getPopupOptionsById(popupId); if (!popupOptions['sgpb-disable-popup-closing'] && popupOptions['sgpb-esc-key']) { popup = popupData; break; } } } return popup; }; SGPBPopup.prototype.setPopupId = function(popupId) { this.id = parseInt(popupId); }; SGPBPopup.prototype.getPopupId = function() { return this.id; }; SGPBPopup.prototype.setPopupObj = function(popupObj) { this.popupObj = popupObj; }; SGPBPopup.prototype.getPopupObj = function() { return this.popupObj; }; SGPBPopup.prototype.setPopupData = function(popupData) { if (typeof popupData == 'string') { var popupData = SGPBPopup.JSONParse(popupData); } this.popupData = popupData; }; SGPBPopup.prototype.getPopupData = function() { return this.popupData; }; SGPBPopup.prototype.setPopupConfig = function(config) { this.popupConfig = config; }; SGPBPopup.prototype.getPopupConfig = function() { return this.popupConfig; }; SGPBPopup.prototype.setUpPopupConfig = function() { var popupConfig = new PopupConfig(); this.setPopupConfig(popupConfig); }; SGPBPopup.createPopupObjById = function(popupId) { var options = SGPBPopup.getPopupOptionsById(popupId); if (!options) { return false; } var popupObj = new SGPBPopup(); popupObj.setPopupId(popupId); popupObj.setPopupData(options); return popupObj; }; SGPBPopup.getPopupOptionsById = function(popupId) { var popupDataDiv = jQuery('#sg-popup-content-wrapper-'+popupId); if (!popupDataDiv.length) { return false; } var options = popupDataDiv.attr('data-options'); return SGPBPopup.JSONParse(options); }; SGPBPopup.prototype.getCompatibleZiIndex = function(popupZIndex) { /*2147483647 it's maximal z index value*/ if (popupZIndex > 2147483647) { return 2147483627; } return popupZIndex; }; SGPBPopup.prototype.prepareOpen = function() { var popupId = this.getPopupId(); var popupData = this.getPopupData(); var popupZIndex = this.getCompatibleZiIndex(popupData['sgpb-popup-z-index']); var popupType = this.popupData['sgpb-type']; this.setUpPopupConfig(); var that = this; var popupConfig = this.getPopupConfig(); function decodeEntities(encodedString) { if (typeof encodedString == 'undefined') { return ''; } var suspiciousStrings = ['document.createElement', 'createElement', 'String.fromCharCode', 'fromCharCode']; for (var i in suspiciousStrings) { if (encodedString.indexOf(suspiciousStrings[i]) > 0) { return ''; } } var textArea = document.createElement('textarea'); textArea.innerHTML = encodedString; return textArea.value; } popupConfig.customShouldOpen = function() { var instructions = popupData['sgpb-ShouldOpen']; instructions = decodeEntities(instructions); var F = new Function (instructions); return(F()); }; popupConfig.customShouldClose = function() { var instructions = popupData['sgpb-ShouldClose']; instructions = decodeEntities(instructions); var F = new Function (instructions); return(F()); }; this.setPopupDimensions(); if (popupData['sgpb-disable-popup-closing'] == 'on') { popupData['sgpb-enable-close-button'] = ''; popupData['sgpb-esc-key'] = ''; popupData['sgpb-overlay-click'] = ''; } /*used in the analytics*/ popupData['eventName'] = this.eventName; if (SGPBPopup.varToBool(popupData['sgpb-enable-close-button'])) { popupConfig.magicCall('setCloseButtonDelay', parseInt(popupData['sgpb-close-button-delay'])); } popupConfig.magicCall('setShowButton', SGPBPopup.varToBool(popupData['sgpb-enable-close-button'])); /* Convert seconds to micro seconds */ var openAnimationSpeed = parseFloat(popupData['sgpb-open-animation-speed'])*1000; var closeAnimationSpeed = parseFloat(popupData['sgpb-close-animation-speed'])*1000; popupConfig.magicCall('setOpenAnimationEffect', popupData['sgpb-open-animation-effect']); popupConfig.magicCall('setCloseAnimationEffect', popupData['sgpb-close-animation-effect']); popupConfig.magicCall('setOpenAnimationSpeed', openAnimationSpeed); popupConfig.magicCall('setCloseAnimationSpeed', closeAnimationSpeed); popupConfig.magicCall('setOpenAnimationStatus', popupData['sgpb-open-animation']); popupConfig.magicCall('setCloseAnimationStatus', popupData['sgpb-close-animation']); popupConfig.magicCall('setContentPadding', popupData['sgpb-content-padding']); if (typeof SgpbRecentSalesPopupType != 'undefined') { if (popupType == SgpbRecentSalesPopupType) { /* set max z index for recent sales popup */ popupZIndex = 2147483647; popupConfig.magicCall('setCloseAnimationEffect', 'fade'); popupConfig.magicCall('setCloseAnimationSpeed', 1000); popupConfig.magicCall('setCloseAnimationStatus', 'on'); } } popupConfig.magicCall('setZIndex', popupZIndex); popupConfig.magicCall('setCloseButtonWidth', popupData['sgpb-button-image-width']); popupConfig.magicCall('setCloseButtonHeight', popupData['sgpb-button-image-height']); popupConfig.magicCall('setPopupId', popupId); popupConfig.magicCall('setPopupData', popupData); popupConfig.magicCall('setAllowed', !SGPBPopup.varToBool(popupData['sgpb-disable-popup-closing'])); if (popupData['sgpb-type'] == SGPB_POPUP_PARAMS.popupTypeAgeRestriction) { popupConfig.magicCall('setAllowed', false); } popupConfig.magicCall('setEscShouldClose', SGPBPopup.varToBool(popupData['sgpb-esc-key'])); popupConfig.magicCall('setOverlayShouldClose', SGPBPopup.varToBool(popupData['sgpb-overlay-click'])); popupConfig.magicCall('setScrollingEnabled', SGPBPopup.varToBool(popupData['sgpb-enable-content-scrolling'])); if (SGPBPopup.varToBool(popupData['sgpb-content-click'])) { this.contentCloseBehavior(); } sgAddEvent(window, 'sgpbWillOpen', function(e) { if (popupId != e.detail.popupId || e.detail.popupData['sgpb-content-click'] == 'undefined') { return false; } /* triggering any popup content click (analytics) */ that.popupContentClick(e); }); if (SGPBPopup.varToBool(popupData['sgpb-popup-fixed'])) { this.addFixedPosition(); } /*ThemeCreator*/ this.themeCreator(); this.themeCustomizations(); popupConfig.magicCall('setContents', document.getElementById('sg-popup-content-wrapper-'+popupId)); popupConfig.magicCall('setPopupType', popupType); this.setPopupConfig(popupConfig); this.popupTriggeringListeners(); /* check popup type, then check if popup can be opened by popup type */ var allowToOpen = this.checkCurrentPopupType(); if (allowToOpen) { this.open(); } }; SGPBPopup.prototype.popupContentClick = function(e) { var args = e.detail; var popupId = parseInt(args['popupId']); jQuery('.sgpb-content-' + popupId).on('click', function(event) { var settings = { popupId: popupId, eventName: 'sgpbPopupContentclick' }; jQuery(window).trigger('sgpbPopupContentclick', settings); }); }; SGPBPopup.prototype.forceCheckCurrentPopupType = function(popupObj) { var allowToOpen = true; var popupConfig = new PopupConfig(); var className = popupObj.popupData['sgpb-type']; if (typeof className == 'undefined' || className == 'undefined') { return false; } if (typeof SGPB_POPUP_PARAMS.conditionalJsClasses != 'undefined' && SGPB_POPUP_PARAMS.conditionalJsClasses.length) { var isAllowConditions = this.forceIsAllowJsConditions(popupObj); if (!isAllowConditions) { return false; } } var popupConfig = new PopupConfig(); var className = this.popupData['sgpb-type']; /* make the first letter of a string uppercase, then concat prefix (uppercase all prefix string) */ className = popupConfig.prefix.toUpperCase() + PopupConfig.firstToUpperCase(className); /* hasOwnProperty returns boolean value */ if (window.hasOwnProperty(className)) { className = eval(className); /* create current popup type object */ var obj = new className; /* call allowToOpen function if exists */ if (typeof obj.allowToOpen === 'function') { allowToOpen = obj.allowToOpen(this.id); if (!allowToOpen) { isAllow = allowToOpen; } } } var allowToOpen = this.checkCurrentPopupType(); if (!allowToOpen) { return false; } return allowToOpen; }; SGPBPopup.prototype.checkCurrentPopupType = function() { var allowToOpen = true; var popupConfig = new PopupConfig(); var isPreview = parseInt(this.popupData['sgpb-is-preview']); if (!isNaN(isPreview) && isPreview == 1) { return allowToOpen; } var popupHasLimit = this.isSatistfyForShowingLimitation(this.popupData); if (!popupHasLimit) { return false; } var dontShowPopupCookieName = 'sgDontShowPopup' + this.popupData['sgpb-post-id']; var dontShowPopup = SGPopup.getCookie(dontShowPopupCookieName); if (dontShowPopup != '') { return false; } var className = this.popupData['sgpb-type']; if (typeof className == 'undefined' || className == 'undefined') { return false; } if (typeof SGPB_POPUP_PARAMS.conditionalJsClasses != 'undefined' && SGPB_POPUP_PARAMS.conditionalJsClasses.length) { var isAllowConditions = this.isAllowJsConditions(); if (!isAllowConditions) { return false; } } /* make the first letter of a string uppercase, then concat prefix (uppercase all prefix string) */ className = popupConfig.prefix.toUpperCase() + PopupConfig.firstToUpperCase(className); /* hasOwnProperty returns boolean value */ if (window.hasOwnProperty(className)) { className = eval(className); /* create current popup type object */ var obj = new className; /* call allowToOpen function if exists */ if (typeof obj.allowToOpen === 'function') { allowToOpen = obj.allowToOpen(this.id); } } return allowToOpen; }; SGPBPopup.prototype.forceIsAllowJsConditions = function(popupObj) { var conditions = SGPB_POPUP_PARAMS.conditionalJsClasses; var isAllow = true; for (var i in conditions) { if (!conditions.hasOwnProperty(i)) { break; } try { var className = eval(conditions[i]); } catch (e) { continue; } var obj = new className; /* call allowToOpen function if exists */ if (typeof obj.forceAllowToOpen === 'function') { var popupData = this.getPopupData(); var allowToOpen = obj.forceAllowToOpen(popupObj.id, popupObj); if (!allowToOpen) { isAllow = allowToOpen; break; } } } return isAllow; }; SGPBPopup.prototype.isAllowJsConditions = function() { var conditions = SGPB_POPUP_PARAMS.conditionalJsClasses; var isAllow = true; for (var i in conditions) { if (!conditions.hasOwnProperty(i)) { break; } try { var className = eval(conditions[i]); } catch (e) { continue; } var obj = new className; /* call allowToOpen function if exists */ if (typeof obj.allowToOpen === 'function') { var allowToOpen = obj.allowToOpen(this.id, this); if (!allowToOpen) { isAllow = allowToOpen; break; } } } return isAllow; }; SGPBPopup.prototype.setPopupLimitationCookie = function(popupData) { var cookieData = this.getPopupShowLimitationCookie(popupData); var cookie = cookieData.cookie || {}; var openingCount = cookie.openingCount || 0; var currentUrl = window.location.href; if (!popupData['sgpb-show-popup-same-user-page-level']) { currentUrl = ''; } cookie.openingCount = openingCount + 1; cookie.openingPage = currentUrl; var popupShowingLimitExpiry = parseInt(popupData['sgpb-show-popup-same-user-expiry']); SGPBPopup.setCookie(cookieData.cookieName, JSON.stringify(cookie), popupShowingLimitExpiry, currentUrl); }; SGPBPopup.prototype.isSatistfyForShowingLimitation = function(popupData) { /*enable||disable*/ var popupLimitation = popupData['sgpb-show-popup-same-user']; /*if this option unchecked popup must be show*/ if (!popupLimitation) { return true; } var cookieData = this.getPopupShowLimitationCookie(popupData); /*when there is not*/ if (!cookieData.cookie) { return true; } return popupData['sgpb-show-popup-same-user-count'] > cookieData.cookie.openingCount; }; SGPBPopup.prototype.getPopupShowLimitationCookie = function(popupData) { var savedCookie = this.getPopupShowLimitationCookieDetails(popupData); var savedCookie = this.filterPopupLimitationCookie(savedCookie); return savedCookie; }; SGPBPopup.prototype.filterPopupLimitationCookie = function(cookie) { var result = {}; result.cookie = ''; if (cookie.isPageLevel) { result.cookieName = cookie.pageLevelCookieName; if (cookie.pageLevelCookie) { result.cookie = jQuery.parseJSON(cookie.pageLevelCookie); } SGPBPopup.deleteCookie(cookie.domainLevelCookieName); return result; } result.cookieName = cookie.domainLevelCookieName; if (cookie.domainLevelCookie) { result.cookie = jQuery.parseJSON(cookie.domainLevelCookie); } var currentUrl = window.location.href; SGPBPopup.deleteCookie(cookie.pageLevelCookieName, currentUrl); return result; }; SGPBPopup.prototype.getPopupShowLimitationCookieDetails = function(popupData) { var result = false; var currentUrl = window.location.href; var currentPopupId = popupData['sgpb-post-id']; /*Cookie names*/ var popupLimitationCookieHomePageLevelName = 'SGPBShowingLimitationHomePage' + currentPopupId; var popupLimitationCookiePageLevelName = 'SGPBShowingLimitationPage' + currentPopupId; var popupLimitationCookieDomainName = 'SGPBShowingLimitationDomain' + currentPopupId; var pageLevelCookie = popupData['sgpb-show-popup-same-user-page-level'] || false; /*check if current url is home page*/ if (currentUrl == SGPB_POPUP_PARAMS.homePageUrl) { popupLimitationCookiePageLevelName = popupLimitationCookieHomePageLevelName; } var popupLimitationPageLevelCookie = SGPopup.getCookie(popupLimitationCookiePageLevelName); var popupLimitationDomainCookie = SGPopup.getCookie(popupLimitationCookieDomainName); result = { 'pageLevelCookieName': popupLimitationCookiePageLevelName, 'domainLevelCookieName': popupLimitationCookieDomainName, 'pageLevelCookie': popupLimitationPageLevelCookie, 'domainLevelCookie': popupLimitationDomainCookie, 'isPageLevel': pageLevelCookie }; return result; }; SGPBPopup.prototype.themeCreator = function() { var noPositionSelected = false; var popupData = this.getPopupData(); var popupId = this.getPopupId(); var popupConfig = this.getPopupConfig(); var forceRtlClass = ''; var forceRtl = SGPBPopup.varToBool(popupData['sgpb-force-rtl']); var popupTheme = popupData['sgpb-popup-themes']; var popupType = popupData['sgpb-type']; var closeButtonWidth = popupData['sgpb-button-image-width']; var closeButtonHeight = popupData['sgpb-button-image-height']; var contentPadding = parseInt(popupData['sgpb-content-padding']); /* close button position */ var top = parseInt(popupData['sgpb-button-position-top']); var right = parseInt(popupData['sgpb-button-position-right']); var bottom = parseInt(popupData['sgpb-button-position-bottom']); var left = parseInt(popupData['sgpb-button-position-left']); var contentClass = popupData['sgpb-content-custom-class']; /* for the 2-nd and 3-rd themes only */ var popupBorder = SGPBPopup.varToBool(popupData['sgpb-disable-border']); var closeButtonImage = popupConfig.closeButtonImage; var themeNumber = 1; var backgroundColor = 'black'; var borderColor = 'inherit'; var recentSalesPopup = false; if (typeof SgpbRecentSalesPopupType != 'undefined') { if (popupType == SgpbRecentSalesPopupType) { recentSalesPopup = true; popupTheme = 'sgpb-theme-2'; closeButtonPosition = 'topRight'; backgroundColor = 'white'; borderColor = '#ececec'; top = '-10'; right = '-10'; popupConfig.magicCall('setShadowSpread', 1); popupConfig.magicCall('setContentShadowBlur', 5); popupConfig.magicCall('setOverlayVisible', false); popupConfig.magicCall('setContentShadowColor', '#000000b3'); popupConfig.magicCall('setContentBorderRadius', '5px'); } } var themeIndexNum = popupTheme[popupTheme.length -1]; if (isNaN(top)) { top = this.closeButtonDefaultPositions[themeIndexNum].top; } if (isNaN(right)) { right = this.closeButtonDefaultPositions[themeIndexNum].right; } if (isNaN(bottom)) { bottom = this.closeButtonDefaultPositions[themeIndexNum].bottom; } if (isNaN(left)) { left = this.closeButtonDefaultPositions[themeIndexNum].left; } if (forceRtl) { forceRtlClass = ' sgpb-popup-content-direction-right'; } if (popupData['sgpb-type'] == 'countdown') { popupConfig.magicCall('setMinWidth', 300); } popupConfig.magicCall('setContentPadding', contentPadding); popupConfig.magicCall('setOverlayAddClass', popupTheme+'-overlay sgpb-popup-overlay-' + popupId); popupConfig.magicCall('setContentAddClass', 'sgpb-content sgpb-content-'+popupId+' ' + popupTheme+'-content ' + contentClass + forceRtlClass); if (typeof popupData['sgpb-close-button-position'] == 'undefined' || popupData['sgpb-close-button-position'] == '') { /* * in the old version we don't have close button position option * and if noPositionSelected is true, the popup was not edited */ var noPositionSelected = true; } else { var closeButtonPosition = popupData['sgpb-close-button-position']; popupConfig.magicCall('setButtonPosition', closeButtonPosition); } if (popupTheme == 'sgpb-theme-1') { themeNumber = 1; popupConfig.magicCall('setShadowSpread', 14); /* 9px theme default close button position for all cases */ if (noPositionSelected || closeButtonPosition == 'bottomRight') { popupConfig.magicCall('setCloseButtonPositionRight', right+'px'); popupConfig.magicCall('setCloseButtonPositionBottom', bottom+'px'); } else { popupConfig.magicCall('setCloseButtonPositionLeft', left+'px'); popupConfig.magicCall('setCloseButtonPositionBottom', bottom+'px'); } } else if (popupTheme == 'sgpb-theme-2') { themeNumber = 2; popupConfig.magicCall('setButtonInside', false); popupConfig.magicCall('setContentBorderWidth', 1); popupConfig.magicCall('setContentBackgroundColor', backgroundColor); popupConfig.magicCall('setContentBorderColor', borderColor); popupConfig.magicCall('setOverlayColor', 'white'); var rightPosition = '0'; var topPosition = '-' + closeButtonHeight + 'px'; if (recentSalesPopup) { rightPosition = '-' + (closeButtonWidth / 2) + 'px'; topPosition = '-' + (closeButtonHeight / 2) + 'px'; themeNumber = 6; } if (noPositionSelected || closeButtonPosition == 'topRight') { /* this theme has 1px border */ popupConfig.magicCall('setCloseButtonPositionRight', right+'px'); popupConfig.magicCall('setCloseButtonPositionTop', top+'px'); } else { if (closeButtonPosition == 'topLeft') { popupConfig.magicCall('setCloseButtonPositionLeft', left+'px'); popupConfig.magicCall('setCloseButtonPositionTop', top+'px'); } else if (closeButtonPosition == 'bottomRight') { popupConfig.magicCall('setCloseButtonPositionRight', right+'px'); popupConfig.magicCall('setCloseButtonPositionBottom', bottom+'px'); } else if (closeButtonPosition == 'bottomLeft') { popupConfig.magicCall('setCloseButtonPositionLeft', left+'px'); popupConfig.magicCall('setCloseButtonPositionBottom', bottom+'px'); } } if (popupBorder) { popupConfig.magicCall('setContentBorderWidth', 0); } } else if (popupTheme == 'sgpb-theme-3') { themeNumber = 3; popupConfig.magicCall('setContentBorderWidth', 5); popupConfig.magicCall('setContentBorderRadius', popupData['sgpb-border-radius']); popupConfig.magicCall('setContentBorderRadiusType', popupData['sgpb-border-radius-type']); popupConfig.magicCall('setContentBorderColor', popupData['sgpb-border-color']); var closeButtonPositionPx = '4px'; if (popupBorder) { popupConfig.magicCall('setContentBorderWidth', 0); closeButtonPositionPx = '0px'; } if (noPositionSelected) { popupConfig.magicCall('setCloseButtonWidth', 38); popupConfig.magicCall('setCloseButtonHeight', 19); popupConfig.magicCall('setCloseButtonPositionRight', right+'px'); popupConfig.magicCall('setCloseButtonPositionTop', top+'px'); } else { if (closeButtonPosition == 'topRight') { popupConfig.magicCall('setCloseButtonPositionRight', right+'px'); popupConfig.magicCall('setCloseButtonPositionTop', top+'px'); } else if (closeButtonPosition == 'topLeft') { popupConfig.magicCall('setCloseButtonPositionLeft', left+'px'); popupConfig.magicCall('setCloseButtonPositionTop', top+'px'); } else if (closeButtonPosition == 'bottomRight') { popupConfig.magicCall('setCloseButtonPositionLeft', right+'px'); popupConfig.magicCall('setCloseButtonPositionBottom', bottom+'px'); } else if (closeButtonPosition == 'bottomLeft') { popupConfig.magicCall('setCloseButtonPositionLeft', left+'px'); popupConfig.magicCall('setCloseButtonPositionBottom', bottom+'px'); } } } else if (popupTheme == 'sgpb-theme-4') { /* in theme-4 close button type is button,not image, * then set type to button, default is image and * set text */ themeNumber = 4; popupConfig.magicCall('setButtonImage', popupData['sgpb-button-text']); popupConfig.magicCall('setCloseButtonType', 'button'); popupConfig.magicCall('setCloseButtonText', popupData['sgpb-button-text']); popupConfig.magicCall('setContentBorderWidth', 0); popupConfig.magicCall('setContentBackgroundColor', 'white'); popupConfig.magicCall('setContentBorderColor', 'white'); popupConfig.magicCall('setOverlayColor', 'white'); popupConfig.magicCall('setShadowSpread', 4); popupConfig.magicCall('setContentShadowBlur', 8); /* 8px/12px theme default close button position for all cases */ if (noPositionSelected || closeButtonPosition == 'bottomRight') { popupConfig.magicCall('setCloseButtonPositionRight', right+'px'); popupConfig.magicCall('setCloseButtonPositionBottom', bottom+'px'); } else { popupConfig.magicCall('setCloseButtonPositionLeft', left+'px'); popupConfig.magicCall('setCloseButtonPositionBottom', bottom+'px'); } } else if (popupTheme == 'sgpb-theme-5') { themeNumber = 5; popupConfig.magicCall('setBoxBorderWidth', 10); popupConfig.magicCall('setContentBorderColor', '#4B4B4B'); if (noPositionSelected || closeButtonPosition == 'bottomRight') { popupConfig.magicCall('setCloseButtonPositionRight', right+'px'); popupConfig.magicCall('setCloseButtonPositionBottom', bottom+'px'); } else { popupConfig.magicCall('setCloseButtonPositionLeft', left+'px'); popupConfig.magicCall('setCloseButtonPositionBottom', bottom+'px'); } } else if (popupTheme == 'sgpb-theme-6') { themeNumber = 6; popupConfig.magicCall('setButtonInside', false); popupConfig.magicCall('setContentBorderRadius', 7); popupConfig.magicCall('setContentBorderRadiusType', 'px'); if (noPositionSelected) { popupConfig.magicCall('setCloseButtonWidth', 37); popupConfig.magicCall('setCloseButtonHeight', 37); popupConfig.magicCall('setCloseButtonPositionRight', right+'px'); popupConfig.magicCall('setCloseButtonPositionTop', top+'px'); } else { if (typeof popupData['sgpb-button-position-right'] == 'undefined') { right = '-' + (closeButtonWidth / 2); top = '-' + (closeButtonHeight / 2); left = '-' + (closeButtonWidth / 2); bottom = '-' + (closeButtonHeight / 2); } if (closeButtonPosition == 'topRight') { popupConfig.magicCall('setCloseButtonPositionRight', right + 'px'); popupConfig.magicCall('setCloseButtonPositionTop', top + 'px'); } else if (closeButtonPosition == 'topLeft') { popupConfig.magicCall('setCloseButtonPositionLeft', left + 'px'); popupConfig.magicCall('setCloseButtonPositionTop', top + 'px'); } else if (closeButtonPosition == 'bottomRight') { popupConfig.magicCall('setCloseButtonPositionRight', right + 'px'); popupConfig.magicCall('setCloseButtonPositionBottom', bottom + 'px'); } else if (closeButtonPosition == 'bottomLeft') { popupConfig.magicCall('setCloseButtonPositionLeft', left + 'px'); popupConfig.magicCall('setCloseButtonPositionBottom', bottom + 'px'); } } } popupConfig.magicCall('setPopupTheme', themeNumber); if (!popupData['sgpb-button-image']) { closeButtonImage = SGPB_POPUP_PARAMS.defaultThemeImages[themeNumber]; if (typeof closeButtonImage != 'undefined') { popupConfig.magicCall('setButtonImage', closeButtonImage); } } else { popupConfig.magicCall('setButtonImage', 'data:image/png;base64,'+popupData['sgpb-button-image-data']); if (popupData['sgpb-button-image-data'] == '' || popupData['sgpb-button-image-data'].indexOf('http') != -1) { popupConfig.magicCall('setButtonImage', popupData['sgpb-button-image']); } } }; SGPBPopup.prototype.themeCustomizations = function() { var popupId = this.getPopupId(); var popupData = this.getPopupData(); var popupConfig = this.getPopupConfig(); var contentOpacity = popupData['sgpb-content-opacity']; var contentBgColor = popupData['sgpb-background-color']; if (popupData['sgpb-background-image-data']) { var contentBgImage = 'data:image/png;base64,'+popupData['sgpb-background-image-data']; } else { var contentBgImage = popupData['sgpb-background-image']; } var showContentBackground = popupData['sgpb-show-background']; var contentBgImageMode = popupData['sgpb-background-image-mode']; var overlayColor = popupData['sgpb-overlay-color']; var popupTheme = popupData['sgpb-popup-themes']; var popupType = popupData['sgpb-type']; if (typeof popupData['sgpb-overlay-custom-class'] == 'undefined') { popupData['sgpb-overlay-custom-class'] = 'sgpb-popup-overlay'; } if (typeof popupData['sgpb-popup-themes'] == 'undefined') { popupTheme = 'sgpb-theme-2'; } if (typeof showContentBackground == 'undefined') { contentBgColor = ''; contentBgImage = ''; contentBgImageMode = ''; } if (typeof SgpbRecentSalesPopupType != 'undefined') { if (popupType == SgpbRecentSalesPopupType) { showContentBackground = 'on'; contentBgColor = popupData['sgpb-background-color']; contentOpacity = popupData['sgpb-content-opacity']; } } if (contentOpacity) { popupConfig.magicCall('setContentBackgroundOpacity', contentOpacity); } if (contentBgImageMode) { popupConfig.magicCall('setContentBackgroundMode', contentBgImageMode); } if (contentBgImage) { popupConfig.magicCall('setContentBackgroundImage', contentBgImage); } if (contentBgColor) { contentBgColor = SGPBPopup.hexToRgba(contentBgColor, contentOpacity); popupConfig.magicCall('setContentBackgroundColor', contentBgColor); } if (overlayColor) { popupConfig.magicCall('setOverlayColor', overlayColor); } var overlayClasses = popupTheme+'-overlay sgpb-popup-overlay-'+popupId; if (SGPB_JS_PACKAGES.extensions['advanced-closing']) { if (typeof popupData['sgpb-enable-popup-overlay'] != 'undefined' && popupData['sgpb-enable-popup-overlay'] == 'on') { popupData['sgpb-enable-popup-overlay'] = true; } else if (typeof popupData['sgpb-enable-popup-overlay'] == 'undefined') { popupData['sgpb-enable-popup-overlay'] = false; } } else { popupData['sgpb-enable-popup-overlay'] = true; } popupConfig.magicCall('setOverlayVisible', SGPBPopup.varToBool(popupData['sgpb-enable-popup-overlay'])); if (typeof SgpbRecentSalesPopupType != 'undefined') { popupConfig.magicCall('setOverlayVisible', false); } if (SGPBPopup.varToBool(popupData['sgpb-enable-popup-overlay'])) { popupConfig.magicCall('setOverlayAddClass', overlayClasses + ' ' + popupData['sgpb-overlay-custom-class']); var overlayOpacity = popupData['sgpb-overlay-opacity'] || 0.8; popupConfig.magicCall('setOverlayOpacity', overlayOpacity * 100); } }; SGPBPopup.prototype.formSubmissionDetection = function(args) { if (args.length) { return false; } var popupId = args.popupId; var options = SGPBPopup.getPopupOptionsById(popupId); if (!options['sgpb-reopen-after-form-submission']) { return false; } jQuery('.sgpb-popup-builder-content-' + popupId + ' form').submit(function() { SGPBPopup.setCookie('SGPBSubmissionReloadPopup', popupId); }); }; SGPBPopup.prototype.htmlIframeFilterForOpen = function(popupId, popupEventName) { var popupContent = jQuery('.sgpb-content-' + popupId); if (!popupContent.length) { return false; } popupContent.find('iframe').each(function() { if (popupEventName != 'open') { /* for do not affect facebook type buttons iframe only */ if (jQuery(this).closest('.fb_iframe_widget').length) { return true; } /*close*/ if (typeof jQuery(this).attr('data-attr-src') == 'undefined') { var src = jQuery(this).attr('src'); if (src != '') { jQuery(this).attr('data-attr-src', src); jQuery(this).attr('src', ''); } return true; } else { var src = jQuery(this).attr('src'); if (src != '') { jQuery(this).attr('data-attr-src', src); jQuery(this).attr('src', ''); } return true; } } else { /*open*/ if (typeof jQuery(this).attr('data-attr-src') == 'undefined') { var src = jQuery(this).attr('src'); if (src != '') { jQuery(this).attr('data-attr-src', src); } return true; } else { var src = jQuery(this).attr('data-attr-src'); if (src != '') { jQuery(this).attr('src', src); jQuery(this).attr('data-attr-src', src); } return true; } } }); }; SGPBPopup.prototype.iframeSizesInHtml = function(args) { var popupId = args['popupId']; var popupOptions = args.popupData; var popupContent = jQuery('.sgpb-content-' + popupId); if (!popupContent.length) { return false; } popupContent.find('iframe').each(function() { if (typeof jQuery(this) == 'undefined') { return false; } if (popupOptions['sgpb-popup-dimension-mode'] == 'customMode') { if (typeof jQuery(this).attr('width') == 'undefined' && typeof popupContent.attr('height') == 'undefined') { jQuery(this).css({'width': popupOptions['sgpb-width'], 'height': popupOptions['sgpb-height']}); } } }); }; SGPBPopup.prototype.getSearchDataFromContent = function(content) { var pattern = /\[(\[?)(pbvariable)(?![\w-])([^\]\/]*(?:\/(?!\])[^\]\/]*)*?)(?:(\/)\]|\](?:([^\[]\*+(?:\[(?!\/\2\])[^\[]\*+)\*+)\[\/\2\])?)(\]?)/gi; var match; var collectedData = []; while (match = pattern.exec(content)) { var currentSearchData = []; var attributes; var attributesKeyValue = []; var parseAttributes = /\s(\w+?)="(.+?)"/g; currentSearchData['replaceString'] = this.htmlDecode(match[0]); while (attributes = parseAttributes.exec(match[3])) { attributesKeyValue[attributes[1]] = this.htmlDecode(attributes[2]); } currentSearchData['searchData'] = attributesKeyValue; collectedData.push(currentSearchData); } return collectedData; }; SGPBPopup.prototype.replaceWithCustomShortcode = function(popupId) { var currentHtmlContent = jQuery('.sgpb-content-'+popupId).html(); var searchData = this.getSearchDataFromContent(currentHtmlContent); var that = this; if (!searchData.length) { return false; } for (var index in searchData) { var currentSearchData = searchData[index]; var searchAttributes = currentSearchData['searchData']; if (typeof searchAttributes['selector'] == 'undefined' || typeof searchAttributes['attribute'] == 'undefined') { that.replaceShortCode(currentSearchData['replaceString'], '', popupId); continue; } try { if (!jQuery(searchAttributes['selector']).length) { that.replaceShortCode(currentSearchData['replaceString'], '', popupId); continue; } } catch (e) { that.replaceShortCode(currentSearchData['replaceString'], '', popupId); continue; } if (searchAttributes['attribute'] == 'text') { var replaceName = jQuery(searchAttributes['selector']).text(); } else { var replaceName = jQuery(searchAttributes['selector']).attr(searchAttributes['attribute']); } if (typeof replaceName == 'undefined') { that.replaceShortCode(currentSearchData['replaceString'], '', popupId); continue; } that.replaceShortCode(currentSearchData['replaceString'], replaceName, popupId); } }; SGPBPopup.prototype.replaceShortCode = function(shortCode, replaceText, popupId) { var popupId = parseInt(popupId); if (!popupId) { return false; } var popupContentWrapper = jQuery('.sgpb-content-' + popupId); if (!popupContentWrapper.length) { return false; } popupContentWrapper.find('div').each(function() { var currentHtmlContent = jQuery(this).contents(); if (!currentHtmlContent.length) { return false; } currentHtmlContent.html(function(i, v) { if (typeof v != 'undefined') { return v.replace(shortCode, replaceText); } }); }); return true; }; SGPBPopup.prototype.popupTriggeringListeners = function() { var that = this; var popupData = this.getPopupData(); var popupConfig = this.getPopupConfig(); sgAddEvent(window, 'sgpbDidOpen', function(e) { var args = e.detail; that.iframeSizesInHtml(args); that.formSubmissionDetection(args); var popupOptions = args.popupData; var closeButtonDelay = parseInt(popupOptions['sgpb-close-button-delay']); if (closeButtonDelay) { that.closeButtonDisplay(popupOptions['sgpb-post-id'], 'show', closeButtonDelay); } var disablePageScrolling = popupOptions['sgpb-disable-page-scrolling']; if (popupOptions['sgpb-overlay-color']) { jQuery('.sgpb-theme-1-overlay').css({'background-image': 'none'}); } if (SGPBPopup.varToBool(disablePageScrolling)) { jQuery('html').addClass('sgpb-overflow-hidden'); jQuery('body').addClass('sgpb-overflow-hidden-body'); } }); sgAddEvent(window, 'sgpbWillOpen', function(e) { var args = e.detail; var popupId = parseInt(args['popupId']); that.htmlIframeFilterForOpen(args.popupId, 'open'); that.replaceWithCustomShortcode(popupId); that.sgpbDontShowPopup(popupId); var closeButtonDelay = parseInt(popupData['sgpb-close-button-delay']); if (closeButtonDelay) { that.closeButtonDisplay(popupData['sgpb-post-id'], 'hide'); } /* extra checker for analytics */ var settings = { popupId: popupData['sgpb-post-id'], disabledAnalytics: popupData['sgpb-popup-counting-disabled'], disabledInGeneral: SGPB_POPUP_PARAMS.disableAnalyticsGeneral }; jQuery(window).trigger('sgpbDisableAnalytics', settings); }); sgAddEvent(window, 'sgpbShouldClose', function(e) { }); sgAddEvent(window, 'sgpbWillClose', function(e) { var args = e.detail; SGPBPopup.offPopup(e.detail.currentObj); }); }; SGPBPopup.prototype.sgpbDontShowPopup = function(popupId) { var dontShowPopup = jQuery('.sgpb-content-' + popupId).parent().find('[class*="sg-popup-dont-show"]'); if (!dontShowPopup.length) { return false; } dontShowPopup.each(function() { jQuery(this).bind('click', function(e) { e.preventDefault(); var expireTime = SGPB_POPUP_PARAMS.dontShowPopupExpireTime; var cookieName = 'sgDontShowPopup' + popupId; var classNameSearch = jQuery(this).attr('class').match(/sg-popup-dont-show/); var className = classNameSearch['input']; var customExpireTime = className.match(/sg-popup-dont-show-(\d+$)/); if (customExpireTime) { expireTime = parseInt(customExpireTime[1]); } SGPBPopup.setCookie(cookieName, expireTime, expireTime); SGPBPopup.closePopupById(popupId); }); }); }; SGPBPopup.prototype.addToCounter = function(popupOptions) { if (SGPB_POPUP_PARAMS.isPreview || (typeof popupOptions['sgpb-popup-counting-disabled'] != 'undefined')) { return false; } var that = this; var openedPopups = window.sgpbOpenedPopup || {}; var popupId = parseInt(popupOptions['sgpb-post-id']); if (typeof openedPopups[popupId] == 'undefined') { openedPopups[popupId] = 1; } else { openedPopups[popupId] += 1; } window.sgpbOpenedPopup = openedPopups; }; /* * closeButtonDisplay() * close or hide close button * @param popupId * @param display * @param delay */ SGPBPopup.prototype.closeButtonDisplay = function(popupId, display, delay) { if (display == 'show') { setTimeout(function() { jQuery('.sgpb-content-' + popupId).prev().show(); }, delay * 1000 /* received values covert to milliseconds */ ); } else if (display == 'hide') { jQuery('.sgpb-content-' + popupId).prev().hide(); } }; SGPBPopup.prototype.open = function(args) { var customEvent = this.customEvent; var config = this.getPopupConfig(); var popupId = this.getPopupId(); var eventName = this.eventName; if (typeof window.sgPopupBuilder == 'undefined') { window.sgPopupBuilder = []; } var popupData = SGPBPopup.getPopupWindowDataById(popupId); if (!popupData) { window.SGPB_ORDER += 1; var currentObj = { 'eventName': eventName, 'popupId': popupId, 'order': window.SGPB_ORDER, 'isOpen': true, 'sgpbPopupObj': this }; config.currentObj = currentObj; var popupConfig = config.combineConfigObj(); var popup = new SGPopup(popupConfig); currentObj.popup = popup; window.sgPopupBuilder.push(currentObj); } else { popup = popupData['popup']; popupData['isOpen'] = true; } if (typeof args != 'undefined' && !args['countPopupOpen']) { /* don't allow to count popup opening */ this.setCountPopupOpen(false); } popup.customEvent = customEvent; popup.open(); this.setPopupObj(popup); /* contact form 7 form submission * TODO: this must be moved to a better place in the future * I'm leaving it here for now, since sgpbDidOpen() gets called way too much! */ var options = SGPBPopup.getPopupOptionsById(popupId); SgpbEventListener.CF7EventListener(popupId, options); if (typeof options['sgpb-behavior-after-special-events'] != 'undefined') { if (options['sgpb-behavior-after-special-events'].length) { options = options['sgpb-behavior-after-special-events'][0][0]; if (options['param'] == 'contact-form-7') { SgpbEventListener.processCF7MailSent(popupId, options); } } } }; SGPBPopup.varToBool = function(optionName) { var returnValue = optionName ? true : false; return returnValue; }; SGPBPopup.hexToRgba = function(hex, opacity) { var c; if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)){ c = hex.substring(1).split(''); if (c.length == 3){ c= [c[0], c[0], c[1], c[1], c[2], c[2]]; } c = '0x'+c.join(''); return 'rgba('+[(c>>16)&255, (c>>8)&255, c&255].join(',')+','+opacity+')'; } throw new Error('Bad Hex'); }; SGPBPopup.prototype.contentCopyToClick = function() { var popupData = this.getPopupData(); var popupId = this.getPopupId(); var tempInputId = 'content-copy-to-click-'+popupId; var value = this.htmlDecode(popupData['sgpb-copy-to-clipboard-text']); var tempInput = document.createElement("input"); tempInput.id = tempInputId; tempInput.value = value; tempInput.style = 'position: absolute; right: -10000px'; if (!document.getElementById(tempInputId)) { document.body.appendChild(tempInput); } tempInput.select(); document.execCommand("copy"); document.body.removeChild(tempInput); }; SGPBPopup.prototype.htmlDecode = function(value) { return jQuery('<textarea/>').html(value).text(); }; SGPBPopup.prototype.findTargetInsideExceptionsList = function(targetName, exceptionList) { var status = false; var popupContentMainDiv = document.getElementById('sgpb-popup-dialog-main-div'); while (targetName.parentNode) { targetName = targetName.parentNode; if (typeof targetName.tagName == 'undefined') { continue; } var tagName = targetName.tagName.toLowerCase(); if (targetName === popupContentMainDiv) { break; } if (exceptionList.indexOf(tagName) != -1) { status = true; break; } } return status; }; SGPBPopup.prototype.contentCloseBehavior = function() { var that = this; var popupData = this.getPopupData(); var popupId = this.getPopupId(); var redirectUrl = popupData['sgpb-click-redirect-to-url']; var contentClickBehavior = popupData['sgpb-content-click-behavior']; var redirectToNewTab = SGPBPopup.varToBool(popupData['sgpb-redirect-to-new-tab']); var closePopupAfterCopy = SGPBPopup.varToBool(popupData['sgpb-copy-to-clipboard-close-popup']); var clipboardAlert = SGPBPopup.varToBool(popupData['sgpb-copy-to-clipboard-alert']); var separators = ['&', '/&/g']; for (var i in separators) { redirectUrl = redirectUrl.split(separators[i]).join('&'); } sgAddEvent(window, 'sgpbDidOpen', function(e) { }); sgAddEvent(window, 'sgpbWillOpen', function(e) { if (popupId != e.detail.popupId || e.detail.popupData['sgpb-content-click'] == 'undefined') { return false; } if (contentClickBehavior == 'redirect') { jQuery('.sgpb-content-'+popupId).addClass('sgpb-cursor-pointer'); } jQuery('.sgpb-content-'+e.detail.popupId).on('click', function(event) { /* we need this settings in analytics */ var settings = { popupId: popupId, eventName: 'sgpbPopupContentClick' }; jQuery(window).trigger('sgpbPopupContentClick', settings); if (contentClickBehavior == 'redirect') { if (redirectToNewTab) { window.open(redirectUrl); SGPBPopup.closePopupById(that.getPopupId()); return; } window.location = redirectUrl; SGPBPopup.closePopupById(that.getPopupId()); } else if (contentClickBehavior == 'copy') { var exceptionList = ['input', 'textarea', 'select', 'button', 'a']; var targetName = event.target.tagName.toLowerCase(); var parentTagName = event.target.parentNode.tagName.toLowerCase(); var parentsIsInExceptionsList = that.findTargetInsideExceptionsList(event.target, exceptionList); /*for do not copy when user click to any input element*/ if (exceptionList.indexOf(targetName) == -1 && !parentsIsInExceptionsList) { that.contentCopyToClick(); if (closePopupAfterCopy) { SGPBPopup.closePopupById(that.getPopupId()); } if (clipboardAlert) { alert(popupData['sgpb-copy-to-clipboard-message']) } } } else if (popupData['sgpb-disable-popup-closing'] != 'on') { SGPBPopup.closePopupById(that.getPopupId()); } }); }); sgAddEvent(window, 'sgpbDidClose', function(e) { }); }; SGPBPopup.prototype.addFixedPosition = function() { var popupData = this.getPopupData(); var popupId = this.getPopupId(); var popupConfig = this.getPopupConfig(); var fixedPosition = popupData['sgpb-popup-fixed-position']; var positionRight = ''; var positionTop = ''; var positionBottom = ''; var positionLeft = ''; if (fixedPosition == 1) { positionTop = 40; positionLeft = 20; } else if (fixedPosition == 2) { positionLeft = 'center'; positionTop = 40; } else if (fixedPosition == 3) { positionTop = 40; positionRight = 20; } else if (fixedPosition == 4) { positionTop = 'center'; positionLeft = 20; } else if (fixedPosition == 6) { positionTop = 'center'; positionRight = 20; } else if (fixedPosition == 7) { positionLeft = 20; positionBottom = 2; } else if (fixedPosition == 8) { positionLeft = 'center'; positionBottom = 2; } else if (fixedPosition == 9) { positionRight = 20; positionBottom = 2; } if (typeof SgpbRecentSalesPopupType != 'undefined') { if (popupData['sgpb-type'] == SgpbRecentSalesPopupType) { if (positionTop != '') { positionTop = parseInt(positionTop+10); } else if (positionBottom != '') { positionBottom = parseInt(positionBottom+10); } } } popupConfig.magicCall('setPositionTop', positionTop); popupConfig.magicCall('setPositionRight', positionRight); popupConfig.magicCall('setPositionBottom', positionBottom); popupConfig.magicCall('setPositionLeft', positionLeft); }; SGPBPopup.prototype.setPopupDimensions = function() { var popupData = this.getPopupData(); var popupConfig = this.getPopupConfig(); var popupId = this.getPopupId(); var dimensionData = popupData['sgpb-popup-dimension-mode']; var maxWidth = popupData['sgpb-max-width']; var maxHeight = popupData['sgpb-max-height']; var minWidth = popupData['sgpb-min-width']; var minHeight = popupData['sgpb-min-height']; var contentPadding = popupData['sgpb-content-padding']; var popupType = popupData['sgpb-type']; popupConfig.magicCall('setMaxWidth', maxWidth); popupConfig.magicCall('setMaxHeight', maxHeight); popupConfig.magicCall('setMinWidth', minWidth); popupConfig.magicCall('setMinHeight', minHeight); if (popupType == 'image') { popupConfig.magicCall('setContentBackgroundImage', popupData['sgpb-image-url']); popupConfig.magicCall('setContentBackgroundMode', 'contain'); if (dimensionData == 'customMode') { popupConfig.magicCall('setContentBackgroundPosition', 'center center'); } } if (dimensionData == 'responsiveMode') { var dimensionMeasure = popupData['sgpb-responsive-dimension-measure']; /* for image popup type and responsive mode, set background image to fit */ if (popupType == 'image' && dimensionMeasure != 'fullScreen') { popupConfig.magicCall('setContentBackgroundMode', 'fit'); this.setMaxWidthForResponsiveImage(); } var popupConfig = this.getPopupConfig(); if (dimensionMeasure != 'auto') { popupConfig.magicCall('setWidth', dimensionMeasure+'%'); popupConfig.magicCall('setContentBackgroundPosition', 'center'); } else { var widthToSet = jQuery('.sgpb-popup-builder-content-'+popupId).width() + (contentPadding*2); if (isNaN(widthToSet)) { widthToSet = 'auto'; } else { popupConfig.magicCall('setContentBackgroundPosition', 'center center'); widthToSet += 'px'; } popupConfig.magicCall('setWidth', widthToSet); if (dimensionMeasure == 'fullScreen') { popupConfig.magicCall('setHeight', widthToSet); } } return popupConfig; } var popupWidth = popupData['sgpb-width']; var popupHeight = popupData['sgpb-height']; popupConfig.magicCall('setWidth', popupWidth); popupConfig.magicCall('setHeight', popupHeight); return popupConfig; }; SGPBPopup.prototype.setMaxWidthForResponsiveImage = function() { var popupData = this.getPopupData(); var popupConfig = this.getPopupConfig(); var dimensionMeasure = popupData['sgpb-responsive-dimension-measure']; if (dimensionMeasure != 'auto') { var maxWidth = popupData['sgpb-max-width']; if (maxWidth == '') { popupConfig.magicCall('setMaxWidth', dimensionMeasure+'%'); return true; } popupConfig.magicCall('setMaxWidth', dimensionMeasure+'%'); if (maxWidth.indexOf('%') != '-1') { if (parseInt(maxWidth) < dimensionMeasure) { popupConfig.magicCall('setMaxWidth', maxWidth); } } else { var responsiveMeasureInPx = (dimensionMeasure*window.innerWidth)/100; if (maxWidth < responsiveMeasureInPx) { popupConfig.magicCall('setMaxWidth', maxWidth); } } } }; SGPBPopup.JSONParse = function(data){ return JSON.parse(atob(data, true)); }; // unused function! SGPBPopup.b64DecodeUnicode = function(str) { var Base64 = { /* private property */ _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", /* public method for decoding */ decode : function (input) { var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); while (i < input.length) { enc1 = this._keyStr.indexOf(input.charAt(i++)); enc2 = this._keyStr.indexOf(input.charAt(i++)); enc3 = this._keyStr.indexOf(input.charAt(i++)); enc4 = this._keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output += String.fromCharCode(chr1); if (enc3 != 64) { output += String.fromCharCode(chr2); } if (enc4 != 64) { output += String.fromCharCode(chr3); } } output = Base64._utf8_decode(output); return output; }, /* private method for UTF-8 decoding */ _utf8_decode : function (utftext) { var string = ""; var i = 0; var c = c1 = c2 = 0; while (i < utftext.length) { c = utftext.charCodeAt(i); if (c < 128) { string += String.fromCharCode(c); i++; } else if ((c > 191) && (c < 224)) { c2 = utftext.charCodeAt(i+1); string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); i += 2; } else { c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2); string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); i += 3; } } return string; } }; return Base64.decode(str); }; // unused function! SGPBPopup.unserialize_old = function(data) { data = SGPBPopup.b64DecodeUnicode(data); var $global = (typeof window !== 'undefined' ? window : global); var utf8Overhead = function(str) { var s = str.length; for (var i = str.length - 1; i >= 0; i--) { var code = str.charCodeAt(i); if (code > 0x7f && code <= 0x7ff) { s++; } else if (code > 0x7ff && code <= 0xffff) { s += 2; } /* trail surrogate */ if (code >= 0xDC00 && code <= 0xDFFF) { i--; } } return s - 1; }; var error = function(type, msg, filename, line) { throw new $global[type](msg, filename, line); }; var readUntil = function(data, offset, stopchr) { var i = 2; var buf = []; var chr = data.slice(offset, offset + 1); while (chr !== stopchr) { if ((i + offset) > data.length) { error('Error', 'Invalid'); } buf.push(chr); chr = data.slice(offset + (i - 1), offset + i); i += 1; } return [buf.length, buf.join('')]; }; var readChrs = function(data, offset, length) { var i, chr, buf; buf = []; for (i = 0; i < length; i++) { chr = data.slice(offset + (i - 1), offset + i); buf.push(chr); length -= utf8Overhead(chr); } return [buf.length, buf.join('')]; }; function _unserialize(data, offset) { var dtype; var dataoffset; var keyandchrs; var keys; var contig; var length; var array; var readdata; var readData; var ccount; var stringlength; var i; var key; var kprops; var kchrs; var vprops; var vchrs; var value; var chrs = 0; var typeconvert = function(x) { return x }; if (!offset) { offset = 0 } dtype = (data.slice(offset, offset + 1)).toLowerCase(); dataoffset = offset + 2; switch (dtype) { case 'i': typeconvert = function(x) { return parseInt(x, 10); }; readData = readUntil(data, dataoffset, ';'); chrs = readData[0]; readdata = readData[1]; dataoffset += chrs + 1; break; case 'b': typeconvert = function(x) { return parseInt(x, 10) !== 0; }; readData = readUntil(data, dataoffset, ';'); chrs = readData[0]; readdata = readData[1]; dataoffset += chrs + 1; break; case 'd': typeconvert = function(x) { return parseFloat(x); }; readData = readUntil(data, dataoffset, ';'); chrs = readData[0]; readdata = readData[1]; dataoffset += chrs + 1; break; case 'n': readdata = null; break; case 's': ccount = readUntil(data, dataoffset, ':'); chrs = ccount[0]; stringlength = ccount[1]; dataoffset += chrs + 2; readData = readChrs(data, dataoffset + 1, parseInt(stringlength, 10)); chrs = readData[0]; readdata = readData[1]; dataoffset += chrs + 2; if (chrs !== parseInt(stringlength, 10) && chrs !== readdata.length) { error('SyntaxError', 'String length mismatch') } break; case 'a': readdata = {}; keyandchrs = readUntil(data, dataoffset, ':'); chrs = keyandchrs[0]; keys = keyandchrs[1]; dataoffset += chrs + 2; length = parseInt(keys, 10); contig = true; for (i = 0; i < length; i++) { kprops = _unserialize(data, dataoffset); kchrs = kprops[1]; key = kprops[2]; dataoffset += kchrs; vprops = _unserialize(data, dataoffset); vchrs = vprops[1]; value = vprops[2]; dataoffset += vchrs; if (key !== i) { contig = false; } readdata[key] = value; } if (contig) { array = new Array(length); for (i = 0; i < length; i++) { array[i] = readdata[i]; } readdata = array; } dataoffset += 1; break; default: error('SyntaxError', 'Unknown / Unhandled data type(s): ' + dtype); break; } return [dtype, dataoffset - offset, typeconvert(readdata)] } return _unserialize((data + ''), 0)[2]; }; SGPBPopup.closePopup = function() { var popupObjs = window.sgPopupBuilder; var lastPopupObj = this.getLastPopup(); if (typeof lastPopupObj == 'undefined') { return false; } var popupId = lastPopupObj.popupId; SGPBPopup.closePopupById(popupId); }; SGPBPopup.closePopupById = function(popupId) { var popupObjs = window.sgPopupBuilder; if (!popupObjs.length) { return; } for (var i in popupObjs) { var currentObj = popupObjs[i]; if (currentObj.popupId == popupId) { var popupObj = popupObjs[i]['popup']; if (popupObj) { /*Send true argument to don’t count disable popup option*/ popupObj.close(true); } } } }; SGPBPopup.getPopupWindowDataById = function(popupId) { var popups = window.sgPopupBuilder; var popup = false; if (typeof popups == 'undefined' || !popups.length) { return popup; } for (var i in popups) { var popupData = popups[i]; if (popupData.popupId == popupId) { popup = popupData; break; } } return popup; }; SGPBPopup.findPopupObjById = function(popupId) { var popup = false; var popupData = SGPBPopup.getPopupWindowDataById(popupId); if (popupData) { popup = popupData['popup']; } return popup; }; SGPBPopup.getLastPopup = function() { var popups = window.sgPopupBuilder; var popup = false; if (!popups.length) { return popup; } var searchPopups = [].concat(popups); for (var i in searchPopups) { var popupData = searchPopups[i]; if (popupData.isOpen) { popup = popupData; break; } } return popup; }; SGPBPopup.offPopup = function(currentPopup) { var popups = window.sgPopupBuilder; if (!popups.length) { return false; } for (var i in popups) { var popupData = popups[i]; if (popupData.order == currentPopup.order && popupData.eventName == currentPopup.eventName) { popups[i]['isOpen'] = false; break; } } return true; }; SGPBPopup.capitalizeFirstLetter = function(string) { return string.charAt(0).toUpperCase() + string.slice(1); }; SGPBPopup.getParamFromUrl = function(param) { var url = window.location.href; param = param.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + param + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) { return null; } if (!results[2]) { return ''; } return decodeURIComponent(results[2].replace(/\+/g, " ")); }; /* * * SGPBPopup Cookies' settings * */ SGPBPopup.setCookie = function(cName, cValue, exDays, cPageLevel) { var sameSite = 'Lax'; var isPreview = SGPBPopup.getParamFromUrl('preview'); if (isPreview) { return false; } var expirationDate = new Date(); var cookiePageLevel = ''; var cookieExpirationData = 1; if (!exDays || isNaN(exDays)) { if (!exDays && exDays === 0) { exDays = 'session'; } else { exDays = 365*50; } } if (!Boolean(cPageLevel)) { cookiePageLevel = 'path=/;'; } if (exDays == 'session') { cookieExpirationData = 0; } else { expirationDate.setDate(parseInt(expirationDate.getDate() + parseInt(exDays))); cookieExpirationData = expirationDate.toUTCString(); } var expires = 'expires='+cookieExpirationData; if (exDays == -1) { expires = ''; } if (!cookieExpirationData) { expires = ''; } /* in IE there is no need to specify the path */ if (SGPBPopup.isIE()) { cookiePageLevel = ''; } var value = cValue+((exDays == null) ? ';' : '; '+expires+';'+cookiePageLevel+'; SameSite=' + sameSite); document.cookie = cName + '=' + value; }; SGPBPopup.isIE = function() { ua = navigator.userAgent; /* MSIE used to detect old browsers and Trident used to newer ones*/ var isIe = ua.indexOf('MSIE ') > -1 || ua.indexOf('Trident/') > -1; return isIe; }; SGPBPopup.getCookie = function(cName) { var name = cName + '='; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ''; }; /* * * Delete the cookie by expiring it * */ SGPBPopup.deleteCookie = function(cName, cPath) { if (!cPath) { cPath = 'path=/;'; } document.cookie = cName + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;' + cPath; }; /** * * @SgpbEventListener listen Events and call corresponding events * */ function SgpbEventListener() { this.evenets = null; this.popupObj = {}; } SgpbEventListener.inactivityIdicator = 0; SgpbEventListener.prototype.setEvents = function(events) { this.evenets = events; }; SgpbEventListener.prototype.getEvents = function() { return this.evenets; }; SgpbEventListener.prototype.setPopupObj = function(popupObj) { this.popupObj = popupObj; }; SgpbEventListener.prototype.getPopupObj = function() { return this.popupObj; }; SgpbEventListener.eventsListenerAfterDocumentReady = function() { window.SGPB_SOUND = []; sgAddEvent(window, 'sgpbDidOpen', function(e) { SGPBPopup.playMusic(e); }); sgAddEvent(window, 'sgpbDidClose', function(e) { var args = e.detail; var popupId = parseInt(args.popupId); if (typeof window.SGPB_SOUND[popupId] && window.SGPB_SOUND[popupId]) { window.SGPB_SOUND[popupId].pause(); delete window.SGPB_SOUND[popupId]; } }); }; SgpbEventListener.init = function() { SgpbEventListener.eventsListenerAfterDocumentReady(); var popupsData = jQuery('.sg-popup-builder-content'); if (!popupsData) { return ''; } var that = this; popupsData.each(function() { var popupObj = that.popupObjCreator(jQuery(this)); SGPBPopup.floatingButton(popupObj); }); }; SgpbEventListener.popupObjCreator = function(currentData) { var popupId = currentData.data('id'); var popupData = currentData.data('options'); var events = currentData.attr('data-events'); events = jQuery.parseJSON(events); SgpbEventListener.reopenAfterFormSubmission(popupData); var popupObj = new SGPBPopup(); popupObj.setPopupId(popupId); popupObj.setPopupData(popupData); for (var i in events) { var obj = new this; obj.setPopupObj(popupObj); obj.eventListener(events[i]); } return popupObj; }; SgpbEventListener.prototype.eventListener = function(eventData) { if (eventData == null) { return ''; } var event = ''; if (typeof eventData == 'string') { event = eventData; } else if (typeof eventData.param != 'undefined') { event = eventData.param; } if (!event) { return false; } var popupObj = this.getPopupObj(); var popupData = popupObj.getPopupData(); if (eventData.value == '') { eventData.value = popupData['sgpb-popup-delay']; } var eventName = SGPBPopup.capitalizeFirstLetter(event); eventName = 'sgpb'+eventName; popupObj.eventName = eventName; var allowToOpen = popupObj.forceCheckCurrentPopupType(popupObj); if (!allowToOpen) { return false; } try { eval('this.'+eventName)(this, eventData); } catch (err) { console.log(err) } }; SgpbEventListener.reopenAfterFormSubmission = function(eventData) { var popupId = SGPBPopup.getCookie('SGPBSubmissionReloadPopup'); popupId = parseInt(popupId); if (!popupId) { return false; } var popupObj = SGPBPopup.createPopupObjById(popupId); if (!popupObj) { return false; } var options = popupObj.getPopupData(); if (!options['sgpb-reopen-after-form-submission']) { return false; } popupObj.prepareOpen(); SGPBPopup.deleteCookie('SGPBSubmissionReloadPopup'); }; SgpbEventListener.prototype.sgpbLoad = function(listenerObj, eventData) { var timeout = parseInt(eventData.value); var popupObj = listenerObj.getPopupObj(); var popupOptions = popupObj.getPopupData(); timeout *= 1000; var timerId, repetitiveTimeout = null; /* same as checkCurrentPopupType(), but it fires ignoring any delay (etc. onload delay) */ popupObj.forceCheckCurrentPopupType(popupObj); var openOnLoadPopup = function() { setTimeout(function() { jQuery(window).trigger('sgpbLoadEvent', popupOptions); popupObj.prepareOpen(); }, timeout); }; sgAddEvent(window, 'load', openOnLoadPopup(timeout, popupObj)); sgAddEvent(window, 'sgpbDidOpen', function(e) { var args = e.detail; clearInterval(repetitiveTimeout); }); sgAddEvent(window, 'sgpbDidClose', function(e) { var args = e.detail; var options = popupObj.getPopupData(); if (SGPBPopup.varToBool(eventData['repetitive'])) { var intervalTime = parseInt(eventData['value'])*1000; repetitiveTimeout = setInterval(function() { popupObj.prepareOpen(); }, intervalTime); } }); }; SgpbEventListener.prototype.timerIncrement = function(listenerObj , idleInterval) { var lastActivity = SgpbEventListener.inactivityIdicator; if (lastActivity == 0) { clearInterval(idleInterval); listenerObj.getPopupObj().prepareOpen(); } SgpbEventListener.inactivityIdicator = 0; }; SgpbEventListener.prototype.sgpbInsideclick = function(listenerObj, eventData) { sgAddEvent(window, 'sgpbDidOpen', function(e) { var args = e.detail; var that = listenerObj; var popupObj = that.getPopupObj(); var popupId = parseInt(popupObj.id); var targetClick = jQuery('.sgpb-content .sgpb-popup-id-'+popupId); if (!targetClick.length) { return false; } targetClick.each(function() { jQuery(this).unbind('click').bind('click', function() { var dontCloseCurrentPopup = jQuery(this).attr('dontCloseCurrentPopup'); if (typeof dontCloseCurrentPopup == 'undefined' || dontCloseCurrentPopup != 'on') { SGPBPopup.closePopup(); } popupObj.prepareOpen(); }); }); }); }; SgpbEventListener.prototype.sgpbClick = function(listenerObj, eventData) { var that = listenerObj; var popupIds = []; var popupObj = that.getPopupObj(); var popupOptions = popupObj.getPopupData(); var popupId = parseInt(popupObj.id); popupIds.push(popupId); var mapId = listenerObj.filterPopupId(popupId); popupIds.push(mapId); if (jQuery.inArray(mapId, popupIds) === -1) { popupIds.push(mapId); } for(var key in popupIds) { var popupId = popupIds[key]; if (!popupIds.hasOwnProperty(key)) { return false; } var targetClick = jQuery('a[href*="#sg-popup-id-' + popupId + '"], .sg-popup-id-' + popupId + ', .sgpb-popup-id-' + popupId); if (typeof eventData.operator != 'undefined' && eventData.operator == 'clickActionCustomClass') { targetClick = jQuery('a[href*="#sg-popup-id-' + popupId + '"], .sg-popup-id-' + popupId + ', .sgpb-popup-id-' + popupId+', .'+eventData.value); } if (!targetClick.length) { continue; } var delay = parseInt(popupOptions['sgpb-popup-delay']) * 1000; var clickCount = 1; targetClick.each(function() { if (!jQuery(this).attr('data-popup-id')) { jQuery(this).attr('data-popup-id', popupId); } var currentTarget = jQuery(this); currentTarget.bind('swipe', function(e) { return false; }); currentTarget.bind('click', function(e) { if (clickCount > 1) { return true; } var allowToOpen = popupObj.forceCheckCurrentPopupType(popupObj); if (!allowToOpen) { return true; } ++clickCount; jQuery(window).trigger('sgpbClickEvent', popupOptions); var popupId = jQuery(this).data('popup-id'); setTimeout(function() { var popupObj = SGPBPopup.createPopupObjById(popupId); if (!popupObj) { var mapId = listenerObj.filterPopupId(popupId); popupObj = SGPBPopup.createPopupObjById(mapId); } popupObj.customEvent = 'Click'; popupObj.prepareOpen(); clickCount = 1; }, delay); return false; }); }); } }; SgpbEventListener.prototype.sgpbHover = function(listenerObj, eventData) { var that = listenerObj; var popupObj = that.getPopupObj(); if (!popupObj) { return false; } var popupIds = []; var popupOptions = popupObj.getPopupData(); var popupId = parseInt(popupObj.id); popupIds.push(popupId); var mapId = listenerObj.filterPopupId(popupId); if (jQuery.inArray(mapId, popupIds) === -1) { popupIds.push(mapId); } for(var key in popupIds) { var popupId = popupIds[key]; if (!popupIds.hasOwnProperty(key)) { return false; } var hoverSelector = jQuery('.sg-popup-hover-' + popupId + ', .sgpb-popup-id-' + popupId + '[data-popup-event="hover"]'); if (typeof eventData.operator != 'undefined' && eventData.operator == 'hoverActionCustomClass') { hoverSelector = jQuery('.sg-popup-hover-' + popupId + ', .sgpb-popup-id-' + popupId + '[data-popup-event="hover"]'+', .'+eventData.value); } if (!hoverSelector) { return false; } var hoverCount = 1; var delay = parseInt(popupOptions['sgpb-popup-delay']) * 1000; hoverSelector.each(function () { if (!jQuery(this).attr('data-popup-id')) { jQuery(this).attr('data-popup-id', popupId); } jQuery(this).bind('mouseenter', function() { if (hoverCount > 1) { return false; } ++hoverCount; var popupId = jQuery(this).data('popup-id'); jQuery(window).trigger('sgpbHoverEvent', popupOptions); setTimeout(function() { var popupObj = SGPBPopup.createPopupObjById(popupId); if (!popupObj) { var mapId = listenerObj.filterPopupId(popupId); popupObj = SGPBPopup.createPopupObjById(mapId); } popupObj.customEvent = 'Hover'; popupObj.prepareOpen(); hoverCount = 1; }, delay); }); }); } }; SgpbEventListener.prototype.sgpbConfirm = function(listenerObj, eventData) { var that = listenerObj; var popupObj = that.getPopupObj(); if (!popupObj) { return false; } var popupIds = []; var popupOptions = popupObj.getPopupData(); var popupId = parseInt(popupObj.id); popupIds.push(popupId); var mapId = listenerObj.filterPopupId(popupId); popupIds.push(mapId); for(var key in popupIds) { var popupId = popupIds[key]; if (!popupIds.hasOwnProperty(key)) { return false; } var confirmSelector = jQuery('.sg-confirm-popup-' + popupId); if (!confirmSelector) { return false; } var confirmCount = 1; confirmSelector.bind('click', function(e) { if (confirmCount > 1) { return false; } ++confirmCount; var allowToOpen = popupObj.forceCheckCurrentPopupType(popupObj); if (!allowToOpen) { return true; } jQuery(window).trigger('sgpbConfirmEvent', popupOptions); var target = jQuery(this).attr('target'); if (typeof target == 'undefined') { target = 'self'; } var href = jQuery(this).attr('href'); var delay = parseInt(popupOptions['sgpb-popup-delay']) * 1000; setTimeout(function() { if (typeof href != 'undefined') { popupOptions['sgpb-confirm-' + popupId] = {'target' : target, 'href' : href}; popupObj.setPopupData(popupOptions); } popupObj.prepareOpen(); confirmCount = 1; }, delay); return false; }); sgAddEvent(window, 'sgpbDidClose', function(e) { var args = e.detail; var popupId = parseInt(args.popupId); var popupOptions = args.popupData; if (typeof popupOptions['sgpb-confirm-' + popupId] != 'undefined') { var confirmAgrs = popupOptions['sgpb-confirm-' + popupId]; if (confirmAgrs['target'] == '_blank') { window.open(confirmAgrs['href']); } else { window.location.href = confirmAgrs['href']; } delete popupOptions['sgpb-confirm-' + popupId]; popupObj.setPopupData(popupOptions); } }); } }; SgpbEventListener.prototype.sgpbAttronload = function(listenerObj, eventData) { var that = listenerObj; var popupObj = that.getPopupObj(); var popupId = parseInt(popupObj.id); popupId = listenerObj.filterPopupId(popupId); var popupOptions = popupObj.getPopupData(); var delay = parseInt(popupOptions['sgpb-popup-delay']) * 1000; jQuery(window).trigger('sgpbAttronloadEvent', popupOptions); setTimeout(function() { popupObj.prepareOpen(); }, delay); }; /*for the old popups*/ SgpbEventListener.prototype.filterPopupId = function(popupId) { var convertedIds = SGPB_POPUP_PARAMS.convertedIdsReverse; var popupNewId = popupId; if (convertedIds[popupId]) { return convertedIds[popupId]; } else { for(var i in convertedIds) { if (popupId == convertedIds[i]) { popupNewId = parseInt(i); break; } } } return popupNewId; }; SgpbEventListener.findCF7InPopup = function(popupId) { return document.querySelector('#sg-popup-content-wrapper-'+popupId+' .wpcf7'); }; SgpbEventListener.CF7EventListener = function(popupId, options) { var wpcf7Elm = SgpbEventListener.findCF7InPopup(popupId); if (wpcf7Elm) { wpcf7Elm.addEventListener('wpcf7mailsent', function(event) { var settings = { popupId: popupId, eventName: 'sgpbCF7Success' }; jQuery(window).trigger('sgpbCF7Success', settings); }); } }; SgpbEventListener.processCF7MailSent = function(popupId, options) { var wpcf7Elm = SgpbEventListener.findCF7InPopup(popupId); if (wpcf7Elm) { wpcf7Elm.addEventListener('wpcf7mailsent', function(event) { if (typeof options['operator'] == 'undefined') { return; } if (options['operator'] == 'close-popup') { setTimeout(function() { SGPBPopup.closePopupById(popupId); }, parseInt(options['value'])*1000); } else if (options['operator'] == 'redirect-url') { window.location.href = options['value']; } else if (options['operator'] == 'open-popup') { SGPBPopup.closePopupById(popupId); var popupObj = SGPBPopup.createPopupObjById(Object.keys(options['value'])[0]); popupObj.prepareOpen(); } }, false); } }; jQuery(document).ready(function(e) { setTimeout(function(){ SgpbEventListener.init(); SGPBPopup.listeners(); }, 1); }); // source --> http://www.kidsbangna.ru.ac.th/wp-content/plugins/responsive-lightbox/assets/magnific/jquery.magnific-popup.min.js?ver=1.2.0 !function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?e(require("jquery")):e(window.jQuery||window.Zepto)}(function(c){function e(){}function d(e,t){m.ev.on(x+e+I,t)}function p(e,t,n,o){var i=document.createElement("div");return i.className="mfp-"+e,n&&(i.innerHTML=n),o?t&&t.appendChild(i):(i=c(i),t&&i.appendTo(t)),i}function u(e,t){m.ev.triggerHandler(x+e,t),m.st.callbacks&&(e=e.charAt(0).toLowerCase()+e.slice(1),m.st.callbacks[e])&&m.st.callbacks[e].apply(m,Array.isArray(t)?t:[t])}function f(e){return e===A&&m.currTemplate.closeBtn||(m.currTemplate.closeBtn=c(m.st.closeMarkup.replace("%title%",m.st.tClose)),A=e),m.currTemplate.closeBtn}function r(){c.magnificPopup.instance||((m=new e).init(),c.magnificPopup.instance=m)}function a(){y&&(v.after(y.addClass(l)).detach(),y=null)}function i(){n&&c(document.body).removeClass(n)}function t(){i(),m.req&&m.req.abort()}var m,o,g,s,h,A,l,v,y,n,w="Close",F="BeforeClose",C="MarkupParse",b="Open",j="Change",x="mfp",I="."+x,T="mfp-ready",N="mfp-removing",k="mfp-prevent-close",P=!!window.jQuery,_=c(window),S=(c.magnificPopup={instance:null,proto:e.prototype={constructor:e,init:function(){var e=navigator.appVersion;m.isLowIE=m.isIE8=document.all&&!document.addEventListener,m.isAndroid=/android/gi.test(e),m.isIOS=/iphone|ipad|ipod/gi.test(e),m.supportsTransition=function(){var e=document.createElement("p").style,t=["ms","O","Moz","Webkit"];if(void 0!==e.transition)return!0;for(;t.length;)if(t.pop()+"Transition"in e)return!0;return!1}(),m.probablyMobile=m.isAndroid||m.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent),g=c(document),m.popupsCache={}},open:function(e){if(!1===e.isObj){m.items=e.items.toArray(),m.index=0;for(var t,n=e.items,o=0;o<n.length;o++)if((t=(t=n[o]).parsed?t.el[0]:t)===e.el[0]){m.index=o;break}}else m.items=Array.isArray(e.items)?e.items:[e.items],m.index=e.index||0;if(!m.isOpen){m.types=[],h="",e.mainEl&&e.mainEl.length?m.ev=e.mainEl.eq(0):m.ev=g,e.key?(m.popupsCache[e.key]||(m.popupsCache[e.key]={}),m.currTemplate=m.popupsCache[e.key]):m.currTemplate={},m.st=c.extend(!0,{},c.magnificPopup.defaults,e),m.fixedContentPos="auto"===m.st.fixedContentPos?!m.probablyMobile:m.st.fixedContentPos,m.st.modal&&(m.st.closeOnContentClick=!1,m.st.closeOnBgClick=!1,m.st.showCloseBtn=!1,m.st.enableEscapeKey=!1),m.bgOverlay||(m.bgOverlay=p("bg").on("click"+I,function(){m.close()}),m.wrap=p("wrap").attr("tabindex",-1).on("click"+I,function(e){m._checkIfClose(e.target)&&m.close()}),m.container=p("container",m.wrap)),m.contentContainer=p("content"),m.st.preloader&&(m.preloader=p("preloader",m.container,m.st.tLoading));var i=c.magnificPopup.modules;for(o=0;o<i.length;o++){var r=(r=i[o]).charAt(0).toUpperCase()+r.slice(1);m["init"+r].call(m)}u("BeforeOpen"),m.st.showCloseBtn&&(m.st.closeBtnInside?(d(C,function(e,t,n,o){n.close_replaceWith=f(o.type)}),h+=" mfp-close-btn-in"):m.wrap.append(f())),m.st.alignTop&&(h+=" mfp-align-top"),m.fixedContentPos?m.wrap.css({overflow:m.st.overflowY,overflowX:"hidden",overflowY:m.st.overflowY}):m.wrap.css({top:_.scrollTop(),position:"absolute"}),!1!==m.st.fixedBgPos&&("auto"!==m.st.fixedBgPos||m.fixedContentPos)||m.bgOverlay.css({height:g.height(),position:"absolute"}),m.st.enableEscapeKey&&g.on("keyup"+I,function(e){27===e.keyCode&&m.close()}),_.on("resize"+I,function(){m.updateSize()}),m.st.closeOnContentClick||(h+=" mfp-auto-cursor"),h&&m.wrap.addClass(h);var a=m.wH=_.height(),s={},l=(m.fixedContentPos&&m._hasScrollBar(a)&&(l=m._getScrollbarSize())&&(s.marginRight=l),m.fixedContentPos&&(m.isIE7?c("body, html").css("overflow","hidden"):s.overflow="hidden"),m.st.mainClass);return m.isIE7&&(l+=" mfp-ie7"),l&&m._addClassToMFP(l),m.updateItemHTML(),u("BuildControls"),c("html").css(s),m.bgOverlay.add(m.wrap).prependTo(m.st.prependTo||c(document.body)),m._lastFocusedEl=document.activeElement,setTimeout(function(){m.content?(m._addClassToMFP(T),m._setFocus()):m.bgOverlay.addClass(T),g.on("focusin"+I,m._onFocusIn)},16),m.isOpen=!0,m.updateSize(a),u(b),e}m.updateItemHTML()},close:function(){m.isOpen&&(u(F),m.isOpen=!1,m.st.removalDelay&&!m.isLowIE&&m.supportsTransition?(m._addClassToMFP(N),setTimeout(function(){m._close()},m.st.removalDelay)):m._close())},_close:function(){u(w);var e=N+" "+T+" ";m.bgOverlay.detach(),m.wrap.detach(),m.container.empty(),m.st.mainClass&&(e+=m.st.mainClass+" "),m._removeClassFromMFP(e),m.fixedContentPos&&(e={marginRight:""},m.isIE7?c("body, html").css("overflow",""):e.overflow="",c("html").css(e)),g.off("keyup.mfp focusin"+I),m.ev.off(I),m.wrap.attr("class","mfp-wrap").removeAttr("style"),m.bgOverlay.attr("class","mfp-bg"),m.container.attr("class","mfp-container"),!m.st.showCloseBtn||m.st.closeBtnInside&&!0!==m.currTemplate[m.currItem.type]||m.currTemplate.closeBtn&&m.currTemplate.closeBtn.detach(),m.st.autoFocusLast&&m._lastFocusedEl&&c(m._lastFocusedEl).trigger("focus"),m.currItem=null,m.content=null,m.currTemplate=null,m.prevHeight=0,u("AfterClose")},updateSize:function(e){var t;m.isIOS?(t=document.documentElement.clientWidth/window.innerWidth,t=window.innerHeight*t,m.wrap.css("height",t),m.wH=t):m.wH=e||_.height(),m.fixedContentPos||m.wrap.css("height",m.wH),u("Resize")},updateItemHTML:function(){var e=m.items[m.index],t=(m.contentContainer.detach(),m.content&&m.content.detach(),(e=e.parsed?e:m.parseEl(m.index)).type),n=(u("BeforeChange",[m.currItem?m.currItem.type:"",t]),m.currItem=e,m.currTemplate[t]||(n=!!m.st[t]&&m.st[t].markup,u("FirstMarkupParse",n),m.currTemplate[t]=!n||c(n)),s&&s!==e.type&&m.container.removeClass("mfp-"+s+"-holder"),m["get"+t.charAt(0).toUpperCase()+t.slice(1)](e,m.currTemplate[t]));m.appendContent(n,t),e.preloaded=!0,u(j,e),s=e.type,m.container.prepend(m.contentContainer),u("AfterChange")},appendContent:function(e,t){(m.content=e)?m.st.showCloseBtn&&m.st.closeBtnInside&&!0===m.currTemplate[t]?m.content.find(".mfp-close").length||m.content.append(f()):m.content=e:m.content="",u("BeforeAppend"),m.container.addClass("mfp-"+t+"-holder"),m.contentContainer.append(m.content)},parseEl:function(e){var t,n=m.items[e];if((n=n.tagName?{el:c(n)}:(t=n.type,{data:n,src:n.src})).el){for(var o=m.types,i=0;i<o.length;i++)if(n.el.hasClass("mfp-"+o[i])){t=o[i];break}n.src=n.el.attr("data-mfp-src"),n.src||(n.src=n.el.attr("href"))}return n.type=t||m.st.type||"inline",n.index=e,n.parsed=!0,m.items[e]=n,u("ElementParse",n),m.items[e]},addGroup:function(t,n){function e(e){e.mfpEl=this,m._openClick(e,t,n)}var o="click.magnificPopup";(n=n||{}).mainEl=t,n.items?(n.isObj=!0,t.off(o).on(o,e)):(n.isObj=!1,n.delegate?t.off(o).on(o,n.delegate,e):(n.items=t).off(o).on(o,e))},_openClick:function(e,t,n){var o=(void 0!==n.midClick?n:c.magnificPopup.defaults).midClick;if(o||!(2===e.which||e.ctrlKey||e.metaKey||e.altKey||e.shiftKey)){o=(void 0!==n.disableOn?n:c.magnificPopup.defaults).disableOn;if(o)if("function"==typeof o){if(!o.call(m))return!0}else if(_.width()<o)return!0;e.type&&(e.preventDefault(),m.isOpen)&&e.stopPropagation(),n.el=c(e.mfpEl),n.delegate&&(n.items=t.find(n.delegate)),m.open(n)}},updateStatus:function(e,t){var n;m.preloader&&(o!==e&&m.container.removeClass("mfp-s-"+o),n={status:e,text:t=t||"loading"!==e?t:m.st.tLoading},u("UpdateStatus",n),e=n.status,t=n.text,m.st.allowHTMLInStatusIndicator?m.preloader.html(t):m.preloader.text(t),m.preloader.find("a").on("click",function(e){e.stopImmediatePropagation()}),m.container.addClass("mfp-s-"+e),o=e)},_checkIfClose:function(e){if(!c(e).closest("."+k).length){var t=m.st.closeOnContentClick,n=m.st.closeOnBgClick;if(t&&n)return!0;if(!m.content||c(e).closest(".mfp-close").length||m.preloader&&e===m.preloader[0])return!0;if(e===m.content[0]||c.contains(m.content[0],e)){if(t)return!0}else if(n&&c.contains(document,e))return!0;return!1}},_addClassToMFP:function(e){m.bgOverlay.addClass(e),m.wrap.addClass(e)},_removeClassFromMFP:function(e){this.bgOverlay.removeClass(e),m.wrap.removeClass(e)},_hasScrollBar:function(e){return(m.isIE7?g.height():document.body.scrollHeight)>(e||_.height())},_setFocus:function(){(m.st.focus?m.content.find(m.st.focus).eq(0):m.wrap).trigger("focus")},_onFocusIn:function(e){if(e.target!==m.wrap[0]&&!c.contains(m.wrap[0],e.target))return m._setFocus(),!1},_parseMarkup:function(i,e,t){var r;t.data&&(e=c.extend(t.data,e)),u(C,[i,e,t]),c.each(e,function(e,t){if(void 0===t||!1===t)return!0;var n,o;1<(r=e.split("_")).length?0<(n=i.find(I+"-"+r[0])).length&&("replaceWith"===(o=r[1])?n[0]!==t[0]&&n.replaceWith(t):"img"===o?n.is("img")?n.attr("src",t):n.replaceWith(c("<img>").attr("src",t).attr("class",n.attr("class"))):n.attr(r[1],t)):m.st.allowHTMLInTemplate?i.find(I+"-"+e).html(t):i.find(I+"-"+e).text(t)})},_getScrollbarSize:function(){var e;return void 0===m.scrollbarSize&&((e=document.createElement("div")).style.cssText="width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;",document.body.appendChild(e),m.scrollbarSize=e.offsetWidth-e.clientWidth,document.body.removeChild(e)),m.scrollbarSize}},modules:[],open:function(e,t){return r(),(e=e?c.extend(!0,{},e):{}).isObj=!0,e.index=t||0,this.instance.open(e)},close:function(){return c.magnificPopup.instance&&c.magnificPopup.instance.close()},registerModule:function(e,t){t.options&&(c.magnificPopup.defaults[e]=t.options),c.extend(this.proto,t.proto),this.modules.push(e)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'<button title="%title%" type="button" class="mfp-close">×</button>',tClose:"Close (Esc)",tLoading:"Loading...",autoFocusLast:!0,allowHTMLInStatusIndicator:!1,allowHTMLInTemplate:!1}},c.fn.magnificPopup=function(e){r();var t,n,o,i=c(this);return"string"==typeof e?"open"===e?(t=P?i.data("magnificPopup"):i[0].magnificPopup,n=parseInt(arguments[1],10)||0,o=t.items?t.items[n]:(o=i,(o=t.delegate?o.find(t.delegate):o).eq(n)),m._openClick({mfpEl:o},i,t)):m.isOpen&&m[e].apply(m,Array.prototype.slice.call(arguments,1)):(e=c.extend(!0,{},e),P?i.data("magnificPopup",e):i[0].magnificPopup=e,m.addGroup(i,e)),i},"inline"),E=(c.magnificPopup.registerModule(S,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content not found"},proto:{initInline:function(){m.types.push(S),d(w+"."+S,function(){a()})},getInline:function(e,t){var n,o,i;return a(),e.src?(n=m.st.inline,(o=c(e.src)).length?((i=o[0].parentNode)&&i.tagName&&(v||(l=n.hiddenClass,v=p(l),l="mfp-"+l),y=o.after(v).detach().removeClass(l)),m.updateStatus("ready")):(m.updateStatus("error",n.tNotFound),o=c("<div>")),e.inlineElement=o):(m.updateStatus("ready"),m._parseMarkup(t,{},e),t)}}}),"ajax");c.magnificPopup.registerModule(E,{options:{settings:null,cursor:"mfp-ajax-cur",tError:"The content could not be loaded."},proto:{initAjax:function(){m.types.push(E),n=m.st.ajax.cursor,d(w+"."+E,t),d("BeforeChange."+E,t)},getAjax:function(o){n&&c(document.body).addClass(n),m.updateStatus("loading");var e=c.extend({url:o.src,success:function(e,t,n){e={data:e,xhr:n};u("ParseAjax",e),m.appendContent(c(e.data),E),o.finished=!0,i(),m._setFocus(),setTimeout(function(){m.wrap.addClass(T)},16),m.updateStatus("ready"),u("AjaxContentAdded")},error:function(){i(),o.finished=o.loadError=!0,m.updateStatus("error",m.st.ajax.tError.replace("%url%",o.src))}},m.st.ajax.settings);return m.req=c.ajax(e),""}}});var z;c.magnificPopup.registerModule("image",{options:{markup:'<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:"The image could not be loaded."},proto:{initImage:function(){var e=m.st.image,t=".image";m.types.push("image"),d(b+t,function(){"image"===m.currItem.type&&e.cursor&&c(document.body).addClass(e.cursor)}),d(w+t,function(){e.cursor&&c(document.body).removeClass(e.cursor),_.off("resize"+I)}),d("Resize"+t,m.resizeImage),m.isLowIE&&d("AfterChange",m.resizeImage)},resizeImage:function(){var e,t=m.currItem;t&&t.img&&m.st.image.verticalFit&&(e=0,m.isLowIE&&(e=parseInt(t.img.css("padding-top"),10)+parseInt(t.img.css("padding-bottom"),10)),t.img.css("max-height",m.wH-e))},_onImageHasSize:function(e){e.img&&(e.hasSize=!0,z&&clearInterval(z),e.isCheckingImgSize=!1,u("ImageHasSize",e),e.imgHidden)&&(m.content&&m.content.removeClass("mfp-loading"),e.imgHidden=!1)},findImageSize:function(t){function n(e){z&&clearInterval(z),z=setInterval(function(){0<i.naturalWidth?m._onImageHasSize(t):(200<o&&clearInterval(z),3===++o?n(10):40===o?n(50):100===o&&n(500))},e)}var o=0,i=t.img[0];n(1)},getImage:function(e,t){function n(){e&&(e.img.off(".mfploader"),e===m.currItem&&(m._onImageHasSize(e),m.updateStatus("error",a.tError.replace("%url%",e.src))),e.hasSize=!0,e.loaded=!0,e.loadError=!0)}function o(){e&&(e.img[0].complete?(e.img.off(".mfploader"),e===m.currItem&&(m._onImageHasSize(e),m.updateStatus("ready")),e.hasSize=!0,e.loaded=!0,u("ImageLoadComplete")):++r<200?setTimeout(o,100):n())}var i,r=0,a=m.st.image,s=t.find(".mfp-img");return s.length&&((i=document.createElement("img")).className="mfp-img",e.el&&e.el.find("img").length&&(i.alt=e.el.find("img").attr("alt")),e.img=c(i).on("load.mfploader",o).on("error.mfploader",n),i.src=e.src,s.is("img")&&(e.img=e.img.clone()),0<(i=e.img[0]).naturalWidth?e.hasSize=!0:i.width||(e.hasSize=!1)),m._parseMarkup(t,{title:function(e){if(e.data&&void 0!==e.data.title)return e.data.title;var t=m.st.image.titleSrc;if(t){if("function"==typeof t)return t.call(m,e);if(e.el)return e.el.attr(t)||""}return""}(e),img_replaceWith:e.img},e),m.resizeImage(),e.hasSize?(z&&clearInterval(z),e.loadError?(t.addClass("mfp-loading"),m.updateStatus("error",a.tError.replace("%url%",e.src))):(t.removeClass("mfp-loading"),m.updateStatus("ready"))):(m.updateStatus("loading"),e.loading=!0,e.hasSize||(e.imgHidden=!0,t.addClass("mfp-loading"),m.findImageSize(e))),t}}});function O(e){var t;m.currTemplate[L]&&(t=m.currTemplate[L].find("iframe")).length&&(e||(t[0].src="//about:blank"),m.isIE8)&&t.css("display",e?"block":"none")}function M(e){var t=m.items.length;return t-1<e?e-t:e<0?t+e:e}function D(e,t,n){return e.replace(/%curr%/gi,t+1).replace(/%total%/gi,n)}c.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(e){return e.is("img")?e:e.find("img")}},proto:{initZoom:function(){var e,t,n,o,i,r,a=m.st.zoom,s=".zoom";a.enabled&&m.supportsTransition&&(t=a.duration,n=function(e){var e=e.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),t="all "+a.duration/1e3+"s "+a.easing,n={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},o="transition";return n["-webkit-"+o]=n["-moz-"+o]=n["-o-"+o]=n[o]=t,e.css(n),e},o=function(){m.content.css("visibility","visible")},d("BuildControls"+s,function(){m._allowZoom()&&(clearTimeout(i),m.content.css("visibility","hidden"),(e=m._getItemToZoom())?((r=n(e)).css(m._getOffset()),m.wrap.append(r),i=setTimeout(function(){r.css(m._getOffset(!0)),i=setTimeout(function(){o(),setTimeout(function(){r.remove(),e=r=null,u("ZoomAnimationEnded")},16)},t)},16)):o())}),d(F+s,function(){if(m._allowZoom()){if(clearTimeout(i),m.st.removalDelay=t,!e){if(!(e=m._getItemToZoom()))return;r=n(e)}r.css(m._getOffset(!0)),m.wrap.append(r),m.content.css("visibility","hidden"),setTimeout(function(){r.css(m._getOffset())},16)}}),d(w+s,function(){m._allowZoom()&&(o(),r&&r.remove(),e=null)}))},_allowZoom:function(){return"image"===m.currItem.type},_getItemToZoom:function(){return!!m.currItem.hasSize&&m.currItem.img},_getOffset:function(e){var e=e?m.currItem.img:m.st.zoom.opener(m.currItem.el||m.currItem),t=e.offset(),n=parseInt(e.css("padding-top"),10),o=parseInt(e.css("padding-bottom"),10),e=(t.top-=c(window).scrollTop()-n,{width:e.width(),height:(P?e.innerHeight():e[0].offsetHeight)-o-n});return(B=void 0===B?void 0!==document.createElement("p").style.MozTransform:B)?e["-moz-transform"]=e.transform="translate("+t.left+"px,"+t.top+"px)":(e.left=t.left,e.top=t.top),e}}});var B,L="iframe",H=(c.magnificPopup.registerModule(L,{options:{markup:'<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){m.types.push(L),d("BeforeChange",function(e,t,n){t!==n&&(t===L?O():n===L&&O(!0))}),d(w+"."+L,function(){O()})},getIframe:function(e,t){var n=e.src,o=m.st.iframe,i=(c.each(o.patterns,function(){if(-1<n.indexOf(this.index))return this.id&&(n="string"==typeof this.id?n.substr(n.lastIndexOf(this.id)+this.id.length,n.length):this.id.call(this,n)),n=this.src.replace("%id%",n),!1}),{});return o.srcAction&&(i[o.srcAction]=n),m._parseMarkup(t,i,e),m.updateStatus("ready"),t}}}),c.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous (Left arrow key)",tNext:"Next (Right arrow key)",tCounter:"%curr% of %total%",langDir:null,loop:!0},proto:{initGallery:function(){var r=m.st.gallery,e=".mfp-gallery";if(m.direction=!0,!r||!r.enabled)return!1;r.langDir||(r.langDir=document.dir||"ltr"),h+=" mfp-gallery",d(b+e,function(){r.navigateByImgClick&&m.wrap.on("click"+e,".mfp-img",function(){if(1<m.items.length)return m.next(),!1}),g.on("keydown"+e,function(e){37===e.keyCode?"rtl"===r.langDir?m.next():m.prev():39===e.keyCode&&("rtl"===r.langDir?m.prev():m.next())}),m.updateGalleryButtons()}),d("UpdateStatus"+e,function(){m.updateGalleryButtons()}),d("UpdateStatus"+e,function(e,t){t.text&&(t.text=D(t.text,m.currItem.index,m.items.length))}),d(C+e,function(e,t,n,o){var i=m.items.length;n.counter=1<i?D(r.tCounter,o.index,i):""}),d("BuildControls"+e,function(){var e,t,n,o,i;1<m.items.length&&r.arrows&&!m.arrowLeft&&(t="rtl"===r.langDir?(o=r.tNext,e=r.tPrev,i="next","prev"):(o=r.tPrev,e=r.tNext,i="prev","next"),n=r.arrowMarkup,o=m.arrowLeft=c(n.replace(/%title%/gi,o).replace(/%action%/gi,i).replace(/%dir%/gi,"left")).addClass(k),i=m.arrowRight=c(n.replace(/%title%/gi,e).replace(/%action%/gi,t).replace(/%dir%/gi,"right")).addClass(k),"rtl"===r.langDir?(m.arrowNext=o,m.arrowPrev=i):(m.arrowNext=i,m.arrowPrev=o),o.on("click",function(){"rtl"===r.langDir?m.next():m.prev()}),i.on("click",function(){"rtl"===r.langDir?m.prev():m.next()}),m.container.append(o.add(i)))}),d(j+e,function(){m._preloadTimeout&&clearTimeout(m._preloadTimeout),m._preloadTimeout=setTimeout(function(){m.preloadNearbyImages(),m._preloadTimeout=null},16)}),d(w+e,function(){g.off(e),m.wrap.off("click"+e),m.arrowRight=m.arrowLeft=null})},next:function(){var e=M(m.index+1);if(!m.st.gallery.loop&&0===e)return!1;m.direction=!0,m.index=e,m.updateItemHTML()},prev:function(){var e=m.index-1;if(!m.st.gallery.loop&&e<0)return!1;m.direction=!1,m.index=M(e),m.updateItemHTML()},goTo:function(e){m.direction=e>=m.index,m.index=e,m.updateItemHTML()},preloadNearbyImages:function(){for(var e=m.st.gallery.preload,t=Math.min(e[0],m.items.length),n=Math.min(e[1],m.items.length),o=1;o<=(m.direction?n:t);o++)m._preloadItem(m.index+o);for(o=1;o<=(m.direction?t:n);o++)m._preloadItem(m.index-o)},_preloadItem:function(e){var t;e=M(e),m.items[e].preloaded||((t=m.items[e]).parsed||(t=m.parseEl(e)),u("LazyLoad",t),"image"===t.type&&(t.img=c('<img class="mfp-img" />').on("load.mfploader",function(){t.hasSize=!0}).on("error.mfploader",function(){t.hasSize=!0,t.loadError=!0,u("LazyLoadError",t)}).attr("src",t.src)),t.preloaded=!0)},updateGalleryButtons:function(){m.st.gallery.loop||"object"!=typeof m.arrowPrev||null===m.arrowPrev||(0===m.index?m.arrowPrev.hide():m.arrowPrev.show(),m.index===m.items.length-1?m.arrowNext.hide():m.arrowNext.show())}}}),"retina");c.magnificPopup.registerModule(H,{options:{replaceSrc:function(e){return e.src.replace(/\.\w+$/,function(e){return"@2x"+e})},ratio:1},proto:{initRetina:function(){var n,o;1<window.devicePixelRatio&&(n=m.st.retina,o=n.ratio,1<(o=isNaN(o)?o():o))&&(d("ImageHasSize."+H,function(e,t){t.img.css({"max-width":t.img[0].naturalWidth/o,width:"100%"})}),d("ElementParse."+H,function(e,t){t.src=n.replaceSrc(t,o)}))}}}),r()}); // source --> http://www.kidsbangna.ru.ac.th/wp-includes/js/underscore.min.js?ver=1.13.4 /*! This file is auto-generated */ !function(n,r){var t,e;"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define("underscore",r):(n="undefined"!=typeof globalThis?globalThis:n||self,t=n._,(e=n._=r()).noConflict=function(){return n._=t,e})}(this,function(){var n="1.13.6",r="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},e=Array.prototype,F=Object.prototype,V="undefined"!=typeof Symbol?Symbol.prototype:null,P=e.push,f=e.slice,s=F.toString,q=F.hasOwnProperty,t="undefined"!=typeof ArrayBuffer,u="undefined"!=typeof DataView,U=Array.isArray,W=Object.keys,z=Object.create,L=t&&ArrayBuffer.isView,$=isNaN,C=isFinite,K=!{toString:null}.propertyIsEnumerable("toString"),J=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],G=Math.pow(2,53)-1;function l(u,o){return o=null==o?u.length-1:+o,function(){for(var n=Math.max(arguments.length-o,0),r=Array(n),t=0;t<n;t++)r[t]=arguments[t+o];switch(o){case 0:return u.call(this,r);case 1:return u.call(this,arguments[0],r);case 2:return u.call(this,arguments[0],arguments[1],r)}for(var e=Array(o+1),t=0;t<o;t++)e[t]=arguments[t];return e[o]=r,u.apply(this,e)}}function o(n){var r=typeof n;return"function"==r||"object"==r&&!!n}function H(n){return void 0===n}function Q(n){return!0===n||!1===n||"[object Boolean]"===s.call(n)}function i(n){var r="[object "+n+"]";return function(n){return s.call(n)===r}}var X=i("String"),Y=i("Number"),Z=i("Date"),nn=i("RegExp"),rn=i("Error"),tn=i("Symbol"),en=i("ArrayBuffer"),a=i("Function"),r=r.document&&r.document.childNodes,p=a="function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof r?function(n){return"function"==typeof n||!1}:a,r=i("Object"),un=u&&r(new DataView(new ArrayBuffer(8))),a="undefined"!=typeof Map&&r(new Map),u=i("DataView");var h=un?function(n){return null!=n&&p(n.getInt8)&&en(n.buffer)}:u,v=U||i("Array");function y(n,r){return null!=n&&q.call(n,r)}var on=i("Arguments"),an=(!function(){on(arguments)||(on=function(n){return y(n,"callee")})}(),on);function fn(n){return Y(n)&&$(n)}function cn(n){return function(){return n}}function ln(r){return function(n){n=r(n);return"number"==typeof n&&0<=n&&n<=G}}function sn(r){return function(n){return null==n?void 0:n[r]}}var d=sn("byteLength"),pn=ln(d),hn=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var vn=t?function(n){return L?L(n)&&!h(n):pn(n)&&hn.test(s.call(n))}:cn(!1),g=sn("length");function yn(n,r){r=function(r){for(var t={},n=r.length,e=0;e<n;++e)t[r[e]]=!0;return{contains:function(n){return!0===t[n]},push:function(n){return t[n]=!0,r.push(n)}}}(r);var t=J.length,e=n.constructor,u=p(e)&&e.prototype||F,o="constructor";for(y(n,o)&&!r.contains(o)&&r.push(o);t--;)(o=J[t])in n&&n[o]!==u[o]&&!r.contains(o)&&r.push(o)}function b(n){if(!o(n))return[];if(W)return W(n);var r,t=[];for(r in n)y(n,r)&&t.push(r);return K&&yn(n,t),t}function dn(n,r){var t=b(r),e=t.length;if(null==n)return!e;for(var u=Object(n),o=0;o<e;o++){var i=t[o];if(r[i]!==u[i]||!(i in u))return!1}return!0}function m(n){return n instanceof m?n:this instanceof m?void(this._wrapped=n):new m(n)}function gn(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,d(n))}m.VERSION=n,m.prototype.valueOf=m.prototype.toJSON=m.prototype.value=function(){return this._wrapped},m.prototype.toString=function(){return String(this._wrapped)};var bn="[object DataView]";function mn(n,r,t,e){var u;return n===r?0!==n||1/n==1/r:null!=n&&null!=r&&(n!=n?r!=r:("function"==(u=typeof n)||"object"==u||"object"==typeof r)&&function n(r,t,e,u){r instanceof m&&(r=r._wrapped);t instanceof m&&(t=t._wrapped);var o=s.call(r);if(o!==s.call(t))return!1;if(un&&"[object Object]"==o&&h(r)){if(!h(t))return!1;o=bn}switch(o){case"[object RegExp]":case"[object String]":return""+r==""+t;case"[object Number]":return+r!=+r?+t!=+t:0==+r?1/+r==1/t:+r==+t;case"[object Date]":case"[object Boolean]":return+r==+t;case"[object Symbol]":return V.valueOf.call(r)===V.valueOf.call(t);case"[object ArrayBuffer]":case bn:return n(gn(r),gn(t),e,u)}o="[object Array]"===o;if(!o&&vn(r)){var i=d(r);if(i!==d(t))return!1;if(r.buffer===t.buffer&&r.byteOffset===t.byteOffset)return!0;o=!0}if(!o){if("object"!=typeof r||"object"!=typeof t)return!1;var i=r.constructor,a=t.constructor;if(i!==a&&!(p(i)&&i instanceof i&&p(a)&&a instanceof a)&&"constructor"in r&&"constructor"in t)return!1}e=e||[];u=u||[];var f=e.length;for(;f--;)if(e[f]===r)return u[f]===t;e.push(r);u.push(t);if(o){if((f=r.length)!==t.length)return!1;for(;f--;)if(!mn(r[f],t[f],e,u))return!1}else{var c,l=b(r);if(f=l.length,b(t).length!==f)return!1;for(;f--;)if(c=l[f],!y(t,c)||!mn(r[c],t[c],e,u))return!1}e.pop();u.pop();return!0}(n,r,t,e))}function c(n){if(!o(n))return[];var r,t=[];for(r in n)t.push(r);return K&&yn(n,t),t}function jn(e){var u=g(e);return function(n){if(null==n)return!1;var r=c(n);if(g(r))return!1;for(var t=0;t<u;t++)if(!p(n[e[t]]))return!1;return e!==wn||!p(n[_n])}}var _n="forEach",r=["clear","delete"],u=["get","has","set"],U=r.concat(_n,u),wn=r.concat(u),t=["add"].concat(r,_n,"has"),u=a?jn(U):i("Map"),r=a?jn(wn):i("WeakMap"),U=a?jn(t):i("Set"),a=i("WeakSet");function j(n){for(var r=b(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e}function An(n){for(var r={},t=b(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r}function xn(n){var r,t=[];for(r in n)p(n[r])&&t.push(r);return t.sort()}function Sn(f,c){return function(n){var r=arguments.length;if(c&&(n=Object(n)),!(r<2||null==n))for(var t=1;t<r;t++)for(var e=arguments[t],u=f(e),o=u.length,i=0;i<o;i++){var a=u[i];c&&void 0!==n[a]||(n[a]=e[a])}return n}}var On=Sn(c),_=Sn(b),Mn=Sn(c,!0);function En(n){var r;return o(n)?z?z(n):((r=function(){}).prototype=n,n=new r,r.prototype=null,n):{}}function Bn(n){return v(n)?n:[n]}function w(n){return m.toPath(n)}function Nn(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function In(n,r,t){n=Nn(n,w(r));return H(n)?t:n}function Tn(n){return n}function A(r){return r=_({},r),function(n){return dn(n,r)}}function kn(r){return r=w(r),function(n){return Nn(n,r)}}function x(u,o,n){if(void 0===o)return u;switch(null==n?3:n){case 1:return function(n){return u.call(o,n)};case 3:return function(n,r,t){return u.call(o,n,r,t)};case 4:return function(n,r,t,e){return u.call(o,n,r,t,e)}}return function(){return u.apply(o,arguments)}}function Dn(n,r,t){return null==n?Tn:p(n)?x(n,r,t):(o(n)&&!v(n)?A:kn)(n)}function Rn(n,r){return Dn(n,r,1/0)}function S(n,r,t){return m.iteratee!==Rn?m.iteratee(n,r):Dn(n,r,t)}function Fn(){}function Vn(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))}m.toPath=Bn,m.iteratee=Rn;var O=Date.now||function(){return(new Date).getTime()};function Pn(r){function t(n){return r[n]}var n="(?:"+b(r).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return e.test(n=null==n?"":""+n)?n.replace(u,t):n}}var t={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},qn=Pn(t),t=Pn(An(t)),Un=m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Wn=/(.)^/,zn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Ln=/\\|'|\r|\n|\u2028|\u2029/g;function $n(n){return"\\"+zn[n]}var Cn=/^\s*(\w|\$)+\s*$/;var Kn=0;function Jn(n,r,t,e,u){return e instanceof r?(e=En(n.prototype),o(r=n.apply(e,u))?r:e):n.apply(t,u)}var M=l(function(u,o){function i(){for(var n=0,r=o.length,t=Array(r),e=0;e<r;e++)t[e]=o[e]===a?arguments[n++]:o[e];for(;n<arguments.length;)t.push(arguments[n++]);return Jn(u,i,this,this,t)}var a=M.placeholder;return i}),Gn=(M.placeholder=m,l(function(r,t,e){var u;if(p(r))return u=l(function(n){return Jn(r,u,t,this,e.concat(n))});throw new TypeError("Bind must be called on a function")})),E=ln(g);function B(n,r,t,e){if(e=e||[],r||0===r){if(r<=0)return e.concat(n)}else r=1/0;for(var u=e.length,o=0,i=g(n);o<i;o++){var a=n[o];if(E(a)&&(v(a)||an(a)))if(1<r)B(a,r-1,t,e),u=e.length;else for(var f=0,c=a.length;f<c;)e[u++]=a[f++];else t||(e[u++]=a)}return e}var Hn=l(function(n,r){var t=(r=B(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=Gn(n[e],n)}return n});var Qn=l(function(n,r,t){return setTimeout(function(){return n.apply(null,t)},r)}),Xn=M(Qn,m,1);function Yn(n){return function(){return!n.apply(this,arguments)}}function Zn(n,r){var t;return function(){return 0<--n&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}}var nr=M(Zn,2);function rr(n,r,t){r=S(r,t);for(var e,u=b(n),o=0,i=u.length;o<i;o++)if(r(n[e=u[o]],e,n))return e}function tr(o){return function(n,r,t){r=S(r,t);for(var e=g(n),u=0<o?0:e-1;0<=u&&u<e;u+=o)if(r(n[u],u,n))return u;return-1}}var er=tr(1),ur=tr(-1);function or(n,r,t,e){for(var u=(t=S(t,e,1))(r),o=0,i=g(n);o<i;){var a=Math.floor((o+i)/2);t(n[a])<u?o=a+1:i=a}return o}function ir(o,i,a){return function(n,r,t){var e=0,u=g(n);if("number"==typeof t)0<o?e=0<=t?t:Math.max(t+u,e):u=0<=t?Math.min(t+1,u):t+u+1;else if(a&&t&&u)return n[t=a(n,r)]===r?t:-1;if(r!=r)return 0<=(t=i(f.call(n,e,u),fn))?t+e:-1;for(t=0<o?e:u-1;0<=t&&t<u;t+=o)if(n[t]===r)return t;return-1}}var ar=ir(1,er,or),fr=ir(-1,ur);function cr(n,r,t){r=(E(n)?er:rr)(n,r,t);if(void 0!==r&&-1!==r)return n[r]}function N(n,r,t){if(r=x(r,t),E(n))for(u=0,o=n.length;u<o;u++)r(n[u],u,n);else for(var e=b(n),u=0,o=e.length;u<o;u++)r(n[e[u]],e[u],n);return n}function I(n,r,t){r=S(r,t);for(var e=!E(n)&&b(n),u=(e||n).length,o=Array(u),i=0;i<u;i++){var a=e?e[i]:i;o[i]=r(n[a],a,n)}return o}function lr(p){return function(n,r,t,e){var u=3<=arguments.length,o=n,i=x(r,e,4),a=t,f=!E(o)&&b(o),c=(f||o).length,l=0<p?0:c-1;for(u||(a=o[f?f[l]:l],l+=p);0<=l&&l<c;l+=p){var s=f?f[l]:l;a=i(a,o[s],s,o)}return a}}var sr=lr(1),pr=lr(-1);function T(n,e,r){var u=[];return e=S(e,r),N(n,function(n,r,t){e(n,r,t)&&u.push(n)}),u}function hr(n,r,t){r=S(r,t);for(var e=!E(n)&&b(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(!r(n[i],i,n))return!1}return!0}function vr(n,r,t){r=S(r,t);for(var e=!E(n)&&b(n),u=(e||n).length,o=0;o<u;o++){var i=e?e[o]:o;if(r(n[i],i,n))return!0}return!1}function k(n,r,t,e){return E(n)||(n=j(n)),0<=ar(n,r,t="number"==typeof t&&!e?t:0)}var yr=l(function(n,t,e){var u,o;return p(t)?o=t:(t=w(t),u=t.slice(0,-1),t=t[t.length-1]),I(n,function(n){var r=o;if(!r){if(null==(n=u&&u.length?Nn(n,u):n))return;r=n[t]}return null==r?r:r.apply(n,e)})});function dr(n,r){return I(n,kn(r))}function gr(n,e,r){var t,u,o=-1/0,i=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=E(n)?n:j(n)).length;a<f;a++)null!=(t=n[a])&&o<t&&(o=t);else e=S(e,r),N(n,function(n,r,t){u=e(n,r,t),(i<u||u===-1/0&&o===-1/0)&&(o=n,i=u)});return o}var br=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function mr(n){return n?v(n)?f.call(n):X(n)?n.match(br):E(n)?I(n,Tn):j(n):[]}function jr(n,r,t){if(null==r||t)return(n=E(n)?n:j(n))[Vn(n.length-1)];for(var e=mr(n),t=g(e),u=(r=Math.max(Math.min(r,t),0),t-1),o=0;o<r;o++){var i=Vn(o,u),a=e[o];e[o]=e[i],e[i]=a}return e.slice(0,r)}function D(o,r){return function(t,e,n){var u=r?[[],[]]:{};return e=S(e,n),N(t,function(n,r){r=e(n,r,t);o(u,n,r)}),u}}var _r=D(function(n,r,t){y(n,t)?n[t].push(r):n[t]=[r]}),wr=D(function(n,r,t){n[t]=r}),Ar=D(function(n,r,t){y(n,t)?n[t]++:n[t]=1}),xr=D(function(n,r,t){n[t?0:1].push(r)},!0);function Sr(n,r,t){return r in t}var Or=l(function(n,r){var t={},e=r[0];if(null!=n){p(e)?(1<r.length&&(e=x(e,r[1])),r=c(n)):(e=Sr,r=B(r,!1,!1),n=Object(n));for(var u=0,o=r.length;u<o;u++){var i=r[u],a=n[i];e(a,i,n)&&(t[i]=a)}}return t}),Mr=l(function(n,t){var r,e=t[0];return p(e)?(e=Yn(e),1<t.length&&(r=t[1])):(t=I(B(t,!1,!1),String),e=function(n,r){return!k(t,r)}),Or(n,e,r)});function Er(n,r,t){return f.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))}function Br(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[0]:Er(n,n.length-r)}function R(n,r,t){return f.call(n,null==r||t?1:r)}var Nr=l(function(n,r){return r=B(r,!0,!0),T(n,function(n){return!k(r,n)})}),Ir=l(function(n,r){return Nr(n,r)});function Tr(n,r,t,e){Q(r)||(e=t,t=r,r=!1),null!=t&&(t=S(t,e));for(var u=[],o=[],i=0,a=g(n);i<a;i++){var f=n[i],c=t?t(f,i,n):f;r&&!t?(i&&o===c||u.push(f),o=c):t?k(o,c)||(o.push(c),u.push(f)):k(u,f)||u.push(f)}return u}var kr=l(function(n){return Tr(B(n,!0,!0))});function Dr(n){for(var r=n&&gr(n,g).length||0,t=Array(r),e=0;e<r;e++)t[e]=dr(n,e);return t}var Rr=l(Dr);function Fr(n,r){return n._chain?m(r).chain():r}function Vr(t){return N(xn(t),function(n){var r=m[n]=t[n];m.prototype[n]=function(){var n=[this._wrapped];return P.apply(n,arguments),Fr(this,r.apply(m,n))}}),m}N(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];m.prototype[r]=function(){var n=this._wrapped;return null!=n&&(t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0]),Fr(this,n)}}),N(["concat","join","slice"],function(n){var r=e[n];m.prototype[n]=function(){var n=this._wrapped;return Fr(this,n=null!=n?r.apply(n,arguments):n)}});n=Vr({__proto__:null,VERSION:n,restArguments:l,isObject:o,isNull:function(n){return null===n},isUndefined:H,isBoolean:Q,isElement:function(n){return!(!n||1!==n.nodeType)},isString:X,isNumber:Y,isDate:Z,isRegExp:nn,isError:rn,isSymbol:tn,isArrayBuffer:en,isDataView:h,isArray:v,isFunction:p,isArguments:an,isFinite:function(n){return!tn(n)&&C(n)&&!isNaN(parseFloat(n))},isNaN:fn,isTypedArray:vn,isEmpty:function(n){var r;return null==n||("number"==typeof(r=g(n))&&(v(n)||X(n)||an(n))?0===r:0===g(b(n)))},isMatch:dn,isEqual:function(n,r){return mn(n,r)},isMap:u,isWeakMap:r,isSet:U,isWeakSet:a,keys:b,allKeys:c,values:j,pairs:function(n){for(var r=b(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},invert:An,functions:xn,methods:xn,extend:On,extendOwn:_,assign:_,defaults:Mn,create:function(n,r){return n=En(n),r&&_(n,r),n},clone:function(n){return o(n)?v(n)?n.slice():On({},n):n},tap:function(n,r){return r(n),n},get:In,has:function(n,r){for(var t=(r=w(r)).length,e=0;e<t;e++){var u=r[e];if(!y(n,u))return!1;n=n[u]}return!!t},mapObject:function(n,r,t){r=S(r,t);for(var e=b(n),u=e.length,o={},i=0;i<u;i++){var a=e[i];o[a]=r(n[a],a,n)}return o},identity:Tn,constant:cn,noop:Fn,toPath:Bn,property:kn,propertyOf:function(r){return null==r?Fn:function(n){return In(r,n)}},matcher:A,matches:A,times:function(n,r,t){var e=Array(Math.max(0,n));r=x(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},random:Vn,now:O,escape:qn,unescape:t,templateSettings:Un,template:function(o,n,r){n=Mn({},n=!n&&r?r:n,m.templateSettings);var t,r=RegExp([(n.escape||Wn).source,(n.interpolate||Wn).source,(n.evaluate||Wn).source].join("|")+"|$","g"),i=0,a="__p+='";if(o.replace(r,function(n,r,t,e,u){return a+=o.slice(i,u).replace(Ln,$n),i=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",r=n.variable){if(!Cn.test(r))throw new Error("variable is not a bare identifier: "+r)}else a="with(obj||{}){\n"+a+"}\n",r="obj";a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(r,"_",a)}catch(n){throw n.source=a,n}function e(n){return t.call(this,n,m)}return e.source="function("+r+"){\n"+a+"}",e},result:function(n,r,t){var e=(r=w(r)).length;if(!e)return p(t)?t.call(n):t;for(var u=0;u<e;u++){var o=null==n?void 0:n[r[u]];void 0===o&&(o=t,u=e),n=p(o)?o.call(n):o}return n},uniqueId:function(n){var r=++Kn+"";return n?n+r:r},chain:function(n){return(n=m(n))._chain=!0,n},iteratee:Rn,partial:M,bind:Gn,bindAll:Hn,memoize:function(e,u){function o(n){var r=o.cache,t=""+(u?u.apply(this,arguments):n);return y(r,t)||(r[t]=e.apply(this,arguments)),r[t]}return o.cache={},o},delay:Qn,defer:Xn,throttle:function(t,e,u){function o(){l=!1===u.leading?0:O(),i=null,c=t.apply(a,f),i||(a=f=null)}function n(){var n=O(),r=(l||!1!==u.leading||(l=n),e-(n-l));return a=this,f=arguments,r<=0||e<r?(i&&(clearTimeout(i),i=null),l=n,c=t.apply(a,f),i||(a=f=null)):i||!1===u.trailing||(i=setTimeout(o,r)),c}var i,a,f,c,l=0;return u=u||{},n.cancel=function(){clearTimeout(i),l=0,i=a=f=null},n},debounce:function(r,t,e){function u(){var n=O()-i;n<t?o=setTimeout(u,t-n):(o=null,e||(f=r.apply(c,a)),o||(a=c=null))}var o,i,a,f,c,n=l(function(n){return c=this,a=n,i=O(),o||(o=setTimeout(u,t),e&&(f=r.apply(c,a))),f});return n.cancel=function(){clearTimeout(o),o=a=c=null},n},wrap:function(n,r){return M(r,n)},negate:Yn,compose:function(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}},after:function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},before:Zn,once:nr,findKey:rr,findIndex:er,findLastIndex:ur,sortedIndex:or,indexOf:ar,lastIndexOf:fr,find:cr,detect:cr,findWhere:function(n,r){return cr(n,A(r))},each:N,forEach:N,map:I,collect:I,reduce:sr,foldl:sr,inject:sr,reduceRight:pr,foldr:pr,filter:T,select:T,reject:function(n,r,t){return T(n,Yn(S(r)),t)},every:hr,all:hr,some:vr,any:vr,contains:k,includes:k,include:k,invoke:yr,pluck:dr,where:function(n,r){return T(n,A(r))},max:gr,min:function(n,e,r){var t,u,o=1/0,i=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=E(n)?n:j(n)).length;a<f;a++)null!=(t=n[a])&&t<o&&(o=t);else e=S(e,r),N(n,function(n,r,t){((u=e(n,r,t))<i||u===1/0&&o===1/0)&&(o=n,i=u)});return o},shuffle:function(n){return jr(n,1/0)},sample:jr,sortBy:function(n,e,r){var u=0;return e=S(e,r),dr(I(n,function(n,r,t){return{value:n,index:u++,criteria:e(n,r,t)}}).sort(function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(e<t||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index}),"value")},groupBy:_r,indexBy:wr,countBy:Ar,partition:xr,toArray:mr,size:function(n){return null==n?0:(E(n)?n:b(n)).length},pick:Or,omit:Mr,first:Br,head:Br,take:Br,initial:Er,last:function(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null==r||t?n[n.length-1]:R(n,Math.max(0,n.length-r))},rest:R,tail:R,drop:R,compact:function(n){return T(n,Boolean)},flatten:function(n,r){return B(n,r,!1)},without:Ir,uniq:Tr,unique:Tr,union:kr,intersection:function(n){for(var r=[],t=arguments.length,e=0,u=g(n);e<u;e++){var o=n[e];if(!k(r,o)){for(var i=1;i<t&&k(arguments[i],o);i++);i===t&&r.push(o)}}return r},difference:Nr,unzip:Dr,transpose:Dr,zip:Rr,object:function(n,r){for(var t={},e=0,u=g(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t},range:function(n,r,t){null==r&&(r=n||0,n=0),t=t||(r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),o=0;o<e;o++,n+=t)u[o]=n;return u},chunk:function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(f.call(n,e,e+=r));return t},mixin:Vr,default:m});return n._=n}); // source --> http://www.kidsbangna.ru.ac.th/wp-content/plugins/responsive-lightbox/assets/infinitescroll/infinite-scroll.pkgd.min.js?ver=6.5.5 /*! * Infinite Scroll PACKAGED v4.0.1 * Automatically add next page * * Licensed GPLv3 for open source use * or Infinite Scroll Commercial License for commercial use * * https://infinite-scroll.com * Copyright 2018-2020 Metafizzy */ !function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,(function(t,e){let i=t.console,n=void 0===i?function(){}:function(t){i.error(t)};return function(i,o,s){(s=s||e||t.jQuery)&&(o.prototype.option||(o.prototype.option=function(t){t&&(this.options=Object.assign(this.options||{},t))}),s.fn[i]=function(t,...e){return"string"==typeof t?function(t,e,o){let r,l=`$().${i}("${e}")`;return t.each((function(t,h){let a=s.data(h,i);if(!a)return void n(`${i} not initialized. Cannot call method ${l}`);let c=a[e];if(!c||"_"==e.charAt(0))return void n(`${l} is not a valid method`);let u=c.apply(a,o);r=void 0===r?u:r})),void 0!==r?r:t}(this,t,e):(r=t,this.each((function(t,e){let n=s.data(e,i);n?(n.option(r),n._init()):(n=new o(e,r),s.data(e,i,n))})),this);var r})}})),function(t,e){"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,(function(){function t(){}let e=t.prototype;return e.on=function(t,e){if(!t||!e)return this;let i=this._events=this._events||{},n=i[t]=i[t]||[];return n.includes(e)||n.push(e),this},e.once=function(t,e){if(!t||!e)return this;this.on(t,e);let i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this},e.off=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;let n=i.indexOf(e);return-1!=n&&i.splice(n,1),this},e.emitEvent=function(t,e){let i=this._events&&this._events[t];if(!i||!i.length)return this;i=i.slice(0),e=e||[];let n=this._onceEvents&&this._onceEvents[t];for(let o of i){n&&n[o]&&(this.off(t,o),delete n[o]),o.apply(this,e)}return this},e.allOff=function(){return delete this._events,delete this._onceEvents,this},t})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t):t.fizzyUIUtils=e(t)}(this,(function(t){let e={extend:function(t,e){return Object.assign(t,e)},modulo:function(t,e){return(t%e+e)%e},makeArray:function(t){if(Array.isArray(t))return t;if(null==t)return[];return"object"==typeof t&&"number"==typeof t.length?[...t]:[t]},removeFrom:function(t,e){let i=t.indexOf(e);-1!=i&&t.splice(i,1)},getParent:function(t,e){for(;t.parentNode&&t!=document.body;)if((t=t.parentNode).matches(e))return t},getQueryElement:function(t){return"string"==typeof t?document.querySelector(t):t},handleEvent:function(t){let e="on"+t.type;this[e]&&this[e](t)},filterFindElements:function(t,i){return(t=e.makeArray(t)).filter((t=>t instanceof HTMLElement)).reduce(((t,e)=>{if(!i)return t.push(e),t;e.matches(i)&&t.push(e);let n=e.querySelectorAll(i);return t=t.concat(...n)}),[])},debounceMethod:function(t,e,i){i=i||100;let n=t.prototype[e],o=e+"Timeout";t.prototype[e]=function(){clearTimeout(this[o]);let t=arguments;this[o]=setTimeout((()=>{n.apply(this,t),delete this[o]}),i)}},docReady:function(t){let e=document.readyState;"complete"==e||"interactive"==e?setTimeout(t):document.addEventListener("DOMContentLoaded",t)},toDashed:function(t){return t.replace(/(.)([A-Z])/g,(function(t,e,i){return e+"-"+i})).toLowerCase()}},i=t.console;return e.htmlInit=function(n,o){e.docReady((function(){let s="data-"+e.toDashed(o),r=document.querySelectorAll(`[${s}]`),l=t.jQuery;[...r].forEach((t=>{let e,r=t.getAttribute(s);try{e=r&&JSON.parse(r)}catch(e){return void(i&&i.error(`Error parsing ${s} on ${t.className}: ${e}`))}let h=new n(t,e);l&&l.data(t,o,h)}))}))},e})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("fizzy-ui-utils")):t.InfiniteScroll=e(t,t.EvEmitter,t.fizzyUIUtils)}(window,(function(t,e,i){let n=t.jQuery,o={};function s(t,e){let r=i.getQueryElement(t);if(r){if((t=r).infiniteScrollGUID){let i=o[t.infiniteScrollGUID];return i.option(e),i}this.element=t,this.options={...s.defaults},this.option(e),n&&(this.$element=n(this.element)),this.create()}else console.error("Bad element for InfiniteScroll: "+(r||t))}s.defaults={},s.create={},s.destroy={};let r=s.prototype;Object.assign(r,e.prototype);let l=0;r.create=function(){let t=this.guid=++l;if(this.element.infiniteScrollGUID=t,o[t]=this,this.pageIndex=1,this.loadCount=0,this.updateGetPath(),this.getPath&&this.getPath()){this.updateGetAbsolutePath(),this.log("initialized",[this.element.className]),this.callOnInit();for(let t in s.create)s.create[t].call(this)}else console.error("Disabling InfiniteScroll")},r.option=function(t){Object.assign(this.options,t)},r.callOnInit=function(){let t=this.options.onInit;t&&t.call(this,this)},r.dispatchEvent=function(t,e,i){this.log(t,i);let o=e?[e].concat(i):i;if(this.emitEvent(t,o),!n||!this.$element)return;let s=t+=".infiniteScroll";if(e){let i=n.Event(e);i.type=t,s=i}this.$element.trigger(s,i)};let h={initialized:t=>`on ${t}`,request:t=>`URL: ${t}`,load:(t,e)=>`${t.title||""}. URL: ${e}`,error:(t,e)=>`${t}. URL: ${e}`,append:(t,e,i)=>`${i.length} items. URL: ${e}`,last:(t,e)=>`URL: ${e}`,history:(t,e)=>`URL: ${e}`,pageIndex:function(t,e){return`current page determined to be: ${t} from ${e}`}};r.log=function(t,e){if(!this.options.debug)return;let i=`[InfiniteScroll] ${t}`,n=h[t];n&&(i+=". "+n.apply(this,e)),console.log(i)},r.updateMeasurements=function(){this.windowHeight=t.innerHeight;let e=this.element.getBoundingClientRect();this.top=e.top+t.scrollY},r.updateScroller=function(){let e=this.options.elementScroll;if(e){if(this.scroller=!0===e?this.element:i.getQueryElement(e),!this.scroller)throw new Error(`Unable to find elementScroll: ${e}`)}else this.scroller=t},r.updateGetPath=function(){let t=this.options.path;if(!t)return void console.error(`InfiniteScroll path option required. Set as: ${t}`);let e=typeof t;"function"!=e?"string"==e&&t.match("{{#}}")?this.updateGetPathTemplate(t):this.updateGetPathSelector(t):this.getPath=t},r.updateGetPathTemplate=function(t){this.getPath=()=>{let e=this.pageIndex+1;return t.replace("{{#}}",e)};let e=t.replace(/(\\\?|\?)/,"\\?").replace("{{#}}","(\\d\\d?\\d?)"),i=new RegExp(e),n=location.href.match(i);n&&(this.pageIndex=parseInt(n[1],10),this.log("pageIndex",[this.pageIndex,"template string"]))};let a=[/^(.*?\/?page\/?)(\d\d?\d?)(.*?$)/,/^(.*?\/?\?page=)(\d\d?\d?)(.*?$)/,/(.*?)(\d\d?\d?)(?!.*\d)(.*?$)/],c=s.getPathParts=function(t){if(t)for(let e of a){let i=t.match(e);if(i){let[,t,e,n]=i;return{begin:t,index:e,end:n}}}};r.updateGetPathSelector=function(t){let e=document.querySelector(t);if(!e)return void console.error(`Bad InfiniteScroll path option. Next link not found: ${t}`);let i=e.getAttribute("href"),n=c(i);if(!n)return void console.error(`InfiniteScroll unable to parse next link href: ${i}`);let{begin:o,index:s,end:r}=n;this.isPathSelector=!0,this.getPath=()=>o+(this.pageIndex+1)+r,this.pageIndex=parseInt(s,10)-1,this.log("pageIndex",[this.pageIndex,"next link"])},r.updateGetAbsolutePath=function(){let t=this.getPath();if(t.match(/^http/)||t.match(/^\//))return void(this.getAbsolutePath=this.getPath);let{pathname:e}=location,i=t.match(/^\?/),n=e.substring(0,e.lastIndexOf("/")),o=i?e:n+"/";this.getAbsolutePath=()=>o+this.getPath()},s.create.hideNav=function(){let t=i.getQueryElement(this.options.hideNav);t&&(t.style.display="none",this.nav=t)},s.destroy.hideNav=function(){this.nav&&(this.nav.style.display="")},r.destroy=function(){this.allOff();for(let t in s.destroy)s.destroy[t].call(this);delete this.element.infiniteScrollGUID,delete o[this.guid],n&&this.$element&&n.removeData(this.element,"infiniteScroll")},s.throttle=function(t,e){let i,n;return e=e||200,function(){let o=+new Date,s=arguments,r=()=>{i=o,t.apply(this,s)};i&&o<i+e?(clearTimeout(n),n=setTimeout(r,e)):r()}},s.data=function(t){let e=(t=i.getQueryElement(t))&&t.infiniteScrollGUID;return e&&o[e]},s.setJQuery=function(t){n=t},i.htmlInit(s,"infinite-scroll"),r._init=function(){};let{jQueryBridget:u}=t;return n&&u&&u("infiniteScroll",s,n),s})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("./core")):e(t,t.InfiniteScroll)}(window,(function(t,e){let i=e.prototype;Object.assign(e.defaults,{loadOnScroll:!0,checkLastPage:!0,responseBody:"text",domParseResponse:!0}),e.create.pageLoad=function(){this.canLoad=!0,this.on("scrollThreshold",this.onScrollThresholdLoad),this.on("load",this.checkLastPage),this.options.outlayer&&this.on("append",this.onAppendOutlayer)},i.onScrollThresholdLoad=function(){this.options.loadOnScroll&&this.loadNextPage()};let n=new DOMParser;function o(t){let e=document.createDocumentFragment();return t&&e.append(...t),e}return i.loadNextPage=function(){if(this.isLoading||!this.canLoad)return;let{responseBody:t,domParseResponse:e,fetchOptions:i}=this.options,o=this.getAbsolutePath();this.isLoading=!0,"function"==typeof i&&(i=i());let s=fetch(o,i).then((i=>{if(!i.ok){let t=new Error(i.statusText);return this.onPageError(t,o,i),{response:i}}return i[t]().then((s=>("text"==t&&e&&(s=n.parseFromString(s,"text/html")),204==i.status?(this.lastPageReached(s,o),{body:s,response:i}):this.onPageLoad(s,o,i))))})).catch((t=>{this.onPageError(t,o)}));return this.dispatchEvent("request",null,[o,s]),s},i.onPageLoad=function(t,e,i){return this.options.append||(this.isLoading=!1),this.pageIndex++,this.loadCount++,this.dispatchEvent("load",null,[t,e,i]),this.appendNextPage(t,e,i)},i.appendNextPage=function(t,e,i){let{append:n,responseBody:s,domParseResponse:r}=this.options;if(!("text"==s&&r)||!n)return{body:t,response:i};let l=t.querySelectorAll(n),h={body:t,response:i,items:l};if(!l||!l.length)return this.lastPageReached(t,e),h;let a=o(l),c=()=>(this.appendItems(l,a),this.isLoading=!1,this.dispatchEvent("append",null,[t,e,l,i]),h);return this.options.outlayer?this.appendOutlayerItems(a,c):c()},i.appendItems=function(t,e){t&&t.length&&(function(t){let e=t.querySelectorAll("script");for(let t of e){let e=document.createElement("script"),i=t.attributes;for(let t of i)e.setAttribute(t.name,t.value);e.innerHTML=t.innerHTML,t.parentNode.replaceChild(e,t)}}(e=e||o(t)),this.element.appendChild(e))},i.appendOutlayerItems=function(i,n){let o=e.imagesLoaded||t.imagesLoaded;return o?new Promise((function(t){o(i,(function(){let e=n();t(e)}))})):(console.error("[InfiniteScroll] imagesLoaded required for outlayer option"),void(this.isLoading=!1))},i.onAppendOutlayer=function(t,e,i){this.options.outlayer.appended(i)},i.checkLastPage=function(t,e){let i,{checkLastPage:n,path:o}=this.options;if(n){if("function"==typeof o){if(!this.getPath())return void this.lastPageReached(t,e)}"string"==typeof n?i=n:this.isPathSelector&&(i=o),i&&t.querySelector&&(t.querySelector(i)||this.lastPageReached(t,e))}},i.lastPageReached=function(t,e){this.canLoad=!1,this.dispatchEvent("last",null,[t,e])},i.onPageError=function(t,e,i){return this.isLoading=!1,this.canLoad=!1,this.dispatchEvent("error",null,[t,e,i]),t},e.create.prefill=function(){if(!this.options.prefill)return;let t=this.options.append;t?(this.updateMeasurements(),this.updateScroller(),this.isPrefilling=!0,this.on("append",this.prefill),this.once("error",this.stopPrefill),this.once("last",this.stopPrefill),this.prefill()):console.error(`append option required for prefill. Set as :${t}`)},i.prefill=function(){let t=this.getPrefillDistance();this.isPrefilling=t>=0,this.isPrefilling?(this.log("prefill"),this.loadNextPage()):this.stopPrefill()},i.getPrefillDistance=function(){return this.options.elementScroll?this.scroller.clientHeight-this.scroller.scrollHeight:this.windowHeight-this.element.clientHeight},i.stopPrefill=function(){this.log("stopPrefill"),this.off("append",this.prefill)},e})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("./core"),require("fizzy-ui-utils")):e(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(t,e,i){let n=e.prototype;return Object.assign(e.defaults,{scrollThreshold:400}),e.create.scrollWatch=function(){this.pageScrollHandler=this.onPageScroll.bind(this),this.resizeHandler=this.onResize.bind(this);let t=this.options.scrollThreshold;(t||0===t)&&this.enableScrollWatch()},e.destroy.scrollWatch=function(){this.disableScrollWatch()},n.enableScrollWatch=function(){this.isScrollWatching||(this.isScrollWatching=!0,this.updateMeasurements(),this.updateScroller(),this.on("last",this.disableScrollWatch),this.bindScrollWatchEvents(!0))},n.disableScrollWatch=function(){this.isScrollWatching&&(this.bindScrollWatchEvents(!1),delete this.isScrollWatching)},n.bindScrollWatchEvents=function(e){let i=e?"addEventListener":"removeEventListener";this.scroller[i]("scroll",this.pageScrollHandler),t[i]("resize",this.resizeHandler)},n.onPageScroll=e.throttle((function(){this.getBottomDistance()<=this.options.scrollThreshold&&this.dispatchEvent("scrollThreshold")})),n.getBottomDistance=function(){let e,i;return this.options.elementScroll?(e=this.scroller.scrollHeight,i=this.scroller.scrollTop+this.scroller.clientHeight):(e=this.top+this.element.clientHeight,i=t.scrollY+this.windowHeight),e-i},n.onResize=function(){this.updateMeasurements()},i.debounceMethod(e,"onResize",150),e})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("./core"),require("fizzy-ui-utils")):e(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(t,e,i){let n=e.prototype;Object.assign(e.defaults,{history:"replace"});let o=document.createElement("a");return e.create.history=function(){if(!this.options.history)return;o.href=this.getAbsolutePath(),(o.origin||o.protocol+"//"+o.host)==location.origin?this.options.append?this.createHistoryAppend():this.createHistoryPageLoad():console.error(`[InfiniteScroll] cannot set history with different origin: ${o.origin} on ${location.origin} . History behavior disabled.`)},n.createHistoryAppend=function(){this.updateMeasurements(),this.updateScroller(),this.scrollPages=[{top:0,path:location.href,title:document.title}],this.scrollPage=this.scrollPages[0],this.scrollHistoryHandler=this.onScrollHistory.bind(this),this.unloadHandler=this.onUnload.bind(this),this.scroller.addEventListener("scroll",this.scrollHistoryHandler),this.on("append",this.onAppendHistory),this.bindHistoryAppendEvents(!0)},n.bindHistoryAppendEvents=function(e){let i=e?"addEventListener":"removeEventListener";this.scroller[i]("scroll",this.scrollHistoryHandler),t[i]("unload",this.unloadHandler)},n.createHistoryPageLoad=function(){this.on("load",this.onPageLoadHistory)},e.destroy.history=n.destroyHistory=function(){this.options.history&&this.options.append&&this.bindHistoryAppendEvents(!1)},n.onAppendHistory=function(t,e,i){if(!i||!i.length)return;let n=i[0],s=this.getElementScrollY(n);o.href=e,this.scrollPages.push({top:s,path:o.href,title:t.title})},n.getElementScrollY=function(e){if(this.options.elementScroll)return e.offsetTop-this.top;return e.getBoundingClientRect().top+t.scrollY},n.onScrollHistory=function(){let t=this.getClosestScrollPage();t!=this.scrollPage&&(this.scrollPage=t,this.setHistory(t.title,t.path))},i.debounceMethod(e,"onScrollHistory",150),n.getClosestScrollPage=function(){let e,i;e=this.options.elementScroll?this.scroller.scrollTop+this.scroller.clientHeight/2:t.scrollY+this.windowHeight/2;for(let t of this.scrollPages){if(t.top>=e)break;i=t}return i},n.setHistory=function(t,e){let i=this.options.history;i&&history[i+"State"]&&(history[i+"State"](null,t,e),this.options.historyTitle&&(document.title=t),this.dispatchEvent("history",null,[t,e]))},n.onUnload=function(){if(0===this.scrollPage.top)return;let e=t.scrollY-this.scrollPage.top+this.top;this.destroyHistory(),scrollTo(0,e)},n.onPageLoadHistory=function(t,e){this.setHistory(t.title,e)},e})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("./core"),require("fizzy-ui-utils")):e(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(t,e,i){class n{constructor(t,e){this.element=t,this.infScroll=e,this.clickHandler=this.onClick.bind(this),this.element.addEventListener("click",this.clickHandler),e.on("request",this.disable.bind(this)),e.on("load",this.enable.bind(this)),e.on("error",this.hide.bind(this)),e.on("last",this.hide.bind(this))}onClick(t){t.preventDefault(),this.infScroll.loadNextPage()}enable(){this.element.removeAttribute("disabled")}disable(){this.element.disabled="disabled"}hide(){this.element.style.display="none"}destroy(){this.element.removeEventListener("click",this.clickHandler)}}return e.create.button=function(){let t=i.getQueryElement(this.options.button);t&&(this.button=new n(t,this))},e.destroy.button=function(){this.button&&this.button.destroy()},e.Button=n,e})),function(t,e){"object"==typeof module&&module.exports?module.exports=e(t,require("./core"),require("fizzy-ui-utils")):e(t,t.InfiniteScroll,t.fizzyUIUtils)}(window,(function(t,e,i){let n=e.prototype;function o(t){r(t,"none")}function s(t){r(t,"block")}function r(t,e){t&&(t.style.display=e)}return e.create.status=function(){let t=i.getQueryElement(this.options.status);t&&(this.statusElement=t,this.statusEventElements={request:t.querySelector(".infinite-scroll-request"),error:t.querySelector(".infinite-scroll-error"),last:t.querySelector(".infinite-scroll-last")},this.on("request",this.showRequestStatus),this.on("error",this.showErrorStatus),this.on("last",this.showLastStatus),this.bindHideStatus("on"))},n.bindHideStatus=function(t){let e=this.options.append?"append":"load";this[t](e,this.hideAllStatus)},n.showRequestStatus=function(){this.showStatus("request")},n.showErrorStatus=function(){this.showStatus("error")},n.showLastStatus=function(){this.showStatus("last"),this.bindHideStatus("off")},n.showStatus=function(t){s(this.statusElement),this.hideStatusEventElements(),s(this.statusEventElements[t])},n.hideAllStatus=function(){o(this.statusElement),this.hideStatusEventElements()},n.hideStatusEventElements=function(){for(let t in this.statusEventElements){o(this.statusEventElements[t])}},e})), /*! * imagesLoaded v4.1.4 * JavaScript is all like "You images are done yet or what?" * MIT License */ function(t,e){"use strict";"function"==typeof define&&define.amd?define(["ev-emitter/ev-emitter"],(function(i){return e(t,i)})):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter")):t.imagesLoaded=e(t,t.EvEmitter)}("undefined"!=typeof window?window:this,(function(t,e){"use strict";var i=t.jQuery,n=t.console;function o(t,e){for(var i in e)t[i]=e[i];return t}var s=Array.prototype.slice;function r(t,e,l){if(!(this instanceof r))return new r(t,e,l);var h,a=t;("string"==typeof t&&(a=document.querySelectorAll(t)),a)?(this.elements=(h=a,Array.isArray(h)?h:"object"==typeof h&&"number"==typeof h.length?s.call(h):[h]),this.options=o({},this.options),"function"==typeof e?l=e:o(this.options,e),l&&this.on("always",l),this.getImages(),i&&(this.jqDeferred=new i.Deferred),setTimeout(this.check.bind(this))):n.error("Bad element for imagesLoaded "+(a||t))}r.prototype=Object.create(e.prototype),r.prototype.options={},r.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},r.prototype.addElementImages=function(t){"IMG"==t.nodeName&&this.addImage(t),!0===this.options.background&&this.addElementBackgroundImages(t);var e=t.nodeType;if(e&&l[e]){for(var i=t.querySelectorAll("img"),n=0;n<i.length;n++){var o=i[n];this.addImage(o)}if("string"==typeof this.options.background){var s=t.querySelectorAll(this.options.background);for(n=0;n<s.length;n++){var r=s[n];this.addElementBackgroundImages(r)}}}};var l={1:!0,9:!0,11:!0};function h(t){this.img=t}function a(t,e){this.url=t,this.element=e,this.img=new Image}return r.prototype.addElementBackgroundImages=function(t){var e=getComputedStyle(t);if(e)for(var i=/url\((['"])?(.*?)\1\)/gi,n=i.exec(e.backgroundImage);null!==n;){var o=n&&n[2];o&&this.addBackground(o,t),n=i.exec(e.backgroundImage)}},r.prototype.addImage=function(t){var e=new h(t);this.images.push(e)},r.prototype.addBackground=function(t,e){var i=new a(t,e);this.images.push(i)},r.prototype.check=function(){var t=this;function e(e,i,n){setTimeout((function(){t.progress(e,i,n)}))}this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?this.images.forEach((function(t){t.once("progress",e),t.check()})):this.complete()},r.prototype.progress=function(t,e,i){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!t.isLoaded,this.emitEvent("progress",[this,t,e]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,t),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&n&&n.log("progress: "+i,t,e)},r.prototype.complete=function(){var t=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(t,[this]),this.emitEvent("always",[this]),this.jqDeferred){var e=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[e](this)}},h.prototype=Object.create(e.prototype),h.prototype.check=function(){this.getIsImageComplete()?this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.proxyImage.src=this.img.src)},h.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth},h.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.img,e])},h.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},h.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},h.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},h.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},a.prototype=Object.create(h.prototype),a.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url,this.getIsImageComplete()&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},a.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},a.prototype.confirm=function(t,e){this.isLoaded=t,this.emitEvent("progress",[this,this.element,e])},r.makeJQueryPlugin=function(e){(e=e||t.jQuery)&&((i=e).fn.imagesLoaded=function(t,e){return new r(this,t,e).jqDeferred.promise(i(this))})},r.makeJQueryPlugin(),r}));