YOU HAVE ${tierObj.tier_values[km-1]}%off spend ${ globalFields.formatMoney((tierObj.tier_min[km] - EligibleSubtotal)*100 , globalFields.amount) } for ${tierObj.tier_values[km]}% off
YOU HAVE ${tierObj.tier_values[km-1]}%off spend ${ globalFields.formatMoney((tierObj.tier_min[km] - EligibleSubtotal)*100 , globalFields.amount) } for ${tierObj.tier_values[km]}% off
YOU HAVE ${tierObj.tier_values[km-1]}% off spend ${ globalFields.formatMoney((tierObj.tier_min[km] - EligibleSubtotal)*100 , globalFields.amount) } for ${tierObj.tier_values[km]}% off
YOU HAVE ${tierObj.tier_values[km-1]}% off spend ${ globalFields.formatMoney((tierObj.tier_min[km] - EligibleSubtotal)*100 , globalFields.amount) } for ${tierObj.tier_values[km]}% off
`)
}
}
}
}
break;
}
}
if(globalFieldsCartPage_AC.cartObj.item_count == 0 ){
$('.anncode_Message').remove();
}
// END ENCOURAGE MESSAGE HERE
if (!calculatedTier[3]) {
for (k = 0; k < globalFieldsCartPage_AC.cartTiersArray.length; k++) {
var item = globalFieldsCartPage_AC.cartTiersArray[k];
actualTotalPrice += globalFields.ConvertToFixedDecimalNumber(item.item.original_line_price / 100);
if (!item.is_exclude) {
variantIdsToSend.push(item.item.variant_id);
}
if (tierObj.discount_type == 'percentage') {
var rslt = CalculateTier(item.item, calculatedTier[2], tierObj, isUpdate, k);
}
}
minimumDiscountSubtotal = actualTotalPrice;
updatedTotalPrice = actualTotalPrice - calculatedTier[5];
UpdateCartSubtotal(isUpdate, globalFields.ConvertToFixedDecimalNumber(updatedTotalPrice), globalFields.ConvertToFixedDecimalNumber(actualTotalPrice));
priceDiff = calculatedTier[5];
UpdateSavingMessage(isUpdate,actualTotalPrice);
}
}
}
var CalculateTierCartSubTotal = function (tiers, is_quantity_total, isNotInRange) {
var eligibleItems = jQuery.grep(globalFieldsCartPage_AC.cartTiersArray, function (n) { return !n.is_exclude; });
var allVariantItemQty = 0;
var eligibleSubtotal = 0;
var discount_total = 0;
for (j = 0; j < eligibleItems.length; j++) {
allVariantItemQty += eligibleItems[j].item.quantity;
eligibleSubtotal += globalFields.ConvertToFixedDecimalNumber((eligibleItems[j].item.original_price * eligibleItems[j].item.quantity) / 100);
}
var tierPrice = 0, minTier = 0, maxTier = '';
for (i = 0; i < tiers.tier_min.length; i++) {
tierPrice = parseFloat(tiers.tier_values[i]);
minTier = parseInt(tiers.tier_min[i]), maxTier = tiers.tier_max[i] != 'max' ? parseInt(tiers.tier_max[i]) : tiers.tier_max[i];
var condition1 = false, condition2 = false;
if (is_quantity_total) {
condition1 = allVariantItemQty >= minTier;
condition2 = maxTier == "max" || allVariantItemQty <= maxTier;
} else {
condition1 = eligibleSubtotal >= minTier;
condition2 = maxTier == "max" || eligibleSubtotal <= maxTier;
}
if (condition1 && condition2) {
isNotInRange = false;
if (tiers.discount_type == 'percentage') {
discount_total = parseFloat(globalFields.ConvertToFixedDecimalNumber((parseFloat(tierPrice) / 100) * globalFields.ConvertToFixedDecimalNumber(eligibleSubtotal)));
}
else if (tiers.discount_type == 'fixed') {
discount_total = globalFields.ConvertToFixedDecimalNumber(parseFloat(tierPrice));
}
break;
}
}
return [minTier, maxTier, tierPrice, isNotInRange, eligibleSubtotal, discount_total];
}
var CalculateTier = function (item, tierPrice, itemTiers, isUpdate, index) {
var updatedItemPrice = 0, updatedLinePrice = 0;
if (itemTiers.discount_type == 'percentage') {
var originalPriceCut = parseFloat(globalFields.ConvertToFixedDecimalNumber((parseFloat(tierPrice) / 100) * globalFields.ConvertToFixedDecimalNumber(item.original_price / 100)));
updatedItemPrice = globalFields.ConvertToFixedDecimalNumber(globalFields.ConvertToFixedDecimalNumber(item.original_price / 100) - originalPriceCut);
}
//else if (itemTiers.discount_type == 'fixed') {
// updatedItemPrice = globalFields.ConvertToFixedDecimalNumber(globalFields.ConvertToFixedDecimalNumber(item.original_price / 100) - parseFloat(tierPrice));
//}
if (updatedItemPrice < 0) { updatedItemPrice = 0; }
updatedLinePrice = globalFields.ConvertToFixedDecimalNumber(updatedItemPrice * item.quantity);
UpdateCartItem(item, updatedItemPrice, updatedLinePrice, isUpdate, index);
}
var DiscountCodeCookie = function (discount_code) {
$.ajax({
type: "HEAD", url: "/discount/" + discount_code,
success: function (_result) { },
error: function (e) { console.log(e.statusText); }
})
}
var FetchCartTiers = function () {
jQuery.ajax({
async: false,
url: "/cart/?view=ac_cart_subtotal_tiers",
success: function (result) {
globalFieldsCartPage_AC.cartTiersArray = JSON.parse(result);
TieredPricingCart(globalFieldsCartPage_AC.cartObj, true);
// CheckoutClickAjax();
},
error: function (e) { console.log(e.statusText); }
});
}
jQuery(document).ajaxComplete(function (event, xhr, settings) {
ProcessCartResponse(settings.url, xhr.responseText);
});
var ProcessCartResponse = function (splittedUrl, responseText) {
if (splittedUrl != 'undefined' && splittedUrl != "" && splittedUrl != null) {
splittedUrl = splittedUrl.split("?");
if (splittedUrl[0] == "/cart.js" || splittedUrl[0] == "/cart/change.js") {
globalFieldsCartPage_AC.cartObj = JSON.parse(responseText);
setTimeout(function () {
FetchCartTiers();
}, 1000);
}
}
}
try {
var nativeFetch = window.fetch;
var isUpdatingCart = false;
window.fetch = function (...args) {
try {
if (typeof args[0] === 'string' && (args[0].includes("/cart/change") || args[0].includes("/cart/add"))) {
if (!isUpdatingCart) {
isUpdatingCart = true;
setTimeout(async function () {
fetch('/cart.js')
.then(r => r.json().then(data => ({ status: r.status, body: data })))
.then(obj => ProcessCartResponse("/cart.js", JSON.stringify(obj.body)));
await setDateTimeInCart();
isUpdatingCart = false;
}, 800);
}
}
} catch (err) {
console.error("Error in intercepting fetch:", err);
}
return nativeFetch.apply(window, args);
}
} catch (e) {
console.error("Error in overriding fetch:", e);
}
var CheckoutClickAjaxPopUp = function () {
jQuery('.quantity-popover-container button[name="minus"],.quantity-popover-container button[name="plus"]').click(function (e) {
setTimeout(function () {
FetchCartTiers();
}, 1800);
});
}
async function setDateTimeInCart() {
try {
const response = await fetch('/cart/update.js', {
method: "POST",
headers: {
'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/json'
},
body: JSON.stringify({
attributes: {
Discountly_dateTime: `${globalFields.Storetime()},${Shopify.shop}`
}
})
});
if (!response.ok) {
throw new Error(`Error: ${response.statusText}`);
}
const data = await response.json();
// console.log('Cart updated successfully:', data);
} catch (error) {
// console.error('Failed to update cart:', error);
}
}
// Add event listener for page load to update the cart attribute
window.addEventListener('load', async () => {
await setDateTimeInCart();
});
jQuery('.cart__footer .discounts__discount').remove();
jQuery(' .discounts__discount.discounts__discount--end').remove()
var SetCookie = function (cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); var expires = "expires=" + d.toUTCString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; }
TieredPricingCart(globalFieldsCartPage_AC.cartObj, true); CheckoutClickCart(); CheckoutClickAjax();CheckoutClickAjaxPopUp();
}
var globalFieldsCartPage_AC = new ACDiscountApp.CartPage.Global(); var cartObject = new ACDiscountApp.CartPage.Show_CalculateTier();