1"use strict";var LatestActionID=0;function m58Text(e,t){var n=document.querySelector("#m58Container"),a=n&&n.getAttribute("data-str-"+e)||"";if(t)for(var r in t)a=a.split("{"+r+"}").join(t[r]);return a}function GetCookieByName(e){var t=document.cookie.split("; ").find(function(t){return t.startsWith(e)});return t?t.split("=")[1]:""}function SetRequestHeaders(e){var t=GetCookieByName("ANP-SHOP-JWT"),n=GetCookieByName("CIAMCustomerToken");return e.setRequestHeader("Content-type","application/json"),e.setRequestHeader("ANP-SHOP-JWT","Bearer "+t),e.setRequestHeader("Ocp-Apim-Subscription-Key",window.intAPISubscriptionKey),n&&e.setRequestHeader("Authorization","Bearer "+n),e}function CreateRequestForCartPostApiCall(e){var t=new XMLHttpRequest;return t.open("POST",window.intAPIBaseUrl+"/shop/carts/items",!0),(t=SetRequestHeaders(t)).onload=function(){if(200===t.status||201===t.status||400===t.status){var n=JSON.parse(t.response),a=n.error;n.shopJwt&&(document.cookie="ANP-SHOP-JWT="+n.shopJwt+"; path=/"),CreateRequestForCartGetApiCall().onload=function(){var t=JSON.parse(this.response).cart;e(t,a)}}},t}function CreateRequestForCartDeleteApiCall(e,t){var n=new XMLHttpRequest;return n.open("DELETE",window.intAPIBaseUrl+"/shop/carts/items/"+e,!0),(n=SetRequestHeaders(n)).onload=function(){if(200===n.status||201===n.status||400===n.status){var e=JSON.parse(n.response),a=e.error;e.shopJwt&&(document.cookie="ANP-SHOP-JWT="+e.shopJwt+"; path=/"),CreateRequestForCartGetApiCall().onload=function(){var e=JSON.parse(this.response).cart;t(e,a)}}},n}function CreateRequestForReorderApiCall(e,t){var n=new XMLHttpRequest,a=GetCookieByName("CMSShoppingCart");return n.open("PATCH",window.intAPIBaseUrl+"/shop/carts/"+a+"?orderId="+e,!0),(n=SetRequestHeaders(n)).onload=function(){if(200===n.status||206===n.status||400===n.status){var e=n.response?JSON.parse(n.response):null,a=200!==n.status&&{"error-message":"One or more of your items could not be added to your basket, please review before proceeding to checkout."},r=a&&e&&e.excludedOrderItems?e.excludedOrderItems.map(function(e){return e.productName}):[];CreateRequestForCartGetApiCall().onload=function(){var e=JSON.parse(this.response).cart;t(e,a,r)}}},n}function CreateRequestForCartGetApiCall(){var e=new XMLHttpRequest;return e.open("GET",window.intAPIBaseUrl+"/shop/carts",!0),(e=SetRequestHeaders(e)).send(),e}function RemoveFromCart(e,t){function n(){var t=CreateRequestForCartDeleteApiCall(e,function(t,n){if(n)RefreshCartTotals(t,n),RefreshCartItemValues(t,e,n);else{var a=document.getElementById(e+"amount"),r=parseInt(a?a.value:1);document.getElementById(e+"container").style.display="none",RefreshCartTotals(t),RefreshCartHeaderIcon(t.totalUnits),r<=0&&(r=1),GTAGARemoveFromCartPushGA4(e,r,null,t.totalItemsPrice)}ToggleLoadingAnimation(!1,e)});t.onerror=function(){ToggleLoadingAnimation(!1)},t.send()}ToggleLoadingAnimation(!0,e),window.apgigya&&GetCookieByName("CIAMCustomerToken")?window.apgigya.checkJWTExpiration(n):n()}function IncrementCart(e,t){var n=++LatestActionID;ToggleLoadingAnimation(!0,e),document.getElementById(e+"amount").value++,setTimeout(function(){CartDebounceHandler(n,e,t)},750)}function DecrementCart(e,t){var n=++LatestActionID;ToggleLoadingAnimation(!0,e),document.getElementById(e+"amount").value--,setTimeout(function(){CartDebounceHandler(n,e,t)},750)}function DoPhoneCartInsert(e){var t=document.getElementById("variant_id").value;t&&"true"===e.dataset.addToCartEnabled&&DoCartInsert(t,1,e)}var m58Opener=null;function DoCartInsert(e,t,n){var a=document.querySelector("#m58Container");if(!n||!n.classList.contains("bn--disabled")){var r=a&&a.contains(n),o=t>0;!r&&n&&(m58Opener=n);var i=null,s=-1;if(r&&n){var u=n.closest(".m58__product__item");if(u){var l=u.querySelector(".m58__product__text .m58__text");l&&(i={name:l.textContent.trim(),itemId:parseInt(e)});var c=Array.prototype.slice.call(document.querySelectorAll("#m58__products .m58__product__item"));s=c.indexOf(u)}}n.classList.add("bn--disabled"),a.querySelector("#cartPopupCheckoutButton").classList.add("bn--disabled"),null==t&&null!=document.getElementById("PDPamount")&&(t=document.getElementById("PDPamount").value),(""===t||null==t||isNaN(t))&&(t=1),window.apgigya&&GetCookieByName("CIAMCustomerToken")?window.apgigya.checkJWTExpiration(d):d()}function d(){var u=CreateRequestForCartPostApiCall(function(t,u){if(a.classList.add("m58--open"),RefreshCartPopup(t,u,e),RefreshCartHeaderIcon(t.totalUnits),!u){var l=document.getElementById("m58__announcer"),c=t.cartItems.find(function(t){return t.itemId===parseInt(e)});c?(o?GTAGAddToCartPush(c,c.quantity,t.totalItemsPrice):GTAGARemoveFromCartPushGA4(e,c.quantity,c,t.totalItemsPrice),l&&(l.textContent=m58Text("quantity-updated",{product:c.name,qty:c.quantity}))):o||(GTAGARemoveFromCartPushGA4(e,1,i,t.totalItemsPrice),l&&(l.textContent=m58Text("item-removed",{product:i&&i.name?i.name:"Item"})))}if(!u)if(0===t.cartItems.length){a.classList.remove("m58--open");
1var d=m58Opener&&"function"==typeof m58Opener.focus?m58Opener:document.querySelector(".js-open-basket");if(d&&"function"==typeof d.focus){var m=d.getAttribute("aria-label"),p=m||(d.textContent||"").trim();d.setAttribute("aria-label",(m58Text("basket-empty")+" "+p).trim()),d.addEventListener("blur",function e(){null===m?d.removeAttribute("aria-label"):d.setAttribute("aria-label",m),d.removeEventListener("blur",e)}),d.focus()}}else if(r){var y=document.getElementById("quantity-"+e);if(y){var g=y.parentNode,_=o?g.querySelector(".input-number-increment"):g.querySelector(".input-number-decrement:not([disabled])");_||(_=g.querySelector(".input-number-increment")),_&&_.focus()}else{var v=document.querySelectorAll("#m58__products .m58__product__item"),I=null;if(v.length>0)I=v[s>=0&&s<v.length?s:v.length-1].querySelector(".input-number-decrement, .input-number-increment, button, a");I||(I=a.querySelector("#cartPopupCheckoutButton")||a.querySelector("button, a")),I&&I.focus()}}else a.querySelector("button, a").focus();n.classList.remove("bn--disabled"),a.querySelector("#cartPopupCheckoutButton").classList.remove("bn--disabled")});u.onerror=function(){alert("Encountered Error contacting Cart Service"),n.classList.remove("bn--disabled"),a.querySelector("#cartPopupCheckoutButton").classList.remove("bn--disabled")},u.send(JSON.stringify({itemId:e,quantity:t}))}}function DoOnKeyUpUpdate(e,t){""==t&&(t=1);var n=document.getElementById("hdnPreviousValue"+e).value;document.getElementById("hdnPreviousValue"+e).value=t,parseInt(t)<=0?RemoveFromCart(e,n):DoCartUpdate(e,n,t)}function DoCartUpdate(e,t,n){n>=0&&ToggleLoadingAnimation(!0,e),null==n&&(n=document.getElementById(e+"amount").value),""===n&&(n=1);var a=parseInt(n)-parseInt(t);function r(){var r=CreateRequestForCartPostApiCall(function(r,o){var i=r.cartItems.find(function(t){return t.itemId===parseInt(e)});if(n>0&&!o)RefreshCartTotals(r),RefreshCartHeaderIcon(r.totalUnits),RefreshCartItemValues(r.cartItems,e),0!=a&&(document.getElementById("hdnPreviousValue"+e).value=n,t<n?GTAGAddToCartPush(i,a,r.totalItemsPrice):t>n&>AGARemoveFromCartPushGA4(e,a,null,r.totalItemsPrice));else if(o)RefreshCartTotals(r,o),RefreshCartItemValues(r,e,o);else if(n<=0){var s=1;null!=document.getElementById(e+"amount")&&(s=document.getElementById(e+"amount").value),document.getElementById(e+"container").style.display="none",RefreshCartTotals(r),RefreshCartHeaderIcon(r.totalUnits),s<=0&&(s=1),GTAGARemoveFromCartPushGA4(e,s,null,r.totalItemsPrice)}ToggleLoadingAnimation(!1,e)});r.onerror=function(){ToggleLoadingAnimation(!1)},r.send(JSON.stringify({itemId:e,quantity:a}))}window.apgigya&&GetCookieByName("CIAMCustomerToken")?window.apgigya.checkJWTExpiration(r):r()}function ReorderItems(e,t){var n=document.querySelector("#m58Container");n&&window.apgigya.checkJWTExpiration(function(){var a=CreateRequestForReorderApiCall(e,function(e,a,r){n.classList.add("m58--open"),RefreshCartPopup(e,a),RefreshCartHeaderIcon(e.totalUnits),n.querySelector("button, a").focus(),n.querySelector("#cartPopupCheckoutButton").classList.remove("bn--disabled");var o=t.filter(function(e){return-1===r.indexOf(e.productName)}).map(function(t){var n=e.cartItems.find(function(e){return e.itemId===t.productId});return{name:t.productName,itemId:t.productId,unitPrice:t.rrpPrice,category:n.category,quantity:t.quantity}});o.length>0&>AGAddToCartPushGA4(o)});a.onerror=function(){alert("Encountered Error contacting Cart Service"),n.querySelector("#cartPopupCheckoutButton").classList.remove("bn--disabled")},a.send()})}function handlePopupQtyInput(e){if(!e.classList.contains("bn--disabled")){var t=e.getAttribute("data-item-id"),n=parseInt(e.getAttribute("data-current-qty")),a=parseInt(e.value);if(isNaN(a)||a<0||a>1e3)e.value=n;else{var r=a-n;0!==r&&DoCartInsert(t,r,e)}}}function initCartPopup(){var e=document.getElementById("m58Container");e&&(e.addEventListener("click",function(e){e.stopPropagation()}),e.addEventListener("focusout",function(e){e.target.classList.contains("input-number")&&handlePopupQtyInput(e.target)}),e.addEventListener("keydown",function(e){e.target.classList.contains("input-number")&&"Enter"===e.key&&(e.preventDefault(),handlePopupQtyInput(e.target))}))}function RefreshCartPopup(e,t,n){var a=document.getElementById("m58__products"),r=document.getElementById("cartPopupTotal"),o=document.getElementById("cartPopupErrorMessage"),i=document.querySelector("#cartPopupSavings");a.innerHTML="",e.cartItems.map(function(e){insertProduct(e,n)}),o.innerText="",t&&setTimeout(function(){o.innerText=t["error-message"],o.focus()},50),r.innerText="Total: "+e.totalPrice,e.totalItemsSavings&&e.totalItemsSavings>0?i?i.innerText="Save: â¬"+e.totalItemsSavings.toFixed(2):r.insertAdjacentHTML("afterend","<span id='cartPopupSavings' class='h5'>Save: â¬"+e.totalItemsSavings.toFixed(2)+"</span>"):i&&i.parentNode.removeChild(i);var s=document.getElementById("cartPopupCheckoutButton");e.totalItemsPrice<0||e.totalItemsPrice>5e3?s.className="bn bn--primary gtm-cta bn--disabled":s.className="bn bn--primary gtm-cta"}function ClearMaxWorthErrors(){for(var e=document.querySelectorAll(".s05__price--error-block"),t=0;t<e.length;t++){var n=e[t].querySelector(".s05__price--error-message-text");n&&n.innerText.includes("you cannot checkout more than")&&(e[t].style.display="none",n.style.display="none",n.innerText="")}}
1function RefreshCartItemValues(e,t,n){var a=document.getElementById(t+"errorMessageInner"),r=document.getElementById(t+"errorMessage");if(n)a&&(a.innerText=n["error-message"],a.style.display="block"),r&&(r.style.display="block");else{var o=parseInt(t),i=e.reduce(function(e,t){return t.itemId===o?e+t.unitPrice*t.quantity:e},0),s=Math.round(100*i)/100,u=new Intl.NumberFormat("en-IE",{style:"currency",currency:"EUR"}).format(s),l=document.querySelectorAll("[data-itemTotal='"+t+"itemTotal']");a&&(a.innerText="",a.style.display="none"),r&&(r.style.display="none"),ClearMaxWorthErrors();for(var c=0;c<l.length;c++)l[c].innerText=u}}function RefreshCartHeaderIcon(e){for(var t=document.querySelectorAll(".header__basket__circle"),n=document.querySelectorAll(".header__basket__number"),a=document.querySelectorAll(".js-shop-basket-number"),r=document.querySelectorAll(".js-clickpost-basket-number"),o=document.querySelectorAll(".js-directmail-basket-number"),i=r.length?parseInt(r[0].innerHTML):0,s=o.length?parseInt(o[0].innerHTML):0,u=0;u<t.length;u++)parseInt(e)<=0&&0===i&&0===s?(t[u].style.display="none",n[u].style.display="none"):(a.length&&(parseInt(e)<=0?a[u].style.display="none":(a[u].style.display="inline-block",a[u].innerHTML=parseInt(e))),i>0||s>0?n[u].innerHTML=parseInt(e)+i+s:(t[u].style.display="block",n[u].style.display="block",n[u].innerHTML=e))}function RefreshCartTotals(e,t){var n=document.getElementById("totalSavings");null!=document.getElementById("grandTotal")&&(document.getElementById("grandTotal").innerText=e.totalPrice),null!=document.getElementById("shippingTotal")&&(document.getElementById("shippingTotal").innerText=e.shippingPrice),null!=document.getElementById("subTotal")&&(document.getElementById("subTotal").innerText=e.subtotalPrice),null!=document.getElementById("discountTotal")&&(document.getElementById("discountTotal").innerText=e.discountPrice),e.totalItemsSavings<=0?n&&n.parentNode.remove():n&&(n.innerText="â¬"+e.totalItemsSavings.toFixed(2));var a=document.getElementById("checkoutLink"),r=document.querySelector(".s05__guest-buttons"),o=document.getElementById("cartEmptyMessage"),i=document.getElementById("discountSection"),s=document.querySelector(".s05__aside"),u=document.getElementById("belowMinPriceError"),l=e.cartItems,c=l.some(function(e){return"mobile"===e.category&&e.name.toLowerCase().includes("replacement")&&0===e.unitPrice});if(null!=o&&null!=a)if(a.className="bn bn--primary gtm-cta",r&&(r.className="s05__guest-buttons"),0===l.length)o.style.display="block",a.classList.add("bn--disabled"),s.style.display="none",u&&(u.style.display="none"),i&&(i.style.display="none");else{o.style.display="none",s.style.display="block",i&&(i.style.display="block");for(var d=0;d<l.length;d++){var m=l[d],p=document.getElementById(m.itemId+"amount"),y=document.getElementById("hdnPreviousValue"+m.itemId);p&&p.value&&(p.value=m.quantity),y&&(y.value=m.quantity)}e.totalItemsPrice<2&&!c?(u&&(u.style.display="block"),r&&(r.className="s05__guest-buttons s05__guest-buttons--disabled"),a.classList.add("bn--disabled")):(u&&(u.style.display="none"),r&&(r.className="s05__guest-buttons"),t||a.classList.remove("bn--disabled"))}}function escapeHtml(e){return String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function createCartItemHtml(e,t){var n=escapeHtml(e.name),a=escapeHtml(e.imagePath.replace("~","")+"?width=55"),r=`quantity-${e.itemId}`,o=e.itemId===parseInt(t),i=!t,s=e.quantity<=1,u=e.retailPrice>e.unitPrice?`<div class="m58__product__item__price m58__product__item__price--savings">\n <p class="m58__text">â¬${e.retailPrice.toFixed(2)}</p>\n <p class="m58__text">â¬${e.unitPrice.toFixed(2)}</p>\n </div>`:`<div class="m58__product__item__price">\n <p class="m58__text">â¬${e.unitPrice.toFixed(2)}</p>\n </div>`;return`<div class="m58__product__item${o?" m58__product__item--new":""}${i?" m58__product__item--reorder":""}">\n <div class="m58__product__desc">\n <div class="m58__product__image">\n <img src="${a}" alt="${n}" />\n </div>\n <div class="m58__product__text">\n <p class="m58__text">${n}</p>\n </div>\n </div>\n <div class="m58__product__price">\n <div class="m58__product__item__quant">\n <div class="number-input m58__number-input">\n <div class="input-group input-number-group">\n <div class="input-group-button">\n <button type="button"\n class="input-number-decrement"\n aria-label="${s?m58Text("remove-item",{product:n}):m58Text("decrease-qty",{product:n,qty:e.quantity})}"\n onclick="event.stopPropagation();DoCartInsert(${e.itemId}, -1, this)">-</button>\n </div>\n <input class="input-number" type="number"\n id="${r}" name="${r}"\n value="${e.quantity}" min="0" max="1000"\n aria-label="${m58Text("quantity-label",{product:n})}
1"\n data-item-id="${e.itemId}"\n data-current-qty="${e.quantity}">\n <div class="input-group-button">\n <button type="button"\n class="input-number-increment"\n aria-label="${m58Text("increase-qty",{product:n,qty:e.quantity})}"\n onclick="event.stopPropagation();DoCartInsert(${e.itemId}, 1, this)">+</button>\n </div>\n </div>\n </div>\n </div>\n <div class="m58__product__item__price-wrapper">\n ${u}\n </div>\n </div>\n </div>`}function insertProduct(e,t){var n=createCartItemHtml(e,t);document.getElementById("m58__products").insertAdjacentHTML("beforeend",n)}function CartDebounceHandler(e,t,n){var a=parseInt(document.getElementById(t+"amount").value);e===LatestActionID&&(a<=0?RemoveFromCart(t,n):DoCartUpdate(t,n,null))}function ToggleLoadingAnimation(e,t){if(!document.querySelector("#m58Container.m58--open")){var n=document.querySelector(".loader-wrapper");if(n){n.style.display=e?"flex":"none";var a=document.querySelectorAll("[data-itemTotal='"+t+"itemTotal']");if(e){for(var r=0;r<a.length;r++)a[r].className="s05__aside__desc--loading";document.getElementById("grandTotal").className="s05__aside__desc--loading",document.getElementById("shippingTotal").className="s05__aside__desc--loading",document.getElementById("subTotal").className="s05__aside__desc--loading",null!=document.getElementById("discountTotal")&&(document.getElementById("discountTotal").className="s05__aside__desc--loading"),null!=document.getElementById("totalSavings")&&(document.getElementById("totalSavings").className="s05__aside__desc--loading"),document.getElementById("checkoutLink").className="bn bn--primary gtm-cta bn--disabled",null!==document.querySelector(".s05__guest-buttons")&&(document.querySelector(".s05__guest-buttons").className="s05__guest-buttons s05__guest-buttons--disabled")}else{for(r=0;r<a.length;r++)a[r].className="";document.getElementById("grandTotal").className="",document.getElementById("shippingTotal").className="",document.getElementById("subTotal").className="",null!=document.getElementById("discountTotal")&&(document.getElementById("discountTotal").className=""),null!=document.getElementById("totalSavings")&&(document.getElementById("totalSavings").className="")}}}}var GAproductslist=[];function GTAGAddToCartPush(e,t,n){var a=Object.assign({},e);a.quantity=t,GTAGAddToCartPushGA4([a],n)}function GTAGAddToCartPushGA4(e,t){var n=e.map(function(e,t){return{item_name:e.name,item_id:e.itemId,price:e.unitPrice,item_brand:"An Post",item_category:e.category,item_category2:window.isSimPlan||window.isSimReplacement?"mobile":"",item_category3:window.isSimPlan?"SIM":window.isSimReplacement?"SIM replacement":"",item_variant:"",item_list_name:"",item_list_id:"",index:t+1,quantity:e.quantity,mobileType:e.category}}),a={loggedInPageView:window.dataLayer[0].loggedInPageView,webview:window.dataLayer[1].webview,event:"add_to_cart",basketTotal:t,ecommerce:{currency:"EUR",items:n}};dataLayer.push(a)}function GTAGARemoveFromCartPushGA4(e,t,n,a){var r;if(n)r={name:n.name,id:n.itemId,price:n.unitPrice,category:n.category};else{var o=window.cartitems;if(!o)return;if(!(r=o.find(function(t){return parseInt(t.id)===parseInt(e)})))return}var i={loggedInPageView:window.dataLayer[0].loggedInPageView,webview:window.dataLayer[1].webview,event:"remove_from_cart",basketTotal:a,ecommerce:{currency:"EUR",items:[{item_name:r.name,item_id:parseInt(r.id),price:r.price,item_brand:"An Post",item_category:r.category,item_category2:"",item_category3:"",item_variant:"",item_list_name:"",item_list_id:"",index:1,quantity:t,mobileType:r.category}]}};dataLayer.push(i)}function productClick(e,t){productClickGA4(e,t)}function productClickGA4(e,t){var n={loggedInPageView:window.dataLayer[0].loggedInPageView,webview:window.dataLayer[1].webview,event:"select_item",ecommerce:{items:[{item_name:e.name,item_id:e.id,price:e.price,item_brand:"An Post",item_category:e.category,item_category2:"",item_category3:"",item_variant:"",item_list_name:t,item_list_id:"",index:1,quantity:e.quantity,mobileType:e.type}]}};dataLayer.push(n)}function productImpressions(){dataLayer.push({ecommerce:{currencyCode:"EUR",impressions:GAproductslist}})}document.addEventListener("DOMContentLoaded",initCartPopup);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.