(function (){
'use strict';
var productSelector=[
'.woocommerce ul.products li.product',
'.woocommerce-page ul.products li.product',
'.products .product'
].join(',');
function getImageNode(image){
return image.closest('picture')||image;
}
function ensureImageWrap(image){
var imageNode=getImageNode(image);
var existingWrap=imageNode.closest('.afwp-sale-image-wrap');
if(existingWrap){
return existingWrap;
}
var wrap=document.createElement('span');
wrap.className='afwp-sale-image-wrap';
imageNode.parentNode.insertBefore(wrap, imageNode);
wrap.appendChild(imageNode);
return wrap;
}
function moveSaleBadge(product){
var badge=product.querySelector('.onsale');
var image=product.querySelector('img');
if(!badge||!image){
return;
}
var wrap=ensureImageWrap(image);
product.classList.add('afwp-sale-ready');
if(badge.parentNode!==wrap){
wrap.appendChild(badge);
}}
function updateSaleBadges(){
document.querySelectorAll(productSelector).forEach(moveSaleBadge);
}
function scheduleUpdate(){
window.requestAnimationFrame(updateSaleBadges);
}
if(document.readyState==='loading'){
document.addEventListener('DOMContentLoaded', scheduleUpdate);
}else{
scheduleUpdate();
}
window.addEventListener('load', updateSaleBadges);
document.addEventListener('updated_wc_div', scheduleUpdate);
document.addEventListener('woocommerce_ajax_loaded', scheduleUpdate);
})();