{"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","sumCartQty","dsItemRowCount","getXMLDataTableRowCount","getXMLDataFieldValue","show","html","ct","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\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\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"]}