if (typeof(php_data.ac_settings.site_tracking) != "undefined" && php_data.ac_settings.site_tracking == "1") { if(typeof(php_data.ac_settings.tracking_actid) === "undefined" || php_data.ac_settings.tracking_actid === ''){ console.log('Site tracking account not found'); } else{ (function(e,t,o,n,p,r,i){e.visitorGlobalObjectAlias=n;e[e.visitorGlobalObjectAlias]=e[e.visitorGlobalObjectAlias]||function(){(e[e.visitorGlobalObjectAlias].q=e[e.visitorGlobalObjectAlias].q||[]).push(arguments)};e[e.visitorGlobalObjectAlias].l=(new Date).getTime();r=t.createElement("script");r.src=o;r.async=true;i=t.getElementsByTagName("script")[0];i.parentNode.insertBefore(r,i)})(window,document,"https://diffuser-cdn.app-us1.com/diffuser/diffuser.js","vgo"); vgo('setAccount', php_data.ac_settings.tracking_actid); vgo('setTrackByDefault', php_data.ac_settings.site_tracking_default == "1"); if (typeof trackcmp_email !== 'undefined') { vgo('setEmail', trackcmp_email); } vgo('process'); function acEnableTracking() { let expiration = new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 30); document.cookie = "ac_enable_tracking=1;samesite=none;secure; expires= " + expiration + "; path=/"; vgo('process', 'allowTracking'); } if (php_data.ac_settings.site_tracking_default == "1" || /(^|; )ac_enable_tracking=([^;]+)/.test(document.cookie)) { acEnableTracking(); } } } ; !function(){"use strict";if("object"==typeof window)if("IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype)"isIntersecting"in window.IntersectionObserverEntry.prototype||Object.defineProperty(window.IntersectionObserverEntry.prototype,"isIntersecting",{get:function(){return this.intersectionRatio>0}});else{var t=function(t){for(var e=window.document,o=i(e);o;)o=i(e=o.ownerDocument);return e}(),e=[],o=null,n=null;s.prototype.THROTTLE_TIMEOUT=100,s.prototype.POLL_INTERVAL=null,s.prototype.USE_MUTATION_OBSERVER=!0,s._setupCrossOriginUpdater=function(){return o||(o=function(t,o){n=t&&o?l(t,o):{top:0,bottom:0,left:0,right:0,width:0,height:0},e.forEach((function(t){t._checkForIntersections()}))}),o},s._resetCrossOriginUpdater=function(){o=null,n=null},s.prototype.observe=function(t){if(!this._observationTargets.some((function(e){return e.element==t}))){if(!t||1!=t.nodeType)throw new Error("target must be an Element");this._registerInstance(),this._observationTargets.push({element:t,entry:null}),this._monitorIntersections(t.ownerDocument),this._checkForIntersections()}},s.prototype.unobserve=function(t){this._observationTargets=this._observationTargets.filter((function(e){return e.element!=t})),this._unmonitorIntersections(t.ownerDocument),0==this._observationTargets.length&&this._unregisterInstance()},s.prototype.disconnect=function(){this._observationTargets=[],this._unmonitorAllIntersections(),this._unregisterInstance()},s.prototype.takeRecords=function(){var t=this._queuedEntries.slice();return this._queuedEntries=[],t},s.prototype._initThresholds=function(t){var e=t||[0];return Array.isArray(e)||(e=[e]),e.sort().filter((function(t,e,o){if("number"!=typeof t||isNaN(t)||t<0||t>1)throw new Error("threshold must be a number between 0 and 1 inclusively");return t!==o[e-1]}))},s.prototype._parseRootMargin=function(t){var e=(t||"0px").split(/\s+/).map((function(t){var e=/^(-?\d*\.?\d+)(px|%)$/.exec(t);if(!e)throw new Error("rootMargin must be specified in pixels or percent");return{value:parseFloat(e[1]),unit:e[2]}}));return e[1]=e[1]||e[0],e[2]=e[2]||e[0],e[3]=e[3]||e[1],e},s.prototype._monitorIntersections=function(e){var o=e.defaultView;if(o&&-1==this._monitoringDocuments.indexOf(e)){var n=this._checkForIntersections,r=null,s=null;this.POLL_INTERVAL?r=o.setInterval(n,this.POLL_INTERVAL):(h(o,"resize",n,!0),h(e,"scroll",n,!0),this.USE_MUTATION_OBSERVER&&"MutationObserver"in o&&(s=new o.MutationObserver(n)).observe(e,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),this._monitoringDocuments.push(e),this._monitoringUnsubscribes.push((function(){var t=e.defaultView;t&&(r&&t.clearInterval(r),c(t,"resize",n,!0)),c(e,"scroll",n,!0),s&&s.disconnect()}));var u=this.root&&(this.root.ownerDocument||this.root)||t;if(e!=u){var a=i(e);a&&this._monitorIntersections(a.ownerDocument)}}},s.prototype._unmonitorIntersections=function(e){var o=this._monitoringDocuments.indexOf(e);if(-1!=o){var n=this.root&&(this.root.ownerDocument||this.root)||t,r=this._observationTargets.some((function(t){var o=t.element.ownerDocument;if(o==e)return!0;for(;o&&o!=n;){var r=i(o);if((o=r&&r.ownerDocument)==e)return!0}return!1}));if(!r){var s=this._monitoringUnsubscribes[o];if(this._monitoringDocuments.splice(o,1),this._monitoringUnsubscribes.splice(o,1),s(),e!=n){var h=i(e);h&&this._unmonitorIntersections(h.ownerDocument)}}}},s.prototype._unmonitorAllIntersections=function(){var t=this._monitoringUnsubscribes.slice(0);this._monitoringDocuments.length=0,this._monitoringUnsubscribes.length=0;for(var e=0;e=0&&m>=0&&{top:c,bottom:a,left:f,right:d,width:g,height:m}||null),!v)break;_=_&&p(_)}return v}},s.prototype._getRootRect=function(){var e;if(this.root&&!d(this.root))e=u(this.root);else{var o=d(this.root)?this.root:t,n=o.documentElement,i=o.body;e={top:0,left:0,right:n.clientWidth||i.clientWidth,width:n.clientWidth||i.clientWidth,bottom:n.clientHeight||i.clientHeight,height:n.clientHeight||i.clientHeight}}return this._expandRectByRootMargin(e)},s.prototype._expandRectByRootMargin=function(t){var e=this._rootMarginValues.map((function(e,o){return"px"==e.unit?e.value:e.value*(o%2?t.width:t.height)/100})),o={top:t.top-e[0],right:t.right+e[1],bottom:t.bottom+e[2],left:t.left-e[3]};return o.width=o.right-o.left,o.height=o.bottom-o.top,o},s.prototype._hasCrossedThreshold=function(t,e){var o=t&&t.isIntersecting?t.intersectionRatio||0:-1,n=e.isIntersecting?e.intersectionRatio||0:-1;if(o!==n)for(var i=0;i0;)s(n[0])}function c(e){for(let t=0;t0&&(i.unobserve(n.target),s(n.target))}0===n.length&&i.disconnect()}function l(){if(!a&&(n.length>0||t.length>0)){a=document.createElement("div"),a.id="loadingWarning",a.style.fontWeight="bold",a.innerText=jetpackLazyImagesL10n.loading_warning;const e=document.createElement("style");e.innerHTML="#loadingWarning { display: none; }\n@media print {\n#loadingWarning { display: block; }\nbody > #loadingWarning ~ * { display: none !important; }\n}",a.appendChild(e),o.insertBefore(a,o.firstChild)}n.length>0&&r(),a&&alert(jetpackLazyImagesL10n.loading_warning)}function s(e){let a;if(!(e instanceof HTMLImageElement))return;const i=e.getAttribute("data-lazy-srcset"),o=e.getAttribute("data-lazy-sizes");e.removeAttribute("data-lazy-srcset"),e.removeAttribute("data-lazy-sizes"),e.removeAttribute("data-lazy-src"),e.classList.add("jetpack-lazy-image--handled"),e.setAttribute("data-lazy-loaded",1),o&&e.setAttribute("sizes",o),i?e.setAttribute("srcset",i):e.removeAttribute("srcset"),e.setAttribute("loading","eager"),t.push(e);const d=n.indexOf(e);d>=0&&n.splice(d,1),e.complete?g.call(e,null):(e.addEventListener("load",g,{once:!0}),e.addEventListener("error",g,{once:!0}));try{a=new Event("jetpack-lazy-loaded-image",{bubbles:!0,cancelable:!0})}catch(e){a=document.createEvent("Event"),a.initEvent("jetpack-lazy-loaded-image",!0,!0)}e.dispatchEvent(a)}function g(){const e=t.indexOf(this);e>=0&&t.splice(e,1),a&&0===n.length&&0===t.length&&(a.parentNode.removeChild(a),a=null)}o&&(o.addEventListener("is.post-load",d),o.addEventListener("jetpack-lazy-images-load",d))};"interactive"===document.readyState||"complete"===document.readyState?e():document.addEventListener("DOMContentLoaded",e)}();; // watch ads on page /* var adTimes = {}; let adObserver = new IntersectionObserver(function(entries, observer) { entries.forEach(function(entry) { // 50% of ad is viewable if (entry.isIntersecting && entry.intersectionRatio > 0.5) { // ad viewable for second time if (entry.target.getAttribute('id') in adTimes) { renderAd(entry.target.getAttribute('data-adunit'), entry.target.getAttribute('data-size'), entry.target.getAttribute('id'), true); // ad viewable for the first time } else { renderAd(entry.target.getAttribute('data-adunit'), entry.target.getAttribute('data-size'), entry.target.getAttribute('id')); } adTimes[entry.target.getAttribute('id')] = entry.time; console.log(entry) if (entry.target.classList.contains('ad_pending')) { renderAd(entry.target.getAttribute('data-adunit'), entry.target.getAttribute('data-size'), entry.target.getAttribute('id')); entry.target.classList.remove('ad_pending'); } } }); }, { threshold: 0.5, root: null, rootMargin: '0px' }); adObserver.observe(document.querySelector('.cos_ad')); */ // ADS let adUnitPrefix = '/134312942/'; let adRefreshDelay = 20000; var adDivIds = {}; var dfpAdDivIds = {}; let googleAdsSizeArray = { 'billboard': [970, 250], 'leaderboard': [[728, 90], [468, 60]], 'leaderboard_small': [468, 60], 'skyscraper': [300, 600], 'skyscraper_mobile': [300, 600], 'square': [ [300, 250], [336, 280] ], 'mobile': [ [320, 50], [300, 50], [320, 100] ], 'mobile_adhesion': [ [320, 50], [300, 50] ], 'mobile_bit': [ [320, 50], [320, 152] ], 'mobile_apple': [ [320, 50], [320, 80] ], 'native_in_content': ['fluid'], 'nativo_mobile_mpu': [336, 280], 'short_billboard': [750, 250], 'out_1x1': [1, 1] }; /* let googleAdsBidArray = { 'leaderboard': [{ bidder: 'appnexus', params: { placementId: '11832878' } }] } */ function prebidConfig() { // set prebid config pbjs.que.push(function() { pbjs.setConfig({ useBidCache: true, userSync: { filterSettings: { iframe: { bidders: '*', filter: 'include' }, image: { bidders: '*', filter: 'include' } }, syncsPerBidder: 3, // and no more than 3 syncs at a time syncDelay: 6000, // 6 seconds after the auction }, consentManagement: { gdpr: { cmpApi: 'iab', allowAuctionWithoutConsent: false, // suppress auctions if there's no GDPR consent string timeout: 3000 // GDPR timeout 3000ms }, usp: { timeout: 100 // US Privacy timeout 100ms } }, bidderSequence: 'random', enableSendAllBids: false, priceGranularity: 'high', publisherDomain: window.location.origin }); }); } function setupAllDfpAds() { var dfpElements = document.getElementsByClassName("cos_dfp_ad"); for (var i = 0; i < dfpElements.length; i++) { if (dfpElements[i].getAttribute('id') in dfpAdDivIds) { continue; } setupDfpAd(dfpElements[i].getAttribute('data-adunit'), dfpElements[i].getAttribute('data-size'), dfpElements[i].getAttribute('id')); dfpAdDivIds[dfpElements[i].getAttribute('id')] = true; } } function setupDfpAd(adUnit, size, divId) { //cX.callQueue.push(['invoke', function() { googletag.cmd.push(function() { var slot = googletag.defineSlot(adUnitPrefix + adUnit, googleAdsSizeArray[size], divId); // all other targeting if (googleAdsTargetingArray) { for (var i = 0; i < googleAdsTargetingArray.length; i++) { slot.setTargeting(googleAdsTargetingArray[i][0], googleAdsTargetingArray[i][1]); } } slot.addService(googletag.pubads()); googletag.enableServices(); googletag.pubads().refresh([slot]); }); //}]); } setupAllDfpAds(); function setupAd(adUnit, size, divId) { googletag.cmd.push(function() { if (divId in adDivIds) return; var bidData; // normalize bid data if (size in googleAdsBidArray) { if (googleAdsBidArray[size].hasOwnProperty('mediaTypes')) { bidData = googleAdsBidArray[size]; } else { bidData = { code: adUnitPrefix + adUnit, mediaTypes: { banner: { sizes: googleAdsSizeArray[size] } }, bids: googleAdsBidArray[size] }; } } // add bid data to prebid pbjs.que.push(function() { pbjs.addAdUnits(bidData); }); // create google ad slot var slot = googletag.defineSlot(adUnitPrefix + adUnit, googleAdsSizeArray[size], divId); // ad type targeting if (bidData != null) { if (bidData.hasOwnProperty('video')) { slot.setTargeting('adType', 'video'); } else { slot.setTargeting('adType', 'banner'); } } slot.addService(googletag.pubads()); // all other targeting if (googleAdsTargetingArray) { for (var i = 0; i < googleAdsTargetingArray.length; i++) { googletag.pubads().setTargeting(googleAdsTargetingArray[i][0], googleAdsTargetingArray[i][1]); } } trackAd(divId, slot, bidData, true); }); } function refreshAd(divId) { trackAd(divId); // do this immediately otherwise ads will refresh twice cuz of the delay // fetch bids for display ad units if (adDivIds[divId]['slot'].getTargeting('adType') != 'video') { pbjs.que.push(function() { //cX.callQueue.push(['invoke', function() { googletag.cmd.push(function() { pbjs.requestBids({ timeout: 1000, adUnitCodes: [adDivIds[divId]['slot'].getAdUnitPath()], bidsBackHandler: function() { pbjs.setTargetingForGPTAsync([adDivIds[divId]['slot'].getAdUnitPath()]); googletag.pubads().refresh([adDivIds[divId]['slot']]); //trackAd(divId); } }); }); //}]); }); } else { // only refresh the video ad unit without fetching any new bids pbjs.que.push(function() { //cX.callQueue.push(['invoke', function() { googletag.cmd.push(function() { pbjs.setTargetingForGPTAsync([adDivIds[divId]['slot'].getAdUnitPath()]); googletag.pubads().refresh([adDivIds[divId]['slot']]); //trackAd(divId); }); //}]); }); } } function trackAd(divId, slot = null, bidData = null, initial = false) { if (!(divId in adDivIds)) { adDivIds[divId] = { time: null, slot: null, viewed: false }; } adDivIds[divId]['time'] = new Date().getTime(); if (slot !== null) { adDivIds[divId]['slot'] = slot; } if (bidData !== null) { adDivIds[divId]['bidData'] = bidData; } if (initial) { adDivIds[divId]['initial'] = true; } else { adDivIds[divId]['initial'] = false; } } function adElapsed(divId, milliseconds) { return (new Date().getTime() - adDivIds[divId]['time']) >= milliseconds; } function adMonitor() { var elements = document.getElementsByClassName("cos_ad"); for (var i = 0; i < elements.length; i++) { // remove auto refresh for 300x250 sticky /* if (elements[i].getAttribute('data-adunit') === 'COS_DT_300_250_STICKY') { elements[i].classList.remove('ad_refresh'); }*/ // add to setup if not available if (!(elements[i].getAttribute('id') in adDivIds)) { setupAd(elements[i].getAttribute('data-adunit'), elements[i].getAttribute('data-size'), elements[i].getAttribute('id')); } else { // if visible in viewport if (isVisible(elements[i], 0.5)) { //console.log('impression VISIBLE', elements[i].getAttribute('id')) // second time in view and has ad_refresh class if (adDivIds[elements[i].getAttribute('id')]['initial'] == false && elements[i].classList.contains('ad_refresh')) { if (adDivIds[elements[i].getAttribute('id')]['viewed'] == true) { adDivIds[elements[i].getAttribute('id')]['viewed'] = false; refreshAd(elements[i].getAttribute('id')); } // first time in view } else if (adDivIds[elements[i].getAttribute('id')]['initial'] == true) { refreshAd(elements[i].getAttribute('id')); } } } } } prebidConfig(); // Monitor all ads every second let adInterval = setInterval(adMonitor, 500); window.onunload = function() { clearInterval(adInterval); } // resize ad slot on render to fit googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(event) { var size = event.size; if(size === null) return; var slot = event.slot; var slotDiv = document.getElementById(slot.getSlotElementId()); if (size[0] > slotDiv.clientWidth) { slotDiv.style.width = size[0] + 'px'; slotDiv.parentElement.style.width = slotDiv.style.width; slotDiv.style.height = size[1] + 'px'; slotDiv.parentElement.style.height = slotDiv.style.height; } }); }); // impression viewable event googletag.cmd.push(function() { googletag.pubads().addEventListener('impressionViewable', function(event) { var slot = event.slot; if (document.getElementById(slot.getSlotElementId()).classList.contains('ad_refresh')) { setTimeout(function() { adDivIds[slot.getSlotElementId()]['viewed'] = true; }, adRefreshDelay); //console.log("impression VIEWABLE fired", slot.getSlotElementId()); } // leaderboard sticky var lboard = document.getElementById(slot.getSlotElementId()).closest('.bg-white'); if (lboard) lboard.classList.remove('leaderboard-sticky'); }); }); function isVisible(el, visibleRatio) { var visible = horizontal(el) * vertical(el); return visible > visibleRatio; } function horizontal(el) { var windowWidth = window.innerWidth var elemLeft = el.getBoundingClientRect().left var elemRight = el.getBoundingClientRect().right var elemWidth = elemRight - elemLeft // Not viewable, below viewport if (elemLeft > windowWidth) return 0; // Not viewable, above the viewport else if (elemRight <= 0) return 0; // Element is completely visible else if (elemLeft >= 0 && elemRight <= windowWidth) return 1; // Top and bottom of element truncated else if (elemLeft < 0 && elemRight > windowWidth) return windowWidth / elemWidth; // Top of element is truncated else if (elemLeft < 0 && elemRight <= windowWidth) return elemRight / elemWidth; // Bottom of element is truncated else if (elemLeft >= 0 && elemRight > windowWidth) return (windowWidth - elemLeft) / elemWidth; // Error else return 0; } function vertical(el) { var windowHeight = window.innerHeight var elemTop = el.getBoundingClientRect().top var elemBottom = el.getBoundingClientRect().bottom var elemHeight = elemBottom - elemTop // Not viewable, below viewport if (elemTop > windowHeight) return 0; // Not viewable, above the viewport else if (elemBottom <= 0) return 0; // Element is completely visible else if (elemTop >= 0 && elemBottom <= windowHeight) return 1; // Top and bottom of element truncated else if (elemTop < 0 && elemBottom > windowHeight) return windowHeight / elemHeight; // Top of element is truncated else if (elemTop < 0 && elemBottom <= windowHeight) return elemBottom / elemHeight; // Bottom of element is truncated else if (elemTop >= 0 && elemBottom > windowHeight) return (windowHeight - elemTop) / elemHeight; // Error else return 0; } function loadOnDemand(url, id, type) { // already exists if (document.querySelectorAll('#' + id).length > 0) return; if (!type) return; var s; if (type == 'script') { s = document.createElement("script"); s.src = url; s.id = id; } else { s = document.createElement("link"); s.rel = 'stylesheet'; s.href = url; s.id = id; } // append to head in dom let head = document.head || document.getElementsByTagName('head')[0]; head.insertBefore(s, head.firstChild); } function delayScriptsOnLoad() { loadOnDemand('//cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.2/animate.min.css?ver=5.4.2', 'animate-style', 'style'); } // delay loading of certain resources var raf = requestAnimationFrame || mozRequestAnimationFrame || webkitRequestAnimationFrame || msRequestAnimationFrame; if (raf) raf(delayScriptsOnLoad); else window.addEventListener('load', delayScriptsOnLoad); function delayIframe(iframeID, iframeURL) { setTimeout(function(){ var el = document.querySelectorAll('[data-delay="' + iframeID + '"]'); if (el.length > 0) el[0].src = iframeURL; }, 1000); } /* sticky leaderboard */ /* function sticky_leaderboard() { setTimeout(function(){ var ad_leaderboard = document.querySelector(".header-global .desktop-only.bg-white.leaderboard-sticky"); if (!ad_leaderboard) return; ad_leaderboard.classList.remove("leaderboard-sticky"); }, 3000) } sticky_leaderboard(); */ /* var has_stickied_leaderboard = false; window.addEventListener('scroll', sticky_leaderboard); function sticky_leaderboard() { if (has_stickied_leaderboard) return; var ad_leaderboard = document.querySelector(".header-global .ad.horizontal.desktop-only"); if (!ad_leaderboard) return; var post_content = document.querySelector(".module.posts"); if (!post_content) return; var ad_sticky = ad_leaderboard.offsetTop - 100; if (window.pageYOffset > ad_sticky) { ad_leaderboard.classList.add("leaderboard-sticky"); has_stickied_leaderboard = true; setTimeout(function(){ ad_leaderboard.classList.remove("leaderboard-sticky"); }, 3000) } } */ /* sticky sidebar ads */ window.addEventListener('scroll', sticky_sidebar_ads); function sticky_sidebar_ads() { var article_content = document.querySelector("article.content-col"); if (!article_content) return; var article_content_height = article_content.offsetHeight; const boxes = document.querySelectorAll('.sticky-container'); boxes.forEach(box => { box.style.height = article_content_height/2 + 'px'; }); } /* window.addEventListener('scroll', sticky_sidebar_ads); function sticky_sidebar_ads() { var ad_sidebar_rhs = document.querySelector("aside .sidebar-rhs"); var ad_sidebar_square = document.querySelector("aside .sidebar-square"); if (!ad_sidebar_rhs && !ad_sidebar_square) return; // article height may change on infinite scroll var buffer = 130; var article_content_height = document.querySelector("article.content-col").offsetHeight; var sidebar = document.querySelector("aside.aside-news-post"); sidebar.style.height = article_content_height + 'px'; ad_sidebar_rhs.style.height = article_content_height/4 + 'px'; ad_sidebar_square.style.height = article_content_height/6 + 'px'; ad_sidebar_rhs.classList.remove("rhs-fixed"); ad_sidebar_square.classList.remove("rhs-fixed"); if (window.pageYOffset > ad_sidebar_square.offsetTop - buffer) { ad_sidebar_square.classList.add("rhs-fixed"); } else if (window.pageYOffset > ad_sidebar_rhs.offsetTop - buffer) { ad_sidebar_rhs.classList.add("rhs-fixed"); } else { } } */ // video player /* var searchInput = document.querySelector('.algolia__input'); searchInput.addEventListener('focus', function(e) { loadScriptOnDemand('/path/to/search-script.js'); }); var script = document.querySelector('#hljs'); script.addEventListener('load', function() { hljs.initHighlightingOnLoad(); }); */ /* function loadScript(url) { return new Promise(function(resolve, reject) { var script = document.createElement('script'); script.type = 'text/javascript'; script.async = true; script.src = url; script.onload = resolve; script.onerror = reject; let head = document.head || document.getElementsByTagName('head')[0]; head.insertBefore(script, head.firstChild); }) } loadScript('') .then(function() { console.log('Loaded!'); }) .catch(function(err) { console.error('Something went wrong!', err); }); */; /** * Check if key exists in local storage * @param string key * @return boolean */ function localStorageHas (key) { var item = localStorage.getItem(key); return ( item !== null ); } /** * Retrive an object from local storage. * @param string key * @return mixed */ function localStorageGet (key) { var item = localStorage.getItem(key); if ( ! item ) return; if ( item[0] === '{' || item[0] === '[' ) return JSON.parse(item); return item; } /** * Save some value to local storage. * @param string key * @param string value */ function localStorageSet (key, value) { if ( value === undefined ) $.error("Can't store undefinded value"); if ( typeof(value) === 'object' || typeof(value) === 'array' ) { value = JSON.stringify(value); } if ( typeof(value) !== 'string' ) $.error("Can't store unrecognized format value"); localStorage.setItem(key, value); } /** * Remove element from local storage. * @param string key */ function localStorageRemove (key) { localStorage.removeItem(key); }; window.jQuery = window.$ = jQuery; $(document).ready(function() { /* // FIXED TOP NAV $(document).on("scroll", function() { if ($(document).scrollTop() > 400) { $(".fixed-top").addClass("scrolled slideInDown"); } else { $(".fixed-top").removeClass("scrolled"); } }); // FIXED TOP CATEGORIES NAV INNER PAGE $(document).on("scroll", function() { if ($(document).scrollTop() > 1200) { $(".cats-bar").addClass("scrolled slideInDown"); } else { $(".cats-bar").removeClass("scrolled"); } }); */ // MENU $(".but-menu").click(function() { $("#menu").addClass("reveal slideInLeft"); $('html').css('overflow', 'hidden'); $('body').bind('touchmove', function(e) { e.preventDefault() }); }); $(".menu-close").click(function() { $("#menu").removeClass("reveal"); $('html').css('overflow', 'scroll'); $('body').unbind('touchmove'); }); // MENU CATS $(".menu-item").click(function() { $(".menu-item").toggleClass("open").not(this).removeClass("open"); }); $(".menu-news").click(function() { $(".sub-reviews, .sub-features, .sub-live, .sub-podcasts, .sub-videos, .sub-heavy, .sub-shop").hide(); $(".sub-news").toggle(); }); $(".menu-reviews").click(function() { $(".sub-news, .sub-features, .sub-live, .sub-podcasts, .sub-videos, .sub-heavy, .sub-shop").hide(); $(".sub-reviews").toggle(); }); $(".menu-features").click(function() { $(".sub-news, .sub-reviews, .sub-live, .sub-podcasts, .sub-videos, .sub-heavy, .sub-shop").hide(); $(".sub-features").toggle(); }); $(".menu-live").click(function() { $(".sub-news, .sub-reviews, .sub-podcasts, .sub-videos, .sub-heavy, .sub-shop").hide(); $(".sub-live").toggle(); }); $(".menu-podcasts").click(function() { $(".sub-news, .sub-reviews, .sub-features, .sub-live, .sub-videos, .sub-heavy, .sub-shop").hide(); $(".sub-podcasts").toggle(); }); $(".menu-videos").click(function() { $(".sub-news, .sub-reviews, .sub-features, .sub-live, .sub-heavy, .sub-shop").hide(); $(".sub-videos").toggle(); }); $(".menu-heavy").click(function() { $(".sub-news, .sub-reviews, .sub-features, .sub-live, .sub-podcasts .sub-videos, .sub-shop").hide(); $(".sub-heavy").toggle(); }); $(".menu-shop").click(function() { $(".sub-news, .sub-reviews, .sub-features, .sub-live, .sub-podcasts .sub-videos, .sub-heavy").hide(); $(".sub-shop").toggle(); }); // SEARCH $(".but-search").click(function() { $("#search-bar").addClass("reveal slideInDown"); }); $(".search-close").click(function() { $("#search-bar").removeClass("reveal"); }); $("#search_404").click(function() { $("#search-bar").addClass("reveal slideInDown"); }); // FIXED FILTERS / TRENDING BAR ON SCROLL $('.fixed-bar.trending-bar').scrollToFixed({ marginTop: 130 }); $('.mobile-bar-drop').scrollToFixed({ marginTop: 130 }); // FIXED AD ON SCROLL /* $('.fixed-ad-scroll').scrollToFixed({ marginTop: 140, zIndex: 10, limit: function() { var limit = $('#footer').offset().top - $('.fixed-ad-scroll').outerHeight(true) - 0; return limit; } }); */ /* $('.fixed-ad-scroll-bottom').scrollToFixed({ marginTop:400, limit: function() { var limit; if ($('.post-related').length > 0) { limit = $('.post-related').offset().top - $('.fixed-ad-scroll-bottom').outerHeight(true) - 80; } else { limit = $('#footer').offset().top - $('.fixed-ad-scroll-bottom').outerHeight(true) - 40; } return limit; } }); */ // FIXED SOCIAL ON SCROLL /* $('.social-follow.fixed').scrollToFixed({ marginTop: 200, limit: function() { var limit = $('.post-tags').offset().top - $('.social-follow.fixed').outerHeight(true) - 40; return limit; } }); */ // FIXED VIDEO ON SCROLL /* $('.fixed-watch-video').scrollToFixed({ marginTop: 200, limit: function() { var limit; if ($('.post-related').length > 0) { limit = $('.post-related').offset().top - $('.fixed-watch-video').outerHeight(true) - 80; } else { limit = $('#footer').offset().top - $('.fixed-watch-video').outerHeight(true) - 40; } return limit; } }); */ // FIXED SQUARE ON SCROLL /* $('.fixed-ad-aside').scrollToFixed({ marginTop: 200, limit: function() { var limit; if ($('.post-related').length > 0) { limit = $('.post-related').offset().top - $('.fixed-ad-aside').outerHeight(true) - 80; } else { limit = $('#footer').offset().top - $('.fixed-ad-aside').outerHeight(true) - 40; } if ($('.fixed-watch-video').length > 0) { limit += $('.fixed-watch-video').outerHeight(true); } return limit; } }); */ // READER'S RATING $(document).on("scroll", function(){ if ($(document).scrollTop() > 200){ $(".reader-rating").addClass("scrolled bounceInUp"); } else { $(".reader-rating").removeClass("scrolled"); } }); // MOBILE BAR DROP $(".open-drop").click(function() { $(".open-drop").toggleClass("open"); }); $(".open-drop").click(function() { $(".mobile-bar-drop ul").toggle(); }); // VIDEOS PLAYLIST $(".video-playlist a").click(function() { var parent_div = $(this).closest('div'); var src = $(parent_div).attr('data-src'); var type = $(parent_div).attr('data-type'); var poster = $(parent_div).attr('data-poster'); var title = $(parent_div).attr('data-title'); var videoObj = $(this).parents(".mod-playlist").find(".video-js"); if (videoObj.length !== 0) { var player = videojs(videoObj.attr('id')); if(src == player.src()) { return; } if (player.ads && player.ads.isInAdMode()) { return; } player.poster(poster); player.src([{type: type, src: src }]); player.play(); player.on('loadstart', function(event) { $('#' + player.id() + '_title').text(title) }); $(this).parents('.col-video-scrollable').find('p.play-now a').text('Play Now'); $(this).parents('.video-playlist').find('p.play-now a').text('Now Playing'); } }); // VIDEOS Playing Now Text $("p.play-now a").first().text('Now Playing'); // MOBILE ADHESION //$(".mobile-adhesion").delay(5000).fadeOut('slow'); /* // RENDER PENDING ADS function renderPendingAds() { $(".ad_pending").each(function(i, e){ renderAd($(e).attr('data-adunit'), $(e).attr('data-size'), $(e).attr('id')); $(e).removeClass('ad_pending'); }); } // REGULAR ADS renderPendingAds(); // INFINITE SCROLL ADS $(document.body).on('post-load', function () { renderPendingAds(); }); */ resizeIframes(); }); // IFRAME RESIZING function resizeIframes() { $("iframe").each(function(i, v){ var domains = ['spotify', 'apple', 'vevo']; if(typeof $(v).attr('src') !== 'undefined') { $(domains).each(function(di, dv) { if ($(v).attr('src').indexOf(dv) !== -1) { $(v).attr('height', 450); } }); if ($(v).attr('src').indexOf('anchor') !== -1) { $(v).attr('height', 160); $(v).attr('scrolling', 'no'); } } }); } // ajax load more - next page in infinite scroll window.almComplete = function(alm){ resizeIframes(); setupAllDfpAds(); //setupIframeOnDemand(); if (typeof initGallery === 'function') initGallery(); // actual code in partials/common/_gallery.php } $(document).ready(function(){ if (typeof initGallery === 'function') initGallery(); // actual code in partials/common/_gallery.php }); window.almUrlUpdate = function(permalink, type){ gtag("event", "page_view", { page_path: window.location.pathname, custom_map: { 'dimension1': 'Categories', 'dimension2': 'Tags', 'dimension3': 'Authors', 'dimension4': 'Artists', 'dimension6': 'page_id', 'dimension7': 'Primary Category', 'dimension9': 'Paged Article' } }); } // iframe on demand for youtube function setupIframeOnDemand() { $(".embed-youtube-on-demand").click(function() { var id = $(this).children('img').attr('data-id'); var iframe = ''; $(this).replaceWith(iframe); }); } $(function() { var url = new URL(window.location.href); if (url.searchParams.get('app')) { $("a").attr('href', function(index, item) { if (item) return item + (item.indexOf('?') != -1 ? "&app=true" : "?app=true"); }); } var subId3 = ''; if (subId3 = url.searchParams.get('subId3')) { $("a").attr('href', function(index, item) { if (item && item.indexOf('ticketmaster') !== -1) return item + (item.indexOf('?') != -1 ? "&subId3=" + subId3 : "?subId3=" + subId3); }); } });;