{"version":3,"sources":["addtocart.ts","main.ts","product.ts","quickcart.ts"],"names":["AddToCart","_ref","promoProps","elementIDs","itemProps","invtProps","_classCallCheck","this","OCForm1","document","querySelector","_objectSpread","addToCartBtn","subscribeBtn","productSubAddToCartBtn","productSubSubscribeBtn","addToBagBtn","addToBagBtnSub","addOnProductID","_createClass","key","value","name","productIndex","triggerElement","CommonUtils","showLoader","justAddedArray","productIDFields","elements","mainExtensionIndices","ajaxObj","XMLHttpRequest","errorCount","justAddedItemID","justAddedInvtID","justAddedExtensionCode","justAddedExtension","justAddedExtensionGroup","justAddedQuantity","ajaxParamItemID","ajaxParamQuantity","ajaxParamProductIDExtensionGroups","ajaxParamExtensions","undefined","length","checked","Number","isInteger","parseFloat","toString","isNaN","productObj","getProductID","indexOf","stkItem","invtIDQtyAvail","qtyAvail","alert","domParentSelect","selectIndex","ajaxParams","ajaxResults","mainExtensionGroupArray","split","extensionValue","i","getElementById","concat","selectedIndex","options","push","text","itemID","invtID","descr","Name","image","Thumb","extensionGroup","extension","price","listprice","listPrice","points","listpoints","listPoints","qty","promoType","toUpperCase","j","bogoPairs","toLowerCase","mainSku","subSku","gwpSku","replace","freeGiftRemarkCopy","gwpProps","hasGwpInCart","sku","imgPath","innerHTML","bannerCopy","showElement","hideElement","checkValidity","mainItemID","addOnExtensionGroupArray","extensionGroupIndex","p","itemsObj","addOn","hasOwnProperty","k","Override","mainExt","addOnExt","addOnExtTxt","encodeURIComponent","open","setRequestHeader","send","onreadystatechange","readyState","responseText","exec","hideLoader","quickCartObj","updateQuickCart","$","data","location","reload","_this","subsItemIndex","collectionPItemCount","continueShoppingBtn","_loop","collectionAddToCartBtn","collectionAddToCartBtnPrefix","on","ajaxAddToCart","addToBag","quantity","_loop2","addEventListener","parseInt","_i2","addToCartObj","classOptions","doExtensionChange","tmpItemID","groundShipIDs","InstockOverride","stockMessage","addOnPrice","addOnListPrice","Instock","addOnPoints","addOnListPoints","elementIndex","productIDs","productID","addOnElementIndex","tmpInvtID","doGetStockMessage","e","getPrice","toUSD","formatPoints","checkAddOnStock","jQuery","bindElementHandlers","Product","stockMessages","enablePayByPoints","priceViewCookieName","type","returnValue","Math","round","status","cookieValue","getCookie","reOrdQty","reOrdQtyOverride","customInStockMessage","inStock","showHideATC","outOfStock","lowStock","tmpExtValue","addOnInvID","addOnExtGroups","tmpExtGroups","addOnExtensionOptionsLength","stkItemAddOn","stockAddOnInvtID","qtyAvailAddOn","style","visibility","tmpExtensions","indexValue","QuickCart","lightboxProps","cartItems","hasSubInCartNote","lightboxCart","lbSumQty","lbCashSubtotal","lbPointsSubtotal","lbItemContainerPrefix","lbImagePrefix","lbProdNamePrefix","lbCurrentPricePrefix","lbCurrentPointsPrefix","lbListPricePrefix","lbListPointsPrefix","lbExtPrefix","lbQtyPrefix","headerCart","cartSumQty","labelAux","bubbleCnt","DIVitemHead","DIVcartSumItemsList","DIVNoItem","ulMarkupDIVcartSumItemsList","hdCashSubtotal","hdPointsSubtotal","hdPointsSubtotalDiscount","hdQtyClass","hdItemDescrClass","hdCashClass","hdPointsClass","get","set","newCartItems","ct","htmlString","lbItemWrapUl","lbItemWrapAfterUl","html","sumCartQty","dsItemRowCount","getXMLDataTableRowCount","getXMLDataFieldValue","show","populateItemUl","numItemContainer","lbItemContainer","lbItemImage","lbItemName","lbItemCurrentPrice","lbItemCurrentPoints","lbItemListPrice","lbItemListPoints","lbItemQty","attr","tmpExtNameArray","x","maxNumExtenionPerItem","removeAttr","priceViewConfig","propsDisablePoints","hasSubInCart","hide","SalesforceAbandonedCartUtils","addCartOrOrderData","item","salePrice","uniqueId","formatCurrency","trackCart","trackATC","append","currentBasketID","dsBasketExtensionsCount","sumProdName","ItemDescrString","be","lbSumQtyString","firstItemOfItemsAddedToTheCart","includes","getBMSMTotals","HAHAccessibility","trapFocus","container","closeElement","additionalCloseElements","tablistUpdateElements","triggerHTMLElement","toggledView","getPromoValue","cartViewAdobeLaunch","cartProductsAW","addToCartGA4","dsItemExtensionCount","dsItemExtension","tmpIndex","basketID","sortIndex","extensionName","tmpVariant","GA4Obj","matchedItem","_cartItems","find","altID","addedQty","addedCategory","newQty","addedCategoryID","invtIDCategory","tempItemID","categoryName","categoryID","alternateID","category","parseXMLData","matchedItemExtension","filter","elem","sort","a","b","map","join","item_name","item_id","affiliation","discount","toFixed","subscription","item_brand","item_category","index","item_list_id","item_list_name","Object","keys","localStorage","filteredArray","JSON","parse","stringify","id","google_business_vertical","mainItem","totalValueAddToCart","reduce","total","dataLayer","ecommerce","event","currency","items","event_value","event_items","cartView","products","totalCost","currencyCode"],"mappings":"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","file":"../product.min.js","sourcesContent":["/******** cart.js ********/\n\n/******* AddToCart *******/\nclass AddToCart implements AddToCartInterface {\n\tOCForm1: HTMLFormElement\n\tpromoProps: PromoProps\n\telementIDs: ElementIDs\n\titemProps: ItemProps\n\tinvtProps: InvtProps\n\n\tconstructor({\n\t\tpromoProps,\n\t\telementIDs,\n\t\titemProps,\n\t\tinvtProps\n\t}) {\n\t\tthis.OCForm1 = document.querySelector('#OCForm1')\n\t\tconst defaultElementIds = {\n\t\t\taddToCartBtn: '#addToCartBtn',\n\t\t\tsubscribeBtn: '#subscribeBtn',\n\t\t\tproductSubAddToCartBtn: '#productSubAddToCartBtn',\n\t\t\tproductSubSubscribeBtn: '#productSubSubscribeBtn',\n\t\t\taddToBagBtn: '#addToBagBtn',\n\t\t\taddToBagBtnSub: '#addToBagBtnSub',\n\t\t\taddOnProductID: 'addOnProductID'\n\t\t}\n\t\tthis.promoProps = promoProps || {}\n\t\tthis.elementIDs = {\n\t\t\t...defaultElementIds,\n\t\t\t...elementIDs\n\t\t}\n\t\tthis.itemProps = itemProps || {}\n\t\tthis.invtProps = invtProps || {}\n\t}\n\n\tgetPromoValue(name: string): void {\n\t\treturn this.promoProps[name]\n\t}\n\n\tsetPromoValue(name: string, value: string): void {\n\t\tthis.promoProps[name] = value\n\t}\n\n\tajaxAddToCart(productIndex: number, triggerElement?: HTMLElement): void {\n\t\tCommonUtils.showLoader()\n\t\t\n\t\tconst justAddedArray = []\n\t\tconst productIDFields = this.OCForm1.elements['productID']\n\t\tconst mainExtensionIndices = []\n\t\tconst ajaxObj = new XMLHttpRequest()\n\t\tlet errorCount = 0\n\t\tlet justAddedItemID = ''\n\t\tlet justAddedInvtID = ''\n\t\tlet justAddedExtensionCode = ''\n\t\tlet justAddedExtension = ''\n\t\tlet justAddedExtensionGroup = ''\n\t\tlet justAddedPrice = 0\n\t\tlet justAddedListPrice = 0\n\t\tlet justAddedPoints = 0\n\t\tlet justAddedListPoints = 0\n\t\tlet justAddedQuantity = 0\n\t\tlet ajaxParamItemID = ''\n\t\tlet ajaxParamQuantity = ''\n\t\tlet ajaxParamProductIDExtensionGroups = ''\n\t\tlet ajaxParamExtensions = ''\n\t\tlet invtIDQtyAvail = 0\n\t\tif (productIDFields.length !== undefined) {\n\t\t\tif (productIDFields.length > 2 && productIndex === 1 && productIDFields[(productIndex + 1)].checked) {\n\t\t\t\tjustAddedItemID = productIDFields[2].value\n\t\t\t\tjustAddedQuantity = this.OCForm1.elements['quantity'][2].value\n\t\t\t\tajaxParamProductIDExtensionGroups = this.OCForm1.elements['productIDExtensionGroups'][2].value\n\t\t\t} else {\n\t\t\t\tjustAddedItemID = productIDFields[productIndex].value\n\t\t\t\tjustAddedQuantity = this.OCForm1.elements['quantity'][productIndex].value\n\t\t\t\tajaxParamProductIDExtensionGroups = this.OCForm1.elements['productIDExtensionGroups'][productIndex].value\n\t\t\t}\n\t\t} else {\n\t\t\tjustAddedItemID = productIDFields.value\n\t\t\tjustAddedQuantity = this.OCForm1.elements['quantity'].value\n\t\t\tajaxParamProductIDExtensionGroups = this.OCForm1.elements['productIDExtensionGroups'].value\n\t\t}\n\t\tif (justAddedQuantity === 0 || justAddedQuantity > 99 || !Number.isInteger(parseFloat(justAddedQuantity.toString())) || isNaN(Number(justAddedQuantity))) {\n\t\t\terrorCount++\n\t\t}\n\t\tjustAddedInvtID = productObj.getProductID(justAddedItemID, productIndex)\n\t\tif (justAddedInvtID.indexOf('SELECT') > -1) {\n\t\t\terrorCount++\n\t\t} else {\n\t\t\tconst stkItem = this.invtProps[justAddedInvtID].stkItem || 0\n\t\t\tconst invtIDQtyAvail = this.invtProps[justAddedInvtID].qtyAvail || 0\n\t\t\tif (stkItem != 0 && invtIDQtyAvail <= 0) {\n\t\t\t\terrorCount++\n\t\t\t\talert('Sold out! Please select another option.')\n\t\t\t}\n\t\t}\n\t\tif (errorCount === 0) {\n\t\t\tlet mainExtensionGroupArray = ajaxParamProductIDExtensionGroups.split(';')\n\t\t\tlet extensionValue = ''\n\t\t\tfor (let i = 0; i < mainExtensionGroupArray.length; i++) {\n\t\t\t\tif (mainExtensionGroupArray[i] !== '') {\n\t\t\t\t\tlet domParentSelect: any = document.getElementById(`${justAddedItemID}${mainExtensionGroupArray[i]}`)\n\t\t\t\t\tlet selectIndex = domParentSelect.selectedIndex\n\t\t\t\t\textensionValue = domParentSelect.options[selectIndex].value\n\t\t\t\t\tif (extensionValue !== '') {\n\t\t\t\t\t\tmainExtensionIndices.push(selectIndex)\n\t\t\t\t\t\tajaxParamExtensions += `&${justAddedItemID}${mainExtensionGroupArray[i]}=${extensionValue}`\n\t\t\t\t\t\tjustAddedExtensionGroup += `${domParentSelect.options[0].text};`\n\t\t\t\t\t\tjustAddedExtension += `${domParentSelect.options[selectIndex].text};`\n\t\t\t\t\t\tjustAddedExtensionCode += (document.getElementById(justAddedItemID + mainExtensionGroupArray[i])).options[(document.getElementById(justAddedItemID + mainExtensionGroupArray[i])).options.selectedIndex].value\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tjustAddedArray.push({\n\t\t\t\titemID: justAddedItemID,\n\t\t\t\tinvtID: justAddedInvtID,\n\t\t\t\tdescr: this.itemProps[justAddedItemID].Name,\n\t\t\t\timage: this.itemProps[justAddedItemID].Thumb,\n\t\t\t\textensionGroup: justAddedExtensionGroup,\n\t\t\t\textension: justAddedExtension,\n\t\t\t\tprice: `${this.invtProps[justAddedInvtID].price}`,\n\t\t\t\tlistprice: `${this.invtProps[justAddedInvtID].listPrice}`,\n\t\t\t\tpoints: `${this.invtProps[justAddedInvtID].points}`,\n\t\t\t\tlistpoints: `${this.invtProps[justAddedInvtID].listPoints}`,\n\t\t\t\tqty: justAddedQuantity\n\t\t\t})\n\t\t\tajaxParamItemID = justAddedItemID\n\t\t\tajaxParamQuantity = justAddedQuantity.toString()\n\t\t\tif (this.promoProps.promoType !== undefined && this.promoProps.promoType.toUpperCase() === 'BOGO') {\n\t\t\t\tfor (let j = 0; j < this.promoProps.bogoPairs.length; j++) {\n\t\t\t\t\tif (justAddedItemID.toLowerCase().indexOf(this.promoProps.bogoPairs[j].mainSku.toLowerCase()) !== -1 || (this.promoProps.bogoPairs[j].subSku !== '' && justAddedItemID.toLowerCase().indexOf(this.promoProps.bogoPairs[j].subSku.toLowerCase()) !== -1)) {\n\t\t\t\t\t\tjustAddedArray.push({\n\t\t\t\t\t\t\titemID: this.promoProps.bogoPairs[j].gwpSku,\n\t\t\t\t\t\t\tinvtID: this.promoProps.bogoPairs[j].gwpSku,\n\t\t\t\t\t\t\tdescr: `${this.itemProps[justAddedItemID].Name.replace(' - Subscription', '')} - ${this.promoProps.freeGiftRemarkCopy}`,\n\t\t\t\t\t\t\timage: this.itemProps[justAddedItemID].Thumb,\n\t\t\t\t\t\t\textensionGroup: justAddedExtensionGroup,\n\t\t\t\t\t\t\textension: justAddedExtension,\n\t\t\t\t\t\t\tprice: '0',\n\t\t\t\t\t\t\tlistprice: this.itemProps[justAddedItemID].listPrice,\n\t\t\t\t\t\t\tpoints: '0',\n\t\t\t\t\t\t\tlistpoints: `${this.invtProps[justAddedInvtID].listPoints}`,\n\t\t\t\t\t\t\tqty: justAddedQuantity\n\t\t\t\t\t\t})\n\t\t\t\t\t\tajaxParamItemID += `,${this.promoProps.bogoPairs[j].gwpSku}`\n\t\t\t\t\t\tajaxParamQuantity += `,${justAddedQuantity}`\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (this.promoProps.promoType !== undefined && this.promoProps.promoType.toUpperCase() === 'GWP') {\n\t\t\t\tif (this.promoProps.gwpProps.hasGwpInCart === false) {\n\t\t\t\t\tjustAddedArray.push({\n\t\t\t\t\t\titemID: this.promoProps.gwpProps.sku,\n\t\t\t\t\t\tinvtID: this.promoProps.gwpProps.sku,\n\t\t\t\t\t\tdescr: this.promoProps.gwpProps.name,\n\t\t\t\t\t\timage: this.promoProps.gwpProps.imgPath,\n\t\t\t\t\t\textensionGroup: '',\n\t\t\t\t\t\textension: '',\n\t\t\t\t\t\tprice: '0',\n\t\t\t\t\t\tlistprice: `${this.promoProps.gwpProps.listPrice}`,\n\t\t\t\t\t\tpoints: '0',\n\t\t\t\t\t\tlistpoints: `${this.promoProps.gwpProps.listPoints}`,\n\t\t\t\t\t\tqty: this.promoProps.gwpProps.qty\n\t\t\t\t\t})\n\t\t\t\t\tajaxParamItemID += `,${this.promoProps.gwpProps.sku}`\n\t\t\t\t\tajaxParamQuantity += `,${this.promoProps.gwpProps.qty}`\n\t\t\t\t\tajaxParamProductIDExtensionGroups += ','\n\t\t\t\t\tthis.promoProps.gwpProps.hasGwpInCart = true\n\t\t\t\t\tdocument.getElementById('lightboxGwpBannerText').innerHTML = this.promoProps.gwpProps.bannerCopy\n\t\t\t\t\tCommonUtils.showElement('lightboxGwpBanner')\n\t\t\t\t} else {\n\t\t\t\t\tCommonUtils.hideElement('lightboxGwpBanner')\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (productIDFields[productIndex + 1] !== undefined) {\n\t\t\t\tif (productIDFields[productIndex + 1].checked && this.OCForm1.checkValidity()) {\n\t\t\t\t\tconst mainItemID = productIDFields[productIndex].value\n\t\t\t\t\tjustAddedItemID = productIDFields[productIndex + 1].value\n\t\t\t\t\tjustAddedInvtID = justAddedItemID\n\t\t\t\t\tajaxParamItemID += `,${justAddedItemID}`\n\t\t\t\t\tajaxParamQuantity += `,${justAddedQuantity}`\n\t\t\t\t\tajaxParamProductIDExtensionGroups += `,${this.OCForm1.elements['productIDExtensionGroups'][productIndex + 1].value}`\n\t\t\t\t\tmainExtensionGroupArray = this.OCForm1.elements['productIDExtensionGroups'][productIndex + 1].value.split(';')\n\t\t\t\t\tfor (let i = 0; i < mainExtensionGroupArray.length; i++) {\n\t\t\t\t\t\tif (mainExtensionGroupArray[i] !== '') {\n\t\t\t\t\t\t\tconst addOnExtensionGroupArray = this.OCForm1.elements['productIDExtensionGroups'][productIndex].value.split(';')\n\t\t\t\t\t\t\tlet extensionGroupIndex = -1\n\t\t\t\t\t\t\tfor (let p = 0; p < addOnExtensionGroupArray.length; p++) {\n\t\t\t\t\t\t\t\tif (mainExtensionGroupArray[i] === addOnExtensionGroupArray[p]) {\n\t\t\t\t\t\t\t\t\textensionGroupIndex = p\n\t\t\t\t\t\t\t\t\tp = addOnExtensionGroupArray.length\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (extensionGroupIndex > -1) {\n\t\t\t\t\t\t\t\t(document.getElementById(`${productIDFields[productIndex + 1].value}${mainExtensionGroupArray[i]}`)).options.selectedIndex = mainExtensionIndices[extensionGroupIndex]\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t(document.getElementById(`${productIDFields[productIndex + 1].value}${mainExtensionGroupArray[i]}`)).options.selectedIndex = mainExtensionIndices[i]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst itemsObj = this.itemProps[productIDFields[productIndex].value]\n\t\t\t\t\t\t\tif (itemsObj.addOn.hasOwnProperty('Override')) {\n\t\t\t\t\t\t\t\tif (justAddedExtensionCode !== '') {\n\t\t\t\t\t\t\t\t\tfor (let k = 0; k < itemsObj.addOn.Override.length; k++) {\n\t\t\t\t\t\t\t\t\t\tif (justAddedExtensionCode.indexOf(itemsObj.addOn.Override[k].mainExt) !== -1) {\n\t\t\t\t\t\t\t\t\t\t\textensionValue = itemsObj.addOn.Override[k].addOnExt\n\t\t\t\t\t\t\t\t\t\t\tjustAddedExtension = itemsObj.addOn.Override[k].addOnExtTxt\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\textensionValue = itemsObj.addOn.Override[0].addOnExt\n\t\t\t\t\t\t\t\t\tjustAddedExtension = itemsObj.addOn.Override[0].addOnExtTxt\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\textensionValue = (document.getElementById(`${productIDFields[productIndex + 1].value}${mainExtensionGroupArray[i]}`)).options[(document.getElementById(`${productIDFields[productIndex + 1].value}${mainExtensionGroupArray[i]}`)).options.selectedIndex].value\n\t\t\t\t\t\t\t\tjustAddedExtension = (document.getElementById(`${productIDFields[productIndex + 1].value}${mainExtensionGroupArray[i]}`)).options[(document.getElementById(`${productIDFields[productIndex + 1].value}${mainExtensionGroupArray[i]}`)).options.selectedIndex].text\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (extensionValue !== '') {\n\t\t\t\t\t\t\t\tjustAddedInvtID += extensionValue\n\t\t\t\t\t\t\t\tajaxParamExtensions += `&${productIDFields[productIndex + 1].value}${mainExtensionGroupArray[i]}=${extensionValue}`\n\t\t\t\t\t\t\t\tjustAddedExtensionGroup = (document.getElementById(`${justAddedItemID}${mainExtensionGroupArray[i]}`)).options[0].text\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (justAddedInvtID !== '') {\n\t\t\t\t\t\tjustAddedArray.push({\n\t\t\t\t\t\t\titemID: justAddedItemID,\n\t\t\t\t\t\t\tinvtID: justAddedInvtID,\n\t\t\t\t\t\t\tdescr: this.itemProps[mainItemID].addOn.Name,\n\t\t\t\t\t\t\timage: this.itemProps[mainItemID].addOn.Thumb,\n\t\t\t\t\t\t\textensionGroup: justAddedExtensionGroup,\n\t\t\t\t\t\t\textension: justAddedExtension,\n\t\t\t\t\t\t\tlistprice: this.itemProps[mainItemID].addOn.listPrice,\n\t\t\t\t\t\t\tprice: this.itemProps[mainItemID].addOn.price,\n\t\t\t\t\t\t\tpoints: `${this.itemProps[mainItemID].addOn.points}`,\n\t\t\t\t\t\t\tlistpoints: `${this.itemProps[mainItemID].addOn.listPoints}`,\n\t\t\t\t\t\t\tqty: justAddedQuantity\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (errorCount === 0) {\n\t\t\t\tlet ajaxParams = `&posting=TRUE&actionType=CARTADD&productID=${encodeURIComponent(ajaxParamItemID)}&quantity=${encodeURIComponent(ajaxParamQuantity)}&productIDExtensionGroups=${encodeURIComponent(ajaxParamProductIDExtensionGroups)}${ajaxParamExtensions}`\n\t\t\t\tlet ajaxURL = 'ajax/cart.aspx'\n\t\t\t\tlet ajaxResults = ''\n\t\t\t\tajaxObj.open('POST', ajaxURL, true)\n\t\t\t\tajaxObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;')\n\t\t\t\tajaxObj.send(ajaxParams)\n\t\t\t\tajaxObj.onreadystatechange = () => {\n\t\t\t\t\tif (ajaxObj.readyState === 4) {\n\t\t\t\t\t\tajaxResults = ajaxObj.responseText + ''\n\t\t\t\t\t\tif (ajaxResults !== '') {\n\t\t\t\t\t\t\tconst tmpErrorMessage = /.+<\\/errormessage>/i.exec(ajaxResults)\n\t\t\t\t\t\t\tif (tmpErrorMessage) {\n\t\t\t\t\t\t\t\tCommonUtils.hideLoader()\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tquickCartObj.updateQuickCart(justAddedArray, ajaxResults, productIndex, triggerElement)\n\t\t\t\t\t\t\t\tjustAddedArray.length = 0\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tCommonUtils.hideLoader()\n\t\t}\n\t}\n\n\taddToBag(productIndex: number, triggerElement?: HTMLElement): void {\n\t\tCommonUtils.showLoader()\n\t\tconst justAddedArray = []\n\t\tconst productIDFields = this.OCForm1.elements['productID']\n\t\tconst mainExtensionIndices = []\n\t\tconst ajaxObj = new XMLHttpRequest()\n\t\tlet errorCount = 0\n\t\tlet justAddedItemID = ''\n\t\tlet justAddedInvtID = ''\n\t\tlet justAddedExtensionCode = ''\n\t\tlet justAddedExtension = ''\n\t\tlet justAddedExtensionGroup = ''\n\t\tlet justAddedQuantity = 0\n\t\tlet ajaxParamItemID = ''\n\t\tlet ajaxParamQuantity = ''\n\t\tlet ajaxParamProductIDExtensionGroups = ''\n\t\tlet ajaxParamExtensions = ''\n\t\tif (productIDFields.length !== undefined) {\n\t\t\tif (productIDFields.length > 2 && productIndex === 1 && productIDFields[(productIndex + 1)].checked) {\n\t\t\t\tjustAddedItemID = productIDFields[2].value\n\t\t\t\tjustAddedQuantity = this.OCForm1.elements['quantity'][2].value\n\t\t\t\tajaxParamProductIDExtensionGroups = this.OCForm1.elements['productIDExtensionGroups'][2].value\n\t\t\t} else {\n\t\t\t\tjustAddedItemID = productIDFields[productIndex].value\n\t\t\t\tjustAddedQuantity = this.OCForm1.elements['quantity'][productIndex].value\n\t\t\t\tajaxParamProductIDExtensionGroups = this.OCForm1.elements['productIDExtensionGroups'][productIndex].value\n\t\t\t}\n\t\t} else {\n\t\t\tjustAddedItemID = productIDFields.value\n\t\t\tjustAddedQuantity = this.OCForm1.elements['quantity'].value\n\t\t\tajaxParamProductIDExtensionGroups = this.OCForm1.elements['productIDExtensionGroups'].value\n\t\t}\n\t\tif (justAddedQuantity === 0 || justAddedQuantity > 99 || !Number.isInteger(parseFloat(justAddedQuantity.toString())) || isNaN(Number(justAddedQuantity))) {\n\t\t\terrorCount++\n\t\t}\n\t\tjustAddedInvtID = $('ul.scent-options li.active').data('invtid')\n\t\tif (!justAddedInvtID) {\n\t\t\talert('Please select an option.')\n\t\t\tlocation.reload()\n\t\t\terrorCount++\n\t\t}\n\t\tif (productIndex > 0) {\n\t\t\tjustAddedInvtID = $('ul.scent-options-sub li.active').data('invtid')\n\t\t}\n\t\tif (justAddedInvtID == '' || justAddedInvtID == null || justAddedInvtID == undefined) {\n\t\t\terrorCount++\n\t\t}\n\t\tif (errorCount === 0) {\n\t\t\tlet mainExtensionGroupArray = ajaxParamProductIDExtensionGroups.split(';')\n\t\t\tlet extensionValue = justAddedInvtID.replace(justAddedItemID, '')\n\t\t\tjustAddedArray.push({\n\t\t\t\titemID: justAddedItemID,\n\t\t\t\tinvtID: justAddedInvtID,\n\t\t\t\tdescr: this.itemProps[justAddedItemID].Name,\n\t\t\t\timage: this.itemProps[justAddedItemID].Thumb,\n\t\t\t\textensionGroup: $('ul.scent-options li.active').data('groupname') + ';',\n\t\t\t\textension: $('ul.scent-options li.active').data('descr'),\n\t\t\t\tprice: this.itemProps[justAddedItemID].price,\n\t\t\t\tlistprice: this.itemProps[justAddedItemID].listPrice,\n\t\t\t\tpoints: `${this.itemProps[justAddedItemID].points}`,\n\t\t\t\tlistpoints: `${this.itemProps[justAddedItemID].listPoints}`,\n\t\t\t\tqty: justAddedQuantity\n\t\t\t})\n\t\t\tajaxParamItemID = justAddedItemID\n\t\t\tajaxParamQuantity = justAddedQuantity.toString()\n\t\t\tif (this.promoProps.promoType !== undefined && this.promoProps.promoType.toUpperCase() === 'BOGO') {\n\t\t\t\tfor (let j = 0; j < this.promoProps.bogoPairs.length; j++) {\n\t\t\t\t\tif (justAddedItemID.toLowerCase().indexOf(this.promoProps.bogoPairs[j].mainSku.toLowerCase()) !== -1 || (this.promoProps.bogoPairs[j].subSku !== '' && justAddedItemID.toLowerCase().indexOf(this.promoProps.bogoPairs[j].subSku.toLowerCase()) !== -1)) {\n\t\t\t\t\t\tjustAddedArray.push({\n\t\t\t\t\t\t\titemID: this.promoProps.bogoPairs[j].gwpSku,\n\t\t\t\t\t\t\tinvtID: this.promoProps.bogoPairs[j].gwpSku,\n\t\t\t\t\t\t\tdescr: `${this.itemProps[justAddedItemID].Name.replace(' - Subscription', '')} - ${this.promoProps.freeGiftRemarkCopy}`,\n\t\t\t\t\t\t\timage: this.itemProps[justAddedItemID].Thumb,\n\t\t\t\t\t\t\textensionGroup: justAddedExtensionGroup,\n\t\t\t\t\t\t\textension: justAddedExtension,\n\t\t\t\t\t\t\tprice: '0',\n\t\t\t\t\t\t\tlistprice: this.itemProps[justAddedItemID].listPrice,\n\t\t\t\t\t\t\tpoints: '0',\n\t\t\t\t\t\t\tlistpoints: `${this.itemProps[justAddedItemID].listPoints}`,\n\t\t\t\t\t\t\tqty: justAddedQuantity\n\t\t\t\t\t\t})\n\t\t\t\t\t\tajaxParamItemID += `,${this.promoProps.bogoPairs[j].gwpSku}`\n\t\t\t\t\t\tajaxParamQuantity += `,${justAddedQuantity}`\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (this.promoProps.promoType !== undefined && this.promoProps.promoType.toUpperCase() === 'GWP') {\n\t\t\t\tif (this.promoProps.gwpProps.hasGwpInCart === false) {\n\t\t\t\t\tjustAddedArray.push({\n\t\t\t\t\t\titemID: this.promoProps.gwpProps.sku,\n\t\t\t\t\t\tinvtID: this.promoProps.gwpProps.sku,\n\t\t\t\t\t\tdescr: this.promoProps.gwpProps.name,\n\t\t\t\t\t\timage: this.promoProps.gwpProps.imgPath,\n\t\t\t\t\t\textensionGroup: '',\n\t\t\t\t\t\textension: '',\n\t\t\t\t\t\tprice: '0',\n\t\t\t\t\t\tlistprice: `${this.promoProps.gwpProps.listPrice}`,\n\t\t\t\t\t\tpoints: '0',\n\t\t\t\t\t\tlistpoints: `${this.promoProps.gwpProps.listPoints}`,\n\t\t\t\t\t\tqty: this.promoProps.gwpProps.qty\n\t\t\t\t\t})\n\t\t\t\t\tajaxParamItemID += `,${this.promoProps.gwpProps.sku}`\n\t\t\t\t\tajaxParamQuantity += `,${this.promoProps.gwpProps.qty}`\n\t\t\t\t\tajaxParamProductIDExtensionGroups += ','\n\t\t\t\t\tthis.promoProps.gwpProps.hasGwpInCart = true\n\t\t\t\t\tdocument.getElementById('lightboxGwpBannerText').innerHTML = this.promoProps.gwpProps.bannerCopy\n\t\t\t\t\tCommonUtils.showElement('lightboxGwpBanner')\n\t\t\t\t} else {\n\t\t\t\t\tCommonUtils.hideElement('lightboxGwpBanner')\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tajaxParamExtensions += `&${justAddedItemID}${mainExtensionGroupArray[0]}=${extensionValue}`\n\t\t\tif (productIDFields[productIndex + 1] !== undefined) {\n\t\t\t\tif (productIDFields[productIndex + 1].checked && this.OCForm1.checkValidity()) {\n\t\t\t\t\tconst mainItemID = productIDFields[productIndex].value\n\t\t\t\t\tjustAddedItemID = productIDFields[productIndex + 1].value\n\t\t\t\t\tjustAddedInvtID = justAddedItemID\n\t\t\t\t\tajaxParamItemID += `,${justAddedItemID}`\n\t\t\t\t\tajaxParamQuantity += `,${justAddedQuantity}`\n\t\t\t\t\tajaxParamProductIDExtensionGroups += `,${this.OCForm1.elements['productIDExtensionGroups'][productIndex + 1].value}`\n\t\t\t\t\tmainExtensionGroupArray = this.OCForm1.elements['productIDExtensionGroups'][productIndex + 1].value.split(';')\n\t\t\t\t\tfor (let i = 0; i < mainExtensionGroupArray.length; i++) {\n\t\t\t\t\t\tif (mainExtensionGroupArray[i] !== '') {\n\t\t\t\t\t\t\tconst addOnExtensionGroupArray = this.OCForm1.elements['productIDExtensionGroups'][productIndex].value.split(';')\n\t\t\t\t\t\t\tlet extensionGroupIndex = -1\n\t\t\t\t\t\t\tfor (let p = 0; p < addOnExtensionGroupArray.length; p++) {\n\t\t\t\t\t\t\t\tif (mainExtensionGroupArray[i] === addOnExtensionGroupArray[p]) {\n\t\t\t\t\t\t\t\t\textensionGroupIndex = p\n\t\t\t\t\t\t\t\t\tp = addOnExtensionGroupArray.length\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (extensionGroupIndex > -1) {\n\t\t\t\t\t\t\t\t(document.getElementById(`${productIDFields[productIndex + 1].value}${mainExtensionGroupArray[i]}`)).options.selectedIndex = mainExtensionIndices[extensionGroupIndex]\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t(document.getElementById(`${productIDFields[productIndex + 1].value}${mainExtensionGroupArray[i]}`)).options.selectedIndex = mainExtensionIndices[i]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst itemsObj = this.itemProps[productIDFields[productIndex].value]\n\t\t\t\t\t\t\tif (itemsObj.addOn.hasOwnProperty('Override')) {\n\t\t\t\t\t\t\t\tif (justAddedExtensionCode !== '') {\n\t\t\t\t\t\t\t\t\tfor (let k = 0; k < itemsObj.addOn.Override.length; k++) {\n\t\t\t\t\t\t\t\t\t\tif (justAddedExtensionCode.indexOf(itemsObj.addOn.Override[k].mainExt) !== -1) {\n\t\t\t\t\t\t\t\t\t\t\textensionValue = itemsObj.addOn.Override[k].addOnExt\n\t\t\t\t\t\t\t\t\t\t\tjustAddedExtension = itemsObj.addOn.Override[k].addOnExtTxt\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\textensionValue = itemsObj.addOn.Override[0].addOnExt\n\t\t\t\t\t\t\t\t\tjustAddedExtension = itemsObj.addOn.Override[0].addOnExtTxt\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\textensionValue = (document.getElementById(`${productIDFields[productIndex + 1].value}${mainExtensionGroupArray[i]}`)).options[(document.getElementById(`${productIDFields[productIndex + 1].value}${mainExtensionGroupArray[i]}`)).options.selectedIndex].value\n\t\t\t\t\t\t\t\tjustAddedExtension = (document.getElementById(`${productIDFields[productIndex + 1].value}${mainExtensionGroupArray[i]}`)).options[(document.getElementById(`${productIDFields[productIndex + 1].value}${mainExtensionGroupArray[i]}`)).options.selectedIndex].text\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (extensionValue !== '') {\n\t\t\t\t\t\t\t\tjustAddedInvtID += extensionValue\n\t\t\t\t\t\t\t\tajaxParamExtensions += `&${productIDFields[productIndex + 1].value}${mainExtensionGroupArray[i]}=${extensionValue}`\n\t\t\t\t\t\t\t\tjustAddedExtensionGroup = (document.getElementById(`${justAddedItemID}${mainExtensionGroupArray[i]}`)).options[0].text\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (justAddedInvtID !== '') {\n\t\t\t\t\t\tjustAddedArray.push({\n\t\t\t\t\t\t\titemID: justAddedItemID,\n\t\t\t\t\t\t\tinvtID: justAddedInvtID,\n\t\t\t\t\t\t\tdescr: this.itemProps[mainItemID].addOn.Name,\n\t\t\t\t\t\t\timage: this.itemProps[mainItemID].addOn.Thumb,\n\t\t\t\t\t\t\textensionGroup: justAddedExtensionGroup,\n\t\t\t\t\t\t\textension: justAddedExtension,\n\t\t\t\t\t\t\tlistprice: this.itemProps[mainItemID].addOn.listPrice,\n\t\t\t\t\t\t\tprice: this.itemProps[mainItemID].addOn.price,\n\t\t\t\t\t\t\tpoints: `${this.itemProps[mainItemID].points}`,\n\t\t\t\t\t\t\tlistpoints: `${this.itemProps[mainItemID].listPoints}`,\n\t\t\t\t\t\t\tqty: justAddedQuantity\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (errorCount === 0) {\n\t\t\t\tlet ajaxParams = `&posting=TRUE&actionType=CARTADD&productID=${encodeURIComponent(ajaxParamItemID)}&quantity=${encodeURIComponent(ajaxParamQuantity)}&productIDExtensionGroups=${encodeURIComponent(ajaxParamProductIDExtensionGroups)}${ajaxParamExtensions}`\n\t\t\t\tlet ajaxURL = 'ajax/cart.aspx'\n\t\t\t\tlet ajaxResults = ''\n\t\t\t\tajaxObj.open('POST', ajaxURL, true)\n\t\t\t\tajaxObj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;')\n\t\t\t\tajaxObj.send(ajaxParams)\n\t\t\t\tajaxObj.onreadystatechange = () => {\n\t\t\t\t\tif (ajaxObj.readyState === 4) {\n\t\t\t\t\t\tajaxResults = ajaxObj.responseText + ''\n\t\t\t\t\t\tif (ajaxResults !== '') {\n\t\t\t\t\t\t\tconst tmpErrorMessage = /.+<\\/errormessage>/i.exec(ajaxResults)\n\t\t\t\t\t\t\tif (tmpErrorMessage) {\n\t\t\t\t\t\t\t\tCommonUtils.hideLoader()\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tquickCartObj.updateQuickCart(justAddedArray, ajaxResults, productIndex, triggerElement)\n\t\t\t\t\t\t\t\tjustAddedArray.length = 0\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tCommonUtils.hideLoader()\n\t\t}\n\t}\n\n\tbindElementHandlers(): void {\n\t\tconst addToCartBtn = $(this.elementIDs.addToCartBtn)\n\t\tconst addToBagBtn = $(this.elementIDs.addToBagBtn)\n\t\tconst addToBagBtnSub = $(this.elementIDs.addToBagBtnSub)\n\t\tconst subscribeBtn = $(this.elementIDs.subscribeBtn)\n\t\tconst productSubAddToCartBtn = $(this.elementIDs.productSubAddToCartBtn)\n\t\tconst productSubSubscribeBtn = $(this.elementIDs.productSubSubscribeBtn)\n\t\tconst subsItemIndex = (this.OCForm1[this.elementIDs.addOnProductID] === undefined) ? 1 : 2\n\t\tconst collectionPItemCount = this.elementIDs.collectionPItemCount\n\t\tconst continueShoppingBtn = $(this.elementIDs.continueShoppingBtn)\n\t\tif (collectionPItemCount !== undefined && collectionPItemCount > 0) {\n\t\t\tfor (let i = 0; i < collectionPItemCount; i++) {\n\t\t\t\tlet collectionAddToCartBtn = $(this.elementIDs.collectionAddToCartBtnPrefix + i)\n\t\t\t\tif (collectionAddToCartBtn.length) {\n\t\t\t\t\tcollectionAddToCartBtn.on('click', () => {\n\t\t\t\t\t\tthis.ajaxAddToCart(i, collectionAddToCartBtn[0])\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (addToCartBtn.length) {\n\t\t\taddToCartBtn.on('click', () => {\n\t\t\t\tthis.ajaxAddToCart(0, addToCartBtn[0])\n\t\t\t})\n\t\t}\n\t\tif (addToBagBtn.length) {\n\t\t\taddToBagBtn.on('click', () => {\n\t\t\t\tthis.addToBag(0, addToBagBtn[0])\n\t\t\t})\n\t\t}\n\t\tif (addToBagBtnSub.length) {\n\t\t\taddToBagBtnSub.on('click', () => {\n\t\t\t\tthis.addToBag(subsItemIndex, addToBagBtnSub[0])\n\t\t\t})\n\t\t}\n\t\tif (subscribeBtn.length) {\n\t\t\tsubscribeBtn.on('click', () => {\n\t\t\t\tthis.ajaxAddToCart(subsItemIndex, subscribeBtn[0])\n\t\t\t})\n\t\t}\n\t\tif (productSubAddToCartBtn.length) {\n\t\t\tproductSubAddToCartBtn.on('click', () => {\n\t\t\t\tthis.ajaxAddToCart(0, addToCartBtn[0])\n\t\t\t})\n\t\t}\n\t\tif (productSubSubscribeBtn.length) {\n\t\t\tproductSubSubscribeBtn.on('click', () => {\n\t\t\t\tthis.ajaxAddToCart(subsItemIndex, subscribeBtn[0])\n\t\t\t})\n\t\t}\n\t\tconst quantity = this.OCForm1.elements['quantity']\n\t\tif (quantity.length !== undefined) {\n\t\t\tfor (let i = 0; i < quantity.length; i++) {\n\t\t\t\tquantity[i].addEventListener('change', () => {\n\t\t\t\t\tif (isNaN(parseInt(quantity[i].value)) || parseInt(quantity[i].value) <= 0) {\n\t\t\t\t\t\tquantity[i].value = 1\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t} else {\n\t\t\tquantity.addEventListener('change', () => {\n\t\t\t\tif (isNaN(parseInt(quantity.value)) || parseInt(quantity.value) <= 0) {\n\t\t\t\t\tquantity.value = 1\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t\tif (continueShoppingBtn.length) {\n\t\t\tcontinueShoppingBtn.on('click', () => {\n\t\t\t\tCommonUtils.hideElement('overlay_LB')\n\t\t\t})\n\t\t}\n\t}\n}\nconst addToCartObj = new AddToCart(classOptions)\n\n/******* Interfaces *******/\ninterface AddToCartInterface {\n\tpromoProps: PromoProps;\n\telementIDs: ElementIDs;\n\titemProps: ItemProps;\n\tinvtProps: InvtProps;\n}\n\ninterface ElementIDs {\n\taddOnProductID: string;\n\taddToCartBtn: string;\n\taddToBagBtn: string;\n\taddToBagBtnSub: string;\n\tproductSubAddToCartBtn: string;\n\tproductSubSubscribeBtn: string;\n\tsubscribeBtn: string;\n\tcollectionPItemCount?: number;\n\tcollectionAddToCartBtnPrefix?: string;\n\tcontinueShoppingBtn?: string;\n}","jQuery(function () {\n\taddToCartObj.bindElementHandlers()\n})\nfunction doExtensionChange(tmpItemID: string): void {\n\tlet groundShipIDs: Array, InstockOverride: boolean, stockMessage: string, price: number, listPrice: number, addOnPrice: number, addOnListPrice: number, Instock: boolean, points: number, listPoints: number, addOnPoints: number, addOnListPoints: number\n\tlet addOnProductID = document.getElementById('addOnProductID') !== null ? (document.getElementById('addOnProductID')).value : ''\n\tlet productIDs = (document.getElementById('OCForm1')).productID\n\tlet elementIndex: number, addOnElementIndex: number = 0\n\tlet tmpInvtID = ''\n\tif (productIDs.length !== undefined) {\n\t\tfor (let i = 0; i < productIDs.length; i++) {\n\t\t\tif (productIDs[i].value === tmpItemID) {\n\t\t\t\telementIndex = i\n\t\t\t}\n\t\t\tif (productIDs[i].value === addOnProductID) {\n\t\t\t\taddOnElementIndex = i\n\t\t\t}\n\t\t}\n\t\tgroundShipIDs = (document.getElementById('OCForm1')).groundShipIDs.value.split(',')\n\t\tInstockOverride = false\n\t\tInstock = false\n\t\tif (groundShipIDs !== null) {\n\t\t\tfor (let j = 0; j < groundShipIDs.length; j++) {\n\t\t\t\tif (groundShipIDs[j] === tmpItemID) {\n\t\t\t\t\tInstockOverride = true\n\t\t\t\t}\n\t\t\t\tif (groundShipIDs[j] === addOnProductID) {\n\t\t\t\t\tInstock = true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tstockMessage = productObj.doGetStockMessage(tmpItemID, elementIndex, InstockOverride)\n\t\tif (stockMessage !== '') {\n\t\t\ttry {\n\t\t\t\tdocument.getElementById(`SPANstock${elementIndex}`).innerHTML = stockMessage\n\t\t\t} catch (e) { }\n\t\t}\n\t\ttmpInvtID = productObj.getProductID(tmpItemID, elementIndex)\n\t\tprice = productObj.getPrice(tmpInvtID)\n\t\tlistPrice = productObj.getPrice(tmpInvtID, 'listprice')\n\t\tpoints = productObj.getPrice(tmpInvtID, 'points')\n\t\tlistPoints = productObj.getPrice(tmpInvtID, 'listpoints')\n\t\tif (parseFloat(price.toString()) > parseFloat(listPrice.toString())) {\n\t\t\tdocument.getElementById(`currentPrice${elementIndex}`).innerHTML = `${CommonUtils.toUSD(price)}`\n\t\t} else {\n\t\t\tif (price !== 0 && listPrice !== 0 && price !== listPrice) {\n\t\t\t\tdocument.getElementById(`currentPrice${elementIndex}`).innerHTML = `Regular price${CommonUtils.toUSD(listPrice)}Sale price${CommonUtils.toUSD(price)}`\n\t\t\t} else {\n\t\t\t\tif (price !== 0) {\n\t\t\t\t\tdocument.getElementById(`currentPrice${elementIndex}`).innerHTML = CommonUtils.toUSD(price)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (points !== 0 && listPoints !== 0 && points !== listPoints) {\n\t\t\t\tdocument.getElementById(`currentPoints${elementIndex}`).innerHTML = `Regular price${CommonUtils.formatPoints(listPoints)} PointsSale price${CommonUtils.formatPoints(points)} Points`\n\t\t\t} else {\n\t\t\t\tif (points !== 0) {\n\t\t\t\t\tdocument.getElementById(`currentPoints${elementIndex}`).innerHTML = `${CommonUtils.formatPoints(points)} Points`\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tclassOptions.itemProps[tmpItemID].listPrice = listPrice\n\t\tclassOptions.itemProps[tmpItemID].price = price\n\t\tif (addOnProductID) {\n\t\t\tproductObj.checkAddOnStock(tmpItemID, elementIndex, addOnProductID, addOnElementIndex, Instock)\n\t\t\ttmpInvtID = productObj.getProductID(addOnProductID, addOnElementIndex)\n\t\t\taddOnPrice = productObj.getPrice(tmpInvtID)\n\t\t\taddOnListPrice = productObj.getPrice(tmpInvtID, 'listprice')\n\t\t\taddOnPoints = productObj.getPrice(tmpInvtID, 'points')\n\t\t\taddOnListPoints = productObj.getPrice(tmpInvtID, 'listpoints')\n\t\t\tif (parseFloat(addOnPrice.toString()) > parseFloat(addOnListPrice.toString())) {\n\t\t\t\tdocument.getElementById('addOnPrice').innerHTML = CommonUtils.toUSD(addOnPrice)\n\t\t\t} else {\n\t\t\t\tif (addOnPrice !== 0 && addOnListPrice !== 0 && addOnPrice !== addOnListPrice) {\n\t\t\t\t\tdocument.getElementById('addOnPrice').innerHTML = `Regular price${CommonUtils.toUSD(addOnListPrice)} Sale price${CommonUtils.toUSD(addOnPrice)}`\n\t\t\t\t} else {\n\t\t\t\t\tif (addOnPrice !== 0) {\n\t\t\t\t\t\tdocument.getElementById('addOnPrice').innerHTML = CommonUtils.toUSD(addOnPrice)\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tdocument.getElementById('addOnPrice').innerHTML = (document.getElementById('addOnpriceRange')).value\n\t\t\t\t\t\t} catch (e) { }\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (addOnPoints !== 0 && addOnListPoints !== 0 && addOnPoints !== addOnListPoints) {\n\t\t\t\t\tdocument.getElementById('addOnPoints').innerHTML = `Regular price${CommonUtils.formatPoints(addOnListPoints)} Points Sale price${CommonUtils.formatPoints(addOnPoints)} Points`\n\t\t\t\t} else {\n\t\t\t\t\tif (addOnPoints !== 0) {\n\t\t\t\t\t\tdocument.getElementById('addOnPoints').innerHTML = `${CommonUtils.formatPoints(addOnPoints)} Points`\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tdocument.getElementById('addOnPoints').innerHTML = (document.getElementById('addOnpointsRange')).value\n\t\t\t\t\t\t} catch (e) { }\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tclassOptions.itemProps[tmpItemID].addOn.listPrice = addOnListPrice\n\t\t\tclassOptions.itemProps[tmpItemID].addOn.price = addOnPrice\n\t\t}\n\t} else {\n\t\tgroundShipIDs = (document.getElementById('OCForm1')).groundShipIDs.value.split(',')\n\t\tInstockOverride = false\n\t\tif (groundShipIDs !== null) {\n\t\t\tfor (let j = 0; j < groundShipIDs.length; j++) {\n\t\t\t\tif (groundShipIDs[j] === tmpItemID) {\n\t\t\t\t\tInstockOverride = true\n\t\t\t\t\tj = groundShipIDs.length\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tstockMessage = productObj.doGetStockMessage(tmpItemID, 0, InstockOverride)\n\t\tif (stockMessage !== '') {\n\t\t\ttry {\n\t\t\t\tdocument.getElementById('SPANstock0').innerHTML = stockMessage\n\t\t\t} catch (e) {\n\t\t\t}\n\t\t}\n\t\ttmpInvtID = productObj.getProductID(tmpItemID, 0)\n\t\tprice = productObj.getPrice(tmpInvtID)\n\t\tlistPrice = productObj.getPrice(tmpInvtID, 'listprice')\n\t\tpoints = productObj.getPrice(tmpInvtID, 'points')\n\t\tlistPoints = productObj.getPrice(tmpInvtID, 'listpoints')\n\t\tif (parseFloat(price.toString()) > parseFloat(listPrice.toString())) {\n\t\t\tdocument.getElementById('currentPrice0').innerHTML = `${CommonUtils.toUSD(price)}`\n\t\t} else {\n\t\t\tif (price !== 0 && listPrice !== 0 && price !== listPrice) {\n\t\t\t\tdocument.getElementById('currentPrice0').innerHTML = `Regular price${CommonUtils.toUSD(listPrice)}Sale price${CommonUtils.toUSD(price)}`\n\t\t\t} else {\n\t\t\t\tif (price !== 0) {\n\t\t\t\t\tdocument.getElementById('currentPrice0').innerHTML = CommonUtils.toUSD(price)\n\t\t\t\t} else {\n\t\t\t\t\tdocument.getElementById('currentPrice0').innerHTML = 'Select an Option'\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (points !== 0 && listPoints !== 0 && points !== listPoints) {\n\t\t\t\tdocument.getElementById('currentPoints0').innerHTML = `Regular price${CommonUtils.formatPoints(listPoints)} PointsSale price${CommonUtils.formatPoints(points)} Points`\n\t\t\t} else {\n\t\t\t\tif (points !== 0) {\n\t\t\t\t\tdocument.getElementById('currentPoints0').innerHTML = `${CommonUtils.formatPoints(points)} Points`\n\t\t\t\t} else {\n\t\t\t\t\tdocument.getElementById('currentPoints0').innerHTML = 'Select an Option'\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tclassOptions.itemProps[tmpItemID].listPrice = listPrice\n\t\tclassOptions.itemProps[tmpItemID].price = price\n\t}\n}","class Product implements ProductInterface {\n\tOCForm1: HTMLFormElement\n\tinvtProps: InvtProps\n\tstockMessages: StockMessages\n\tenablePayByPoints: boolean\n\tpriceViewCookieName: string\n\tconstructor({\n\t\tinvtProps,\n\t\tstockMessages,\n\t\tenablePayByPoints,\n\t\tpriceViewCookieName\n\t}) {\n\t\tthis.OCForm1 = document.querySelector('#OCForm1')\n\t\tthis.invtProps = invtProps\n\t\tthis.stockMessages = stockMessages\n\t\tthis.enablePayByPoints = enablePayByPoints\n\t\tthis.priceViewCookieName = priceViewCookieName\n\t}\n\n\tgetPrice(tmpInvtID: string, type?: string): number {\n\t\tlet returnValue = 0\n\t\ttry {\n\t\t\tif (type === 'listprice') {\n\t\t\t\treturnValue = Math.round(this.invtProps[tmpInvtID].listPrice * 100) / 100\n\t\t\t} else if (type === 'listpoints') {\n\t\t\t\treturnValue = this.invtProps[tmpInvtID].listPoints\n\t\t\t} else if (type === 'points') {\n\t\t\t\treturnValue = this.invtProps[tmpInvtID].points\n\t\t\t} else {\n\t\t\t\treturnValue = Math.round(this.invtProps[tmpInvtID].price * 100) / 100\n\t\t\t}\n\t\t} catch (e) { }\n\t\treturn returnValue\n\t}\n\n\tshowHideATC(elementIndex: number, status: string): void {\n\t\tconst cookieValue = CommonUtils.getCookie(this.priceViewCookieName)\n\t\tif (status === 'out') {\n\t\t\tCommonUtils.hideElement(`SPANQty${elementIndex}`)\n\t\t\tCommonUtils.hideElement('quantity', elementIndex)\n\t\t\tCommonUtils.hideElement('qty')\n\t\t\tCommonUtils.hideElement('addToCartBtn')\n\t\t\tCommonUtils.hideElement('addToCartBtnContainer')\n\t\t\tCommonUtils.hideElement('addition')\n\t\t\tCommonUtils.showElement(`SPANstock${elementIndex}`)\n\t\t\tCommonUtils.showElement('SPANstockContainer')\n\t\t} else {\n\t\t\tCommonUtils.showElement(`SPANQty${elementIndex}`)\n\t\t\tCommonUtils.showElement('quantity', elementIndex, '')\n\t\t\tCommonUtils.showElement('qty', 0, '')\n\t\t\tif (!this.enablePayByPoints && cookieValue === 'points') {\n\t\t\t\tCommonUtils.hideElement('addToCartBtn')\n\t\t\t\tCommonUtils.hideElement('addToCartBtnContainer')\n\t\t\t\tCommonUtils.hideElement('addition')\n\t\t\t} else {\n\t\t\t\tCommonUtils.showElement('addToCartBtnContainer')\n\t\t\t\tCommonUtils.showElement('addToCartBtn')\n\t\t\t\tCommonUtils.showElement('addition')\n\t\t\t}\n\t\t\tCommonUtils.hideElement(`SPANstock${elementIndex}`)\n\t\t\tCommonUtils.hideElement('SPANstockContainer')\n\t\t}\n\t}\n\n\tdoGetStockMessage(tmpItemID: string, elementIndex: number, InstockOverride: boolean): string {\n\t\tlet returnValue = ''\n\t\ttry {\n\t\t\tconst invtID = productObj.getProductID(tmpItemID, elementIndex)\n\t\t\tconst stkItem = this.invtProps[invtID].stkItem\n\t\t\tconst qtyAvail = this.invtProps[invtID].qtyAvail\n\t\t\tconst reOrdQty = this.invtProps[invtID].reOrdQty\n\t\t\tconst reOrdQtyOverride = this.invtProps[invtID].reOrdQtyOverride\n\t\t\tconst customInStockMessage = this.invtProps[invtID].customInStockMessage\n\t\t\tif (stkItem === 0 || InstockOverride) {\n\t\t\t\t//dropship items always instock\n\t\t\t\treturnValue = (customInStockMessage === '') ? this.stockMessages.inStock : customInStockMessage\n\t\t\t\tproductObj.showHideATC(elementIndex, 'in')\n\t\t\t} else {\n\t\t\t\tif (qtyAvail <= 0) {\n\t\t\t\t\treturnValue = (customInStockMessage === '') ? this.stockMessages.outOfStock : customInStockMessage\n\t\t\t\t\tproductObj.showHideATC(elementIndex, 'out')\n\t\t\t\t} else if (qtyAvail <= reOrdQtyOverride || qtyAvail <= reOrdQty) {\n\t\t\t\t\treturnValue = this.stockMessages.lowStock\n\t\t\t\t\tproductObj.showHideATC(elementIndex, 'in')\n\t\t\t\t} else {\n\t\t\t\t\treturnValue = (customInStockMessage === '') ? this.stockMessages.inStock : customInStockMessage\n\t\t\t\t\tproductObj.showHideATC(elementIndex, 'in')\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) { }\n\t\treturn returnValue\n\t}\n\n\tcheckAddOnStock(tmpItemID: string, elementIndex: number, addOnProductID: string, addOnElementIndex: number, Instock: boolean): void {\n\t\tlet addOnInvID = addOnProductID\n\t\tlet addOnExtGroups = null\n\t\tlet tmpExtValue: string\n\t\ttry {\n\t\t\taddOnExtGroups = this.OCForm1.elements['productIDExtensionGroups'][addOnElementIndex].value.split(';')\n\t\t} catch (e) { }\n\t\tlet tmpExtGroups = this.OCForm1.elements['productIDExtensionGroups'][elementIndex].value.split(';');\n\t\t(document.getElementById(`${addOnProductID}${addOnExtGroups[0]}`)).selectedIndex = (document.getElementById(`${tmpItemID}${tmpExtGroups[0]}`)).selectedIndex\n\t\tlet addOnExtensionOptionsLength = (document.getElementById(`${addOnProductID}${addOnExtGroups[0]}`)).options.length\n\t\tfor (let k = 0; k < addOnExtensionOptionsLength; k++) {\n\t\t\tif ((document.getElementById(`${addOnProductID}${addOnExtGroups[0]}`)).options[k].value == (document.getElementById(`${tmpItemID}${tmpExtGroups[0]}`)).options[(document.getElementById(`${tmpItemID}${tmpExtGroups[0]}`)).selectedIndex].value) {\n\t\t\t\t(document.getElementById(`${addOnProductID}${addOnExtGroups[0]}`)).selectedIndex = k\n\t\t\t}\n\t\t}\n\t\tfor (let i = 0; i < addOnExtGroups.length; i++) {\n\t\t\tif (addOnExtGroups[i] !== '') {\n\t\t\t\tif ((document.getElementById(`${addOnProductID}${addOnExtGroups[i]}`)).selectedIndex === 0) {\n\t\t\t\t\ttmpExtValue = 'SELECT'\n\t\t\t\t} else {\n\t\t\t\t\ttmpExtValue = (document.getElementById(`${addOnProductID}${addOnExtGroups[i]}`)).options[(document.getElementById(`${addOnProductID}${addOnExtGroups[i]}`)).selectedIndex].value\n\t\t\t\t}\n\t\t\t\taddOnInvID += tmpExtValue\n\t\t\t}\n\t\t}\n\t\tif (tmpExtValue != 'SELECT') {\n\t\t\tconst stockAddOnInvtID = addOnInvID\n\t\t\tconst stkItemAddOn = this.invtProps[stockAddOnInvtID].stkItem\n\t\t\tconst qtyAvailAddOn = this.invtProps[stockAddOnInvtID].qtyAvail\n\t\t\tif ((stkItemAddOn === 0) || (Instock)) {\n\t\t\t\tdocument.getElementById('addition').style.visibility = 'visible'\n\t\t\t} else {\n\t\t\t\tif (qtyAvailAddOn <= 0) {\n\t\t\t\t\tif (this.OCForm1.productID[addOnElementIndex].checked) {\n\t\t\t\t\t\tthis.OCForm1.productID[addOnElementIndex].checked = false\n\t\t\t\t\t}\n\t\t\t\t\tdocument.getElementById('addition').style.visibility = 'hidden'\n\t\t\t\t} else {\n\t\t\t\t\tdocument.getElementById('addition').style.visibility = 'visible'\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tgetProductID(tmpItemID: string, elementIndex: number): string {\n\t\tlet tmpExtensions = null\n\t\tlet returnValue = tmpItemID ? tmpItemID : (document.getElementById('productID')).value\n\t\tlet indexValue = elementIndex ? elementIndex : 0\n\t\tlet tmpExtValue = ''\n\t\ttry {\n\t\t\ttmpExtensions = this.OCForm1.elements['productIDExtensionGroups'][indexValue].value.split(';')\n\t\t} catch (e) { }\n\t\tif (tmpExtensions === null) {\n\t\t\ttmpExtensions = this.OCForm1.elements['productIDExtensionGroups'].value.split(';')\n\t\t}\n\t\tfor (let i = 0; i < tmpExtensions.length; i++) {\n\t\t\tif (tmpExtensions[i] !== '') {\n\t\t\t\tif (tmpItemID) {\n\t\t\t\t\tif ((document.getElementById(`${tmpItemID}${tmpExtensions[i]}`)).selectedIndex === 0) {\n\t\t\t\t\t\ttmpExtValue = 'SELECT'\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttmpExtValue = (document.getElementById(`${tmpItemID}${tmpExtensions[i]}`)).options[(document.getElementById(`${tmpItemID}${tmpExtensions[i]}`)).selectedIndex].value\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif ((document.getElementById(tmpExtensions[i])).selectedIndex === 0) {\n\t\t\t\t\t\ttmpExtValue = 'SELECT'\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttmpExtValue = (document.getElementById(tmpExtensions[i])).options[(document.getElementById(tmpExtensions[i])).selectedIndex].value\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturnValue += tmpExtValue\n\t\t\t}\n\t\t}\n\t\treturn returnValue\n\t}\n}\nconst productObj = new Product(classOptions)\n\ninterface ProductInterface {\n\tinvtProps: InvtProps\n\tstockMessages: StockMessages;\n\tenablePayByPoints: boolean;\n\tpriceViewCookieName: string;\n}\n\ninterface InvtProps {\n\tprice: string;\n\tlistPrice: string;\n\tpoints: string;\n\tlistPoints: string;\n\tstkItem: string;\n\tqtyAvail: string;\n\treOrdQty: string;\n\treOrdQtyOverride: string;\n\tcustomInStockMessage: string;\n}\ninterface StockMessages {\n\tinStock: string;\n\tlowStock: string;\n\toutOfStock: string;\n}","/******** quickcart.js ********/\nclass QuickCart {\n\tpromoProps: PromoProps\n\telementIDs: ElementIDs\n\tlightboxProps: LightboxProps\n\tcartItems: [CartItems?]\n\thasSubInCartNote: string\n\tconstructor({\n\t\tpromoProps,\n\t\telementIDs,\n\t\tlightboxProps,\n\t\tcartItems,\n\t\thasSubInCartNote,\n\t}) {\n\t\tconst defaultElementIds = {\n\t\t\tlightboxCart: {\n\t\t\t\tlbSumQty: '#lbSumQty',\n\t\t\t\tlbCashSubtotal: '#lbCashSubtotal',\n\t\t\t\tlbPointsSubtotal: '#lbPointsSubtotal',\n\t\t\t\tlbItemContainerPrefix: '#lbItem',\n\t\t\t\tlbImagePrefix: '#lbImage',\n\t\t\t\tlbProdNamePrefix: '#lbProdName',\n\t\t\t\tlbCurrentPricePrefix: '#lbCurrentPrice',\n\t\t\t\tlbCurrentPointsPrefix: '#lbCurrentPoints',\n\t\t\t\tlbListPricePrefix: '#lbListPrice',\n\t\t\t\tlbListPointsPrefix: '#lbListPoints',\n\t\t\t\tlbExtPrefix: '#lbExt',\n\t\t\t\tlbQtyPrefix: '#lbQty'\n\t\t\t},\n\t\t\theaderCart: {\n\t\t\t\tcartSumQty: '#cartSumQty',\n\t\t\t\tlabelAux: '#labelAux',\n\t\t\t\tbubbleCnt: '#bubble-cnt',\n\t\t\t\tDIVitemHead: '#DIVitemHead',\n\t\t\t\tDIVcartSumItemsList: '#DIVcartSumItemsList',\n\t\t\t\tDIVNoItem: '#DIVNoItem',\n\t\t\t\tulMarkupDIVcartSumItemsList: '
',\n\t\t\t\thdCashSubtotal: '#hdCashSubtotal',\n\t\t\t\thdPointsSubtotal: '#hdPointsSubtotal',\n\t\t\t\thdPointsSubtotalDiscount: '#hdPointsSubtotalDiscount',\n\t\t\t\thdQtyClass: '.Qty',\n\t\t\t\thdItemDescrClass: '.ItemDescr',\n\t\t\t\thdCashClass: '.price-cash',\n\t\t\t\thdPointsClass: '.price-points',\n\t\t\t}\n\t\t}\n\t\tthis.promoProps = promoProps || {}\n\t\tthis.elementIDs = {\n\t\t\t...defaultElementIds,\n\t\t\t...elementIDs\n\t\t}\n\t\tthis.lightboxProps = lightboxProps\n\t\tthis.hasSubInCartNote = hasSubInCartNote\n\t\tthis.cartItems = cartItems\n\t}\n\n\tget _cartItems() {\n\t\treturn this.cartItems\n\t}\n\n\tset _cartItems(newCartItems) {\n\t\tthis.cartItems = newCartItems\n\t}\n\n\tgetPromoValue(name: string): string {\n\t\treturn this.promoProps[name]\n\t}\n\n\tsetPromoValue(name: string, value: string): void {\n\t\tthis.promoProps[name] = value\n\t}\n\n\tpopulateItemUl(ct: number): void {\n\t\tlet htmlString=''\n\t\tfor (let i = 0; i < ct; i++) {\n\t\t\thtmlString+=this.lightboxProps.lbItemWrapUl.replace(/%K%/g,i.toString())\n\t\t}\t\t\n\t\thtmlString+=this.lightboxProps.lbItemWrapAfterUl\n\t\t$('#lbItemWrap').html(htmlString)\n\t}\n\n\tupdateQuickCart(justAddedArray: JustAddedArray[], ajaxResults: string, productIndex: number, triggerElement?: HTMLElement): void {\n\t\tif (ajaxResults !== '') {\n\t\t\tlet sumCartQty = 0\n\t\t\tconst dsItemRowCount = CommonUtils.getXMLDataTableRowCount('dsBasket', 1, ajaxResults)\n\t\t\tfor (let i = 0; i < dsItemRowCount; i++) {\n\t\t\t\tsumCartQty += parseInt(CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'qtyOrd', ajaxResults))\n\t\t\t}\n\t\t\tconst bubbleCnt = $(this.elementIDs.headerCart.bubbleCnt)\n\t\t\tconst labelAux = $(this.elementIDs.headerCart.labelAux)\n\t\t\tif (bubbleCnt.length) {\n\t\t\t\t$(this.elementIDs.headerCart.cartSumQty).show()\n\t\t\t\tbubbleCnt.html(sumCartQty.toString())\n\t\t\t\tlabelAux.html(`${sumCartQty.toString() === '1' ? 'item' : 'items'}`)\n\t\t\t}\n\t\t\tthis.populateItemUl(justAddedArray.length)\n\t\t\tfor (let ct = 0; ct < this.lightboxProps.numItemContainer; ct++) {\n\t\t\t\tlet lbItemContainer = $(`${this.elementIDs.lightboxCart.lbItemContainerPrefix}${ct}`)\n\t\t\t\tif (justAddedArray.length > ct) {\n\t\t\t\t\tif (lbItemContainer.length) {\n\t\t\t\t\t\tlet lbItemImage = $(`${this.elementIDs.lightboxCart.lbImagePrefix}${ct}`)\n\t\t\t\t\t\tlet lbItemName = $(`${this.elementIDs.lightboxCart.lbProdNamePrefix}${ct}`)\n\t\t\t\t\t\tlet lbItemCurrentPrice = $(`${this.elementIDs.lightboxCart.lbCurrentPricePrefix}${ct}`)\n\t\t\t\t\t\tlet lbItemCurrentPoints = $(`${this.elementIDs.lightboxCart.lbCurrentPointsPrefix}${ct}`)\n\t\t\t\t\t\tlet lbItemListPrice = $(`${this.elementIDs.lightboxCart.lbListPricePrefix}${ct}`)\n\t\t\t\t\t\tlet lbItemListPoints = $(`${this.elementIDs.lightboxCart.lbListPointsPrefix}${ct}`)\n\t\t\t\t\t\tlet lbItemQty = $(`${this.elementIDs.lightboxCart.lbQtyPrefix}${ct}`)\n\t\t\t\t\t\tlbItemImage.attr('src', justAddedArray[ct].image)\n\t\t\t\t\t\tlbItemImage.attr('alt', justAddedArray[ct].descr)\n\t\t\t\t\t\tlbItemName.html(justAddedArray[ct].descr)\n\t\t\t\t\t\tif (justAddedArray[ct].extensionGroup !== '') {\n\t\t\t\t\t\t\tlet tmpExtNameArray = justAddedArray[ct].extension.split(';')\n\t\t\t\t\t\t\tfor (let x = 0; x < this.lightboxProps.maxNumExtenionPerItem; x++) {\n\t\t\t\t\t\t\t\tif (tmpExtNameArray[x] !== '' && tmpExtNameArray[x] !== undefined) {\n\t\t\t\t\t\t\t\t\t$(`${this.elementIDs.lightboxCart.lbExtPrefix}${ct}-${x}`).html(tmpExtNameArray[x])\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t$(`${this.elementIDs.lightboxCart.lbExtPrefix}${ct}-${x}`).html('')\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (justAddedArray[ct].invtID.toUpperCase().indexOf('SUB') === -1) {\n\t\t\t\t\t\t\tlbItemListPoints.removeAttr('style')\n\t\t\t\t\t\t\tlbItemCurrentPoints.removeAttr('style')\n\t\t\t\t\t\t\tif (justAddedArray[ct].points !== justAddedArray[ct].listpoints) {\n\t\t\t\t\t\t\t\tlbItemListPoints.html(`Regular price ${CommonUtils.formatPoints(justAddedArray[ct].listpoints)} Points`)\n\t\t\t\t\t\t\t\tlbItemCurrentPoints.html(`Sale price ${CommonUtils.formatPoints(justAddedArray[ct].points)} Points`)\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tlbItemListPoints.html('')\n\t\t\t\t\t\t\t\tlbItemCurrentPoints.html(`${CommonUtils.formatPoints(justAddedArray[ct].points)} Points`)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tpriceViewConfig.propsDisablePoints.hasSubInCart = true\n\t\t\t\t\t\t\tlbItemListPoints.html('')\n\t\t\t\t\t\t\tlbItemCurrentPoints.html('')\n\t\t\t\t\t\t\tlbItemListPoints.hide()\n\t\t\t\t\t\t\tlbItemCurrentPoints.hide()\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (justAddedArray[ct].price !== justAddedArray[ct].listprice) {\n\t\t\t\t\t\t\tSalesforceAbandonedCartUtils.addCartOrOrderData({\n\t\t\t\t\t\t\t\titem: justAddedArray[ct].itemID,\n\t\t\t\t\t\t\t\tquantity: justAddedArray[ct].qty,\n\t\t\t\t\t\t\t\tprice: justAddedArray[ct].listprice,\n\t\t\t\t\t\t\t\tsalePrice: justAddedArray[ct].price,\n\t\t\t\t\t\t\t\tuniqueId: justAddedArray[ct].invtID\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tlbItemListPrice.html(`Regular price ${CommonUtils.formatCurrency(justAddedArray[ct].listprice)}`)\n\t\t\t\t\t\t\tlbItemCurrentPrice.html(`Sale price ${CommonUtils.formatCurrency(justAddedArray[ct].price)}`)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tSalesforceAbandonedCartUtils.addCartOrOrderData({\n\t\t\t\t\t\t\t\titem: justAddedArray[ct].itemID,\n\t\t\t\t\t\t\t\tquantity: justAddedArray[ct].qty,\n\t\t\t\t\t\t\t\tprice: justAddedArray[ct].listprice,\n\t\t\t\t\t\t\t\tsalePrice: undefined,\n\t\t\t\t\t\t\t\tuniqueId: justAddedArray[ct].invtID\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tlbItemListPrice.html('')\n\t\t\t\t\t\t\tlbItemCurrentPrice.html(CommonUtils.formatCurrency(justAddedArray[ct].price))\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (justAddedArray[ct].qty !== '0' && justAddedArray[ct].qty !== '') {\n\t\t\t\t\t\t\tlbItemQty.html(justAddedArray[ct].qty)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlbItemContainer.show()\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tlbItemContainer.hide()\n\t\t\t\t}\n\t\t\t}\n\t\t\tSalesforceAbandonedCartUtils.trackCart()\n\t\t\t//GA Remarketing\n\t\t\ttrackATC(dsItemRowCount, ajaxResults, justAddedArray)\n\t\t\t$(this.elementIDs.headerCart.DIVNoItem).hide()\n\t\t\t$(this.elementIDs.headerCart.DIVitemHead).show()\n\t\t\t$(this.elementIDs.headerCart.DIVcartSumItemsList).show()\n\t\t\t$(this.elementIDs.headerCart.DIVcartSumItemsList).html('')\n\t\t\t$(this.elementIDs.headerCart.DIVcartSumItemsList).append(`${this.hasSubInCartNote}`)\n\t\t\tfor (let i = 0; i < dsItemRowCount; i++) {\n\t\t\t\t$(this.elementIDs.headerCart.DIVcartSumItemsList).append(this.elementIDs.headerCart.ulMarkupDIVcartSumItemsList)\n\t\t\t\tconst currentBasketID = CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'basketID', ajaxResults)\n\t\t\t\tconst dsBasketExtensionsCount = CommonUtils.getXMLDataTableRowCount('dsBasketExtensions', 0, ajaxResults)\n\t\t\t\tlet sumProdName = CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'Descr', ajaxResults)\n\t\t\t\tsumProdName = sumProdName.replace('<br>', '
').replace('<sup>', '').replace('</sup>', '')\n\t\t\t\tlet ItemDescrString = `

${sumProdName}`\n\t\t\t\tfor (let be = 0; be < dsBasketExtensionsCount; be++) {\n\t\t\t\t\tif (currentBasketID === CommonUtils.getXMLDataFieldValue('dsBasketExtensions', 0, be, 'basketID', ajaxResults)) {\n\t\t\t\t\t\tItemDescrString += `${CommonUtils.getXMLDataFieldValue('dsBasketExtensions', 0, be, 'Descr', ajaxResults)}`\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tItemDescrString += '

'\n\t\t\t\t$(`${this.elementIDs.headerCart.DIVcartSumItemsList} ul:nth-child(${i + 2}) ${this.elementIDs.headerCart.hdItemDescrClass}`).html(ItemDescrString)\n\t\t\t\t$(`${this.elementIDs.headerCart.DIVcartSumItemsList} ul:nth-child(${i + 2}) ${this.elementIDs.headerCart.hdCashClass}`).html(CommonUtils.formatCurrency(CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'CurySlsPrice', ajaxResults)))\n\t\t\t\tif (CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'alternateID', ajaxResults).toUpperCase().indexOf('SUB') === -1) {\n\t\t\t\t\t$(`${this.elementIDs.headerCart.DIVcartSumItemsList} ul:nth-child(${i + 2}) ${this.elementIDs.headerCart.hdPointsClass}`).html(`${CommonUtils.formatPoints(CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'User5', ajaxResults))} Points`)\n\t\t\t\t} else {\n\t\t\t\t\t$(`${this.elementIDs.headerCart.DIVcartSumItemsList} ul:nth-child(${i + 2}) ${this.elementIDs.headerCart.hdPointsClass}`).html('NA')\n\t\t\t\t}\n\t\t\t\t$(`${this.elementIDs.headerCart.DIVcartSumItemsList} ul:nth-child(${i + 2}) ${this.elementIDs.headerCart.hdQtyClass}`).html(CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'QtyOrd', ajaxResults))\n\t\t\t}\n\t\t\tconst lbSumQty = $(this.elementIDs.lightboxCart.lbSumQty)\n\t\t\tif (lbSumQty.length) {\n\t\t\t\tlet lbSumQtyString = `${parseInt(sumCartQty.toString())} item${(sumCartQty > 1 ? 's' : '')}`\n\t\t\t\tlbSumQty.html(lbSumQtyString)\n\t\t\t}\n\t\t\tconst lbCashSubtotal = $(this.elementIDs.lightboxCart.lbCashSubtotal)\n\t\t\tif (lbCashSubtotal.length) {\n\t\t\t\tlbCashSubtotal.html(CommonUtils.formatCurrency(CommonUtils.getXMLDataFieldValue('dsBasket', 0, 0, 'curyTotMerch', ajaxResults)))\n\t\t\t}\n\t\t\tconst lbPointsSubtotal = $(this.elementIDs.lightboxCart.lbPointsSubtotal)\n\t\t\tif (lbPointsSubtotal.length) {\n\t\t\t\tconst firstItemOfItemsAddedToTheCart = justAddedArray[0]\n\t\t\t\tconst isSubscriptionItem = firstItemOfItemsAddedToTheCart && firstItemOfItemsAddedToTheCart.invtID.toUpperCase().includes('SUB')\n\t\t\t\tif (isSubscriptionItem) {\n\t\t\t\t\tlbPointsSubtotal.html('NA')\n\t\t\t\t} else {\n\t\t\t\t\tlbPointsSubtotal.html(`${CommonUtils.formatPoints(CommonUtils.getXMLDataFieldValue('dsBasket', 0, 0, 'User6', ajaxResults))} Points`)\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst hdCashSubtotal = $(this.elementIDs.headerCart.hdCashSubtotal)\n\t\t\tif (hdCashSubtotal.length) {\n\t\t\t\thdCashSubtotal.html(CommonUtils.formatCurrency(CommonUtils.getXMLDataFieldValue('dsBasket', 0, 0, 'curyTotMerch', ajaxResults)))\n\t\t\t}\n\t\t\tconst hdPointsSubtotal = $(this.elementIDs.headerCart.hdPointsSubtotal)\n\t\t\tif (hdPointsSubtotal.length) {\n\t\t\t\thdPointsSubtotal.html(`${CommonUtils.formatPoints(CommonUtils.getXMLDataFieldValue('dsBasket', 0, 0, 'User6', ajaxResults))} Points`)\n\t\t\t}\n\t\t\tconst hdPointsSubtotalDiscount = $(this.elementIDs.headerCart.hdPointsSubtotalDiscount)\n\t\t\tif (hdPointsSubtotalDiscount.length) {\n\t\t\t\thdPointsSubtotalDiscount.html(`${CommonUtils.formatPoints(CommonUtils.getXMLDataFieldValue('dsBasket', 0, 0, 'User6', ajaxResults))} Points`)\n\t\t\t}\n\t\t\tif (this.promoProps.promoType !== undefined) {\n\t\t\t\tif (this.promoProps.promoType.toUpperCase() === 'BMSM') {\n\t\t\t\t\tgetBMSMTotals(ajaxResults, sumCartQty)\n\t\t\t\t}\n\t\t\t}\n\t\t\tCommonUtils.showElement('DIVcartbtns')\n\t\t\tCommonUtils.showElement('overlay_LB')\n\t\t\tHAHAccessibility.trapFocus({\n\t\t\t\tcontainer: '.lbCartFocusTrap',\n\t\t\t\tcloseElement: '#overlay_LB',\n\t\t\t\tadditionalCloseElements: ['#closeLbBtn', '#continueShoppingBtn'],\n\t\t\t\ttablistUpdateElements: ['.cashTab', '.pointsTab'],\n\t\t\t\ttriggerHTMLElement: triggerElement\n\t\t\t})\n\t\t}\n\t\tCommonUtils.hideLoader()\n\t}\n\n\tdisplayPromoTotals(toggledView: string): void {\n\t\tif (this.getPromoValue('active')) {\n\t\t\tif (toggledView === 'points') {\n\t\t\t\t$('#lbCashSubtotalUL').hide()\n\t\t\t\t$('#lbDiscountSummary').hide()\n\t\t\t\t$('#lbPointsSubtotalUL').show()\n\t\t\t\t$('#hdULDiscount').hide()\n\t\t\t\t$('#hdULNoDiscount').show()\n\t\t\t} else {\n\t\t\t\t$('#lbCashSubtotalUL').hide()\n\t\t\t\t$('#lbDiscountSummary').show()\n\t\t\t\t$('#lbPointsSubtotalUL').hide()\n\t\t\t\t$('#hdULDiscount').show()\n\t\t\t\t$('#hdULNoDiscount').hide()\n\t\t\t}\n\t\t}\n\t\tif (priceViewConfig.propsDisablePoints.hasSubInCart) {\n\t\t\t$('#lbPointsSubtotalUL').hide()\n\t\t} else {\n\t\t\tif (toggledView === 'points') {\n\t\t\t\t$('#lbPointsSubtotalUL').show()\n\t\t\t}\n\t\t}\n\t}\n}\nconst quickCartObj = new QuickCart(classOptions)\n\nfunction trackATC(dsItemRowCount: number, ajaxResults: string, justAddedArray: JustAddedArray[]): void {\n\tlet cartViewAdobeLaunch = [] // Adobe Launch \n\tlet cartProductsAW = [] // Google Remarketing\n\tlet addToCartGA4 = [] //GA4 add-to-cart\n\tlet newCartItems: [CartItems?] = [] //new cartItems array post add-to-cart\n\tconst dsItemExtensionCount = CommonUtils.getXMLDataTableRowCount('dsBasketExtensions', 0, ajaxResults)\n\tconst dsItemExtension = []\n\tlet tmpIndex = 0\n\tfor (let i = 0; i < dsItemExtensionCount; i++) {\n\t\tdsItemExtension.push({\n\t\t\tbasketID: CommonUtils.getXMLDataFieldValue('dsBasketExtensions', 0, i, 'basketID', ajaxResults),\n\t\t\tsortIndex: parseInt(CommonUtils.getXMLDataFieldValue('dsBasketExtensions', 0, i, 'sortIndex', ajaxResults)),\n\t\t\textensionName: CommonUtils.getXMLDataFieldValue('dsBasketExtensions', 0, i, 'name', ajaxResults)\n\t\t})\n\t}\n\tfor (let i = 0; i < dsItemRowCount; i++) {\n\t\tlet matchedItem = quickCartObj._cartItems.find(item => item.invtID === CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'invtid', ajaxResults) && item.altID === CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'alternateid', ajaxResults))\n\t\tlet addedQty = 0\n\t\tif (matchedItem == undefined) {\n\t\t\taddedQty = parseInt(CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'qtyOrd', ajaxResults))\n\t\t} else {\n\t\t\tlet newQty = parseInt(CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'qtyOrd', ajaxResults))\n\t\t\tif (newQty > matchedItem.quantity) { addedQty = newQty - matchedItem.quantity };\n\t\t}\n\t\tlet addedCategory = CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'categoryName', ajaxResults)\n\t\tlet addedCategoryID = CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'categoryID', ajaxResults)\n\t\tlet invtIDCategory: any = {}\n\t\tif (addedQty !== 0) {\n\t\t\tif (addedCategory === '') {\n\t\t\t\tlet tempItemID = justAddedArray[0].itemID\n\t\t\t\taddedCategory = classOptions.itemProps[tempItemID].categoryName\n\t\t\t\taddedCategoryID = classOptions.itemProps[tempItemID].categoryID\n\t\t\t\t//set current category to added items that's not in any category\n\t\t\t\tinvtIDCategory = {\n\t\t\t\t\tinvtID: CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'invtID', ajaxResults),\n\t\t\t\t\talternateID: CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'alternateID', ajaxResults),\n\t\t\t\t\tcategory: CommonUtils.parseXMLData(addedCategory),\n\t\t\t\t\tcategoryID: addedCategoryID\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet tmpVariant = ''\n\t\t\tconst matchedItemExtension = dsItemExtension.filter(elem => elem.basketID === CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'basketID', ajaxResults))\n\t\t\tif (matchedItemExtension !== undefined) {\n\t\t\t\tmatchedItemExtension.sort((a: { sortIndex: number; }, b: { sortIndex: number; }) => a.sortIndex - b.sortIndex)\n\t\t\t\ttmpVariant = matchedItemExtension.map((item: { extensionName: string; }) => item.extensionName).join(';')\n\t\t\t}\n\t\t\tlet GA4Obj = {\n\t\t\t\titem_name: CommonUtils.parseXMLData(CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'Descr', ajaxResults)),\n\t\t\t\titem_id: CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'itemid', ajaxResults),\n\t\t\t\taffiliation: classOptions.affiliation,\n\t\t\t\tprice: parseFloat(CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'CurySlsPrice', ajaxResults)),\n\t\t\t\tdiscount: (CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'itemid', ajaxResults).toUpperCase().indexOf('-SUB') !== -1) ? 0 : Number((parseFloat(CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'CuryListPrice', ajaxResults)) - parseFloat(CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'CurySlsPrice', ajaxResults))).toFixed(2)),\n\t\t\t\tsubscription: (CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'itemid', ajaxResults).toUpperCase().indexOf('-SUB') !== -1) ? 'yes' : 'no',\n\t\t\t\titem_brand: classOptions.item_brand,\n\t\t\t\titem_category: CommonUtils.parseXMLData(addedCategory),\n\t\t\t\tquantity: addedQty || 1,\n\t\t\t\tindex: tmpIndex,\n\t\t\t\titem_list_id: CommonUtils.parseXMLData(addedCategoryID),\n\t\t\t\titem_list_name: CommonUtils.parseXMLData(addedCategory)\n\t\t\t}\n\t\t\tif (tmpVariant !== '') GA4Obj['item_variant'] = CommonUtils.parseXMLData(tmpVariant)\n\t\t\taddToCartGA4.push(GA4Obj)\n\t\t\ttmpIndex++\n\t\t}\n\t\t//added basket-category mapping to localStorage as a workaround for items not in any category\n\t\tif (Object.keys(invtIDCategory).length !== 0) {\n\t\t\tif (localStorage['invtid_category'] !== '' && localStorage['invtid_category'] !== undefined) {\n\t\t\t\tconst invtIDCategoryArray = JSON.parse(localStorage['invtid_category'])\n\t\t\t\tconst filteredArray = invtIDCategoryArray.filter((item: { invtID: string, alternateID: string }) => !(item.invtID === invtIDCategory.invtID && item.alternateID === invtIDCategory.alternateID))\n\t\t\t\tif (filteredArray.length === 0) {\n\t\t\t\t\tlocalStorage['invtid_category'] = `[${JSON.stringify(invtIDCategory)}]`\n\t\t\t\t} else {\n\t\t\t\t\tfilteredArray.push(invtIDCategory)\n\t\t\t\t\tlocalStorage['invtid_category'] = JSON.stringify(filteredArray)\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlocalStorage['invtid_category'] = `[${JSON.stringify(invtIDCategory)}]`\n\t\t\t}\n\t\t}\n\t\tnewCartItems.push({\n\t\t\tinvtID: CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'invtid', ajaxResults),\n\t\t\taltID: CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'alternateid', ajaxResults),\n\t\t\tquantity: parseInt(CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'qtyOrd', ajaxResults))\n\t\t})\n\t\tcartViewAdobeLaunch.push({\n\t\t\tname: CommonUtils.parseXMLData(CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'descr', ajaxResults)),\n\t\t\tsku: CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'invtid', ajaxResults),\n\t\t\tprice: parseFloat(CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'CurySlsPrice', ajaxResults)).toFixed(2),\n\t\t\tquantity: CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'qtyOrd', ajaxResults) || 1,\n\t\t\tcategory: CommonUtils.parseXMLData(CommonUtils.getXMLDataFieldValue('dsBasket', 1, i, 'categoryname', ajaxResults))\n\t\t})\n\t}\n\tquickCartObj._cartItems = newCartItems\n\tfor (let ct = 0; ct < justAddedArray.length; ct++) {\n\t\tcartProductsAW.push({\n\t\t\tid: justAddedArray[ct].itemID.replace('-SUB-12', '').replace('-SUB', ''),\n\t\t\tgoogle_business_vertical: 'retail'\n\t\t})\n\t}\n\tconst mainItem = {\n\t\tid: justAddedArray[0].itemID,\n\t\tname: justAddedArray[0].descr,\n\t\tcategory: classOptions.itemProps[justAddedArray[0].itemID].categoryName,\n\t\tvalue: Number(Number(justAddedArray[0].price) * Number(justAddedArray[0].qty)).toFixed(2)\n\t}\n\tlet totalValueAddToCart = Number((addToCartGA4.reduce((total: number, item: { price: number; quantity: number; discount: number }) => total + (item.price * item.quantity), 0)).toFixed(2))\n\t//GA4 add_to_cart\n\tdataLayer.push({ ecommerce: null }) // Clear the previous ecommerce object.\n\tdataLayer.push({\n\t\t'event': 'add_to_cart',\n\t\t'ecommerce': {\n\t\t\t'currency': 'USD',\n\t\t\t'value': totalValueAddToCart,\n\t\t\t'items': addToCartGA4\n\t\t},\n\t\t'event_value': totalValueAddToCart,\n\t\t'event_items': cartProductsAW,\n\t\t'mainItem': mainItem\n\t})\n\t//Adobe Launch\n\tdataLayer.cartView = {\n\t\tproducts: cartViewAdobeLaunch,\n\t\ttotalCost: CommonUtils.getXMLDataFieldValue('dsBasket', 0, 0, 'curyTotMerch', ajaxResults),\n\t\tcurrencyCode: 'USD'\n\t}\n}\n\n/******* Interfaces *******/\n\ninterface JustAddedArray {\n\titemID: string;\n\tinvtID: string;\n\tdescr: string;\n\timage: string;\n\textensionGroup: string;\n\textension: string;\n\tprice: string;\n\tlistprice: string;\n\tpoints: string;\n\tlistpoints: string\n\tqty: string;\n}\n\ninterface productJustAdded {\n\tinvtID: string;\n\tcategory: string;\n\taltID: string;\n}\n\ninterface ElementIDs {\n\tlightboxCart: {\n\t\tlbSumQty: string;\n\t\tlbSubtotal: string;\n\t\tlbCashSubtotal: string;\n\t\tlbPointsSubtotal: string;\n\t\tlbItemContainerPrefix: string;\n\t\tlbImagePrefix: string;\n\t\tlbProdNamePrefix: string;\n\t\tlbCurrentPricePrefix: string;\n\t\tlbListPricePrefix: string;\n\t\tlbCurrentPointsPrefix: string;\n\t\tlbListPointsPrefix: string;\n\t\tlbExtPrefix: string;\n\t\tlbQtyPrefix: string;\n\t},\n\theaderCart: {\n\t\tlabelAux: string;\n\t\tcartSumQty: string;\n\t\tbubbleCnt: string;\n\t\tDIVitemHead: string;\n\t\tDIVcartSumItemsList: string;\n\t\tDIVNoItem: string;\n\t\tulMarkupDIVcartSumItemsList: string;\n\t\thdItemDescrClass: string;\n\t\thdCashClass: string;\n\t\thdPointsClass: string;\n\t\thdQtyClass: string;\n\t\thdSubtotal: string;\n\t\thdQty: string;\n\t\thdItemDescr: string;\n\t\thdPrice: string;\n\t\thdCashSubtotal: string;\n\t\thdPointsSubtotal: string;\n\t\thdPointsSubtotalDiscount: string;\n\t}\n}\n"]}