window.dataLayerPYS = window.dataLayerPYS || [];
console.log('PixelYourSite PRO version 12.5.2');
var breeze_prefetch = {"local_url":"https://www.canadiansavers.ca","ignore_remote_prefetch":"1","ignore_list":["/how-to-earn-points/","/login/","/profile/","/forgot-password/","/profile/my-brands/","/profile/my-categories/","/profile/my-stores/","/sign-up/","wp-admin","wp-login.php"]};
//# sourceURL=breeze-prefetch-js-extra
https://www.canadiansavers.ca/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js
var pysTikTokRest = {"restApiUrl":"https://www.canadiansavers.ca/wp-json/pys-tiktok/v1/event","debug":""};
var pysFacebookRest = {"restApiUrl":"https://www.canadiansavers.ca/wp-json/pys-facebook/v1/event","debug":""};
//# sourceURL=jquery-core-js-extra
(function(w,d,e,u,f,l,n){w[f]=w[f]||function(){(w[f].q=w[f].q||[])
.push(arguments);},l=d.createElement(e),l.async=1,l.src=u,
n=d.getElementsByTagName(e)[0],n.parentNode.insertBefore(l,n);})
(window,document,'script','https://assets.mailerlite.com/js/universal.js','ml');
ml('account', '230245');
ml('enablePopups', true);
jQuery(document).ready(function($) {
// Notification function
function showNotification(message) {
const container = $('.tfs-notification-container');
const notification = $(`
<div class="tfs-notification">
<span class="tfs-notification-icon">
<svg viewBox="0 0 24 24" width="16" height="16">
<polyline points="20 6 9 17 4 12" fill="none" stroke="white" stroke-width="2"/>
</svg>
</span>
<span class="tfs-notification-message">${message}</span>
</div>
`);
container.append(notification);
notification[0].offsetHeight;
setTimeout(() => {
notification.addClass('show');
}, 10);
setTimeout(() => {
notification.removeClass('show');
setTimeout(() => {
notification.remove();
}, 300);
}, 3000);
}
// Handle Select All button
$('.select-all-button').on('click', function() {
const $form = $(this).closest('form');
$form.find('input[type="checkbox"]').prop('checked', true);
});
// Handle Select None button
$('.select-none-button').on('click', function() {
const $form = $(this).closest('form');
$form.find('input[type="checkbox"]').prop('checked', false);
});
// Handle search functionality
let searchTimeout;
$('.taxonomy-search-input').on('input', function() {
const $input = $(this);
const $container = $input.closest('.taxonomy-follow-list');
clearTimeout(searchTimeout);
searchTimeout = setTimeout(function() {
const searchTerm = $input.val().toLowerCase();
const $items = $container.find('.taxonomy-item');
const $noTerms = $container.find('.no-terms-message');
let visibleItems = 0;
$items.each(function() {
const termName = $(this).data('term-name');
if (termName.includes(searchTerm)) {
$(this).show();
visibleItems++;
} else {
$(this).hide();
}
});
if (visibleItems === 0) {
$noTerms.show();
} else {
$noTerms.hide();
}
}, 300);
});
// Handle accordion toggles
$('.accordion-toggle').on('click', function(e) {
e.preventDefault();
const $button = $(this);
const $content = $button.closest('.followed-item-header').next('.accordion-content');
const isExpanded = $button.attr('aria-expanded') === 'true';
$button.attr('aria-expanded', !isExpanded);
if (!isExpanded) {
$content.prop('hidden', false);
const $item = $button.closest('.followed-item');
const termId = $item.data('term-id');
const taxonomy = $item.data('taxonomy');
$.ajax({
url: 'https://www.canadiansavers.ca/wp-admin/admin-ajax.php',
type: 'POST',
data: {
action: 'update_last_visit',
term_id: termId,
taxonomy: taxonomy,
nonce: '55042ba87d'
}
});
} else {
$content.prop('hidden', true);
}
});
// Form submission handler: regular POST submit, no AJAX
$('.taxonomy-follow-form').off('submit').on('submit', function() {
const $form = $(this);
const $button = $form.find('.follow-taxonomy-button');
$button.prop('disabled', true).text('Updating...');
});
const $stickyCta = $('.tfs-sticky-cta');
let activeStickyButton = null;
function isMobileTfs() {
return window.matchMedia('(max-width: 767px)').matches;
}
function getActiveLauncher() {
const $launchers = $('.tfs-add-button-wrapper:visible');
if (!$launchers.length) {
return null;
}
let best = null;
let bestTop = Number.POSITIVE_INFINITY;
const scrollTop = window.pageYOffset || document.documentElement.scrollTop || 0;
$launchers.each(function() {
const rect = this.getBoundingClientRect();
const absoluteTop = rect.top + scrollTop;
if (absoluteTop < bestTop) {
bestTop = absoluteTop;
best = this;
}
});
return best;
}
function setStickyButtonFromLauncher(launcher) {
if (!launcher || !$stickyCta.length) {
return;
}
const button = launcher.querySelector('.tfs-open-modal-button');
if (!button) {
return;
}
const modalTarget = button.getAttribute('data-tfs-modal-target') || '';
if (activeStickyButton === modalTarget && $stickyCta.children().length) {
return;
}
activeStickyButton = modalTarget;
const clone = button.cloneNode(true);
clone.classList.add('tfs-sticky-open-modal-button');
$stickyCta.empty().append(clone);
}
function updateStickyCta() {
if (!$stickyCta.length) {
return;
}
if (!isMobileTfs()) {
$stickyCta.removeClass('is-visible').attr('aria-hidden', 'true').empty();
$('body').removeClass('has-tfs-sticky-cta');
activeStickyButton = null;
return;
}
if ($('.tfs-modal-overlay.is-open').length) {
$stickyCta.removeClass('is-visible').attr('aria-hidden', 'true');
$('body').removeClass('has-tfs-sticky-cta');
return;
}
const launcher = getActiveLauncher();
if (!launcher) {
$stickyCta.removeClass('is-visible').attr('aria-hidden', 'true').empty();
$('body').removeClass('has-tfs-sticky-cta');
activeStickyButton = null;
return;
}
setStickyButtonFromLauncher(launcher);
const rect = launcher.getBoundingClientRect();
const shouldShow = rect.bottom < 0 || rect.top > (window.innerHeight - 80);
$stickyCta.toggleClass('is-visible', shouldShow)
.attr('aria-hidden', shouldShow ? 'false' : 'true');
$('body').toggleClass('has-tfs-sticky-cta', shouldShow);
}
$(window).on('scroll resize orientationchange load', updateStickyCta);
$(document).on('click', '.tfs-sticky-cta .tfs-open-modal-button', function() {
setTimeout(updateStickyCta, 20);
});
setTimeout(updateStickyCta, 50);
// Individual follow button handler
$('.tfs-follow-button').on('click', function(e) {
if (!$(this).hasClass('follow-taxonomy-button')) {
e.preventDefault();
var $button = $(this);
var termId = $button.data('term-id');
var taxonomy = $button.data('taxonomy');
var action = $button.data('action');
$.ajax({
url: 'https://www.canadiansavers.ca/wp-admin/admin-ajax.php',
type: 'POST',
data: {
action: action,
term_id: termId,
taxonomy: taxonomy,
nonce: '55042ba87d'
},
beforeSend: function() {
$button.prop('disabled', true).addClass('loading');
},
success: function(response) {
if (response.success) {
if (response.data.is_following) {
$button.addClass('is-following')
.data('action', 'unfollow_term');
showNotification('Successfully followed!');
} else {
$button.removeClass('is-following')
.data('action', 'follow_term');
showNotification('Successfully unfollowed');
}
// Reload page after a short delay
setTimeout(function() {
window.location.reload();
}, 1500);
} else {
alert('Action failed. Please try again.');
}
},
error: function() {
alert('An error occurred. Please try again.');
},
complete: function() {
$button.prop('disabled', false).removeClass('loading');
}
});
}
});
});
document.documentElement.className += " js";
(function(g,o){g[o]=g[o]||function(){(g[o]['q']=g[o]['q']||[]).push(
arguments)},g[o]['t']=1*new Date})(window,'_googCsa');
(function() {function signalGooglefcPresent() {if (!window.frames['googlefcPresent']) {if (document.body) {const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe);} else {setTimeout(signalGooglefcPresent, 0);}}}signalGooglefcPresent();})();
window.pushMST_config={"vapidPK":"BPXoRQolBdaYgbUv5xasrzRIkdVBsxyQ5qCGGAJgqiEAYVeWlVWos21eT1pHT1Ve4H0LoT2UlGbN5N78rDeHAz4","enableOverlay":true,"swPath":"/sw.js","i18n":{}};
var pushmasterTag = document.createElement('script');
pushmasterTag.src = "https://cdn.pushmaster-cdn.xyz/scripts/publishers/648adb4fc6ef390008e58b83/SDK.js";
pushmasterTag.setAttribute('defer','');
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(pushmasterTag, firstScriptTag);
(function(){
var loc = window.location.href;
var dd = document.createElement('script');
dd.type = 'text/javascript'; dd.src = '//static.digidip.net/canadiansavers.js?loc=' + loc;
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(dd, s);
})();
Travel Contests Canada
Discover the top travel contests in Canada and enter to win vacations, flights, hotel stays, and getaway packages. We feature verified Canadian travel giveaways so you can easily find current opportunities to win memorable trips.
(adsbygoogle = window.adsbygoogle || []).push({});
(adsbygoogle = window.adsbygoogle || []).push({});
(adsbygoogle = window.adsbygoogle || []).push({});
(adsbygoogle = window.adsbygoogle || []).push({});
(function() {
function getUTM(param) {
const urlParams = new URLSearchParams(window.location.search);
return urlParams.get(param) || '';
}
// Hook global gtag
if (typeof gtag !== 'undefined') {
const originalGtag = gtag;
window.gtag = function() {
// arguments = ['event', 'AdSense', {...}]
if (arguments[0] === 'event' && arguments[1] === 'AdSense') {
let params = arguments[2] || {};
// Override avec les vraies valeurs URL
params.utm_campaign = getUTM('utm_campaign');
params.utm_source = getUTM('utm_source');
params.utm_medium = getUTM('utm_medium');
params.utm_content = getUTM('utm_content');
arguments[2] = params;
}
return originalGtag.apply(this, arguments);
};
}
})();
(function() {
if (window.innerWidth > 767) return;
let shown = false;
window.addEventListener('scroll', function() {
if (shown) return;
document.querySelectorAll('.sidebar-widget-mobile-delay').forEach(el => {
el.style.display = '';
});
shown = true;
}, { passive: true });
})();
https://www.canadiansavers.ca/wp-content/themes/rehub-blankchild/js/custom-filters.js
https://www.canadiansavers.ca/wp-content/plugins/pixelyoursite-pro/dist/scripts/js.cookie-2.1.3.min.js
https://www.canadiansavers.ca/wp-content/plugins/pixelyoursite-pro/dist/scripts/sha256.js
https://www.canadiansavers.ca/wp-content/plugins/pixelyoursite-pro/dist/scripts/tld.min.js
https://www.canadiansavers.ca/wp-content/plugins/pixelyoursite-pro/dist/scripts/public.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/inview.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/pgwmodal.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/unveil.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/hoverintent.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/countdown.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/custom.js
jQuery(document).ready(function($) {
var retina = window.devicePixelRatio > 1 ? true : false;
if(retina) {
jQuery(".logo_image img").attr("src", "https://www.canadiansavers.ca/wp-content/uploads/2025/08/canadian-savers-logo.webp");
}
});
//# sourceURL=rehub-js-after
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/userlogin.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/ajaxpagination.js