Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks at Concordia Style Boutique (2025)

Skip to content

Welcome to Concordia Style Boutique - Get 10% Off Your Order!

Concordia Style Boutique
Log in Cart

Item added to your cart

Skip to product information
  • Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks at Concordia Style Boutique (1)

  • Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks at Concordia Style Boutique (2)

  • Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks at Concordia Style Boutique (3)

1 / of 4

Pursonic

Regular price $59.99 USD

Regular price Sale price $59.99 USD

Unit price / per

Sale Sold out

Shipping calculated at checkout.

  1. Pursonic Facial Steamer Hot Mist Moisturizing Spa: Transform your skincare routine with the Pursonic Facial Steamer Hot Mist Moisturizing Spa. This professional-quality facial steamer nourishes the skin, extracts blackheads, unclogs pores, and rejuvenates your complexion for a youthful glow.

    • Opens & Unclogs Pores
    • Nano Steam Technology for Better Absorption
    • Improves Circulation & Fights Acne
    • Lightweight & Portable Design
  2. Pursonic FC110 Advanced Facial Cleansing Brush: The Pursonic FC110 Facial Cleansing Brush delivers superior cleansing and gentle exfoliation for radiant skin. With its rotating brush heads and versatile attachments, it's your go-to tool for a thorough skincare routine.

    • 2-Speed Rotating Brush for Deep Cleansing
    • 360-Degree Rotation for Thorough Cleansing
    • Includes 5 Attachments for Various Skin Needs
    • Battery Operated for Home or Travel
  3. 3 Pack Facial Therapy Gel Face Mask With Mask Applicator: Indulge in luxurious skincare with the 3 Pack Facial Therapy Gel Face Mask. Each mask, infused with unique ingredients, targets specific skincare concerns, leaving your skin refreshed and rejuvenated.

    • Grapefruit & Collagen: Anti-Aging
    • Shea Butter & Coconut Oil: Moisturizing
    • Aloe Vera & Tea Tree: Pore Refining
    • Includes Mask Applicator for Easy Application

How to Use: Thoroughly clean and dry your face. Dip the mask applicator into the jar and scoop a desired amount. Spread evenly over the face, avoiding eyes and lips. Wear the mask for 10 to 15 minutes for best results. Wash off all remaining residue immediately after treatment. Refrain from using if you have sensitive skin or are allergic to any listed ingredients. Recommended usage: 2 to 3 times a week. Clean the brush after every use with warm water and mild soap.

Elevate your skincare routine with the Pursonic Spa Facial Care Bundle, designed to pamper your skin and reveal its natural radiance.

Materials

Shipping & Returns

Dimensions

Care Instructions

View full details

Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks at Concordia Style Boutique (4)Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks at Concordia Style Boutique (5)Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks at Concordia Style Boutique (6)

  • Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks at Concordia Style Boutique (7)

    Shipping:

  • Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks at Concordia Style Boutique (8)

    Exchange/Return Policy + Refunds

    Exchange/Return Policy + Refund Information

  • If you don't have a PayPal account, you can still use Paypal.

    Even if you don't have a PayPal account, select PayPal and Click on "Complete Order."

×

Please wait...

Make An Offer

Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks at Concordia Style Boutique (9)

Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks

$59.99

Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks at Concordia Style Boutique (10)

Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks

$59.99

×

Offerly Support

Don't fret! This pop up only shows up in Shopify Editor Mode. Offerly could not find your add to cart button! This can happen for one of the following reasons:

    1. This product is sold out.
      To solve this please navigate to a different product!

    2. Your Theme is custom or uses different text for the "Add to Cart" button.
      If this is the case, please contact support and we will add support for your theme!

Default Title

`); var productTitleText = [...document.getElementById('modalProductTitle').children].map(child => child.textContent.trim()).join(' / '); var productCollections = [{"id":287056756888,"handle":"all","title":"All","updated_at":"2025-06-11T21:54:28-04:00","body_html":"\u003ch2\u003e\u003cstrong\u003eAll Products:\u003c\/strong\u003e\u003c\/h2\u003e\n\u003csection id=\"shopify-section-template--15599346253976__rich_text\" class=\"shopify-section section\"\u003e\n\u003cdiv class=\"isolate\"\u003e\n\u003cdiv class=\"rich-text content-container color-background-1 gradient rich-text--full-width content-container--full-width section-template--15599346253976__rich_text-padding\"\u003e\n\u003cdiv class=\"rich-text__wrapper rich-text__wrapper--center page-width\"\u003e\n\u003cdiv class=\"rich-text__blocks center\"\u003e\n\u003ch4 class=\"rich-text__heading rte h2\" style=\"text-align: center;\" data-mce-style=\"text-align: center;\"\u003eConcordia Style Boutique - We sell health products, organic products, eco-friendly products, NFTs, clothing, shoes, cosmetics, supplements, coffee, art, jewelry, \u0026amp; other useful products for healthy living!\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e","published_at":"2022-11-25T12:09:31-05:00","sort_order":"created-desc","template_suffix":"","disjunctive":true,"rules":[{"column":"type","relation":"not_equals","condition":"Digital Track"}],"published_scope":"web","image":{"created_at":"2022-12-29T02:20:53-05:00","alt":null,"width":1000,"height":1000,"src":"\/\/concordia.style\/cdn\/shop\/collections\/1200_x_1200_Square.jpg?v=1742965925"}},{"id":286545969304,"handle":"tech-accessories","updated_at":"2025-06-11T14:09:50-04:00","published_at":"2022-11-08T08:35:42-05:00","sort_order":"price-desc","template_suffix":"","published_scope":"web","title":"Tech \u0026 Tech Accessories","body_html":"\u003cp\u003eTech and Tech Accessories\u003c\/p\u003e","image":{"created_at":"2022-12-29T02:26:56-05:00","alt":null,"width":1200,"height":1200,"src":"\/\/concordia.style\/cdn\/shop\/collections\/a48ef977d996fea5f0d2d0fe17eeacd7.png?v=1705509644"}}]; var offeringMatch = false; var collectionsString = ''; productCollections?.map((collection) => { collectionsString += collection.id + ','; }); var showButtonInformation = {productSelectorType: 'None', selectedProducts: ''} var autoResponseDelay = 1; var delayAutoMessage = false; var quantityInput = document.querySelector('#productQuantity') || document.querySelector('input[name="quantity"]:not(.offerInput)') || document.querySelector('.product-form__quantity') || document.querySelector('select[name="quantity"]') || document.querySelector('quantity-input'); if (quantityInput && 60650651800 != 69336465675) { var offerQuantityDiv = document.getElementById('offerQuanitityInput'); offerQuantityDiv.style.display = 'block'; quantityInput.addEventListener('input', function (event) { updateQuantity(event.target.value); }); } if (quantityInput && 60650651800 == 9177890913 && !isVisibleElement(quantityInput.parentElement)) { var offerQuantityDiv = document.getElementById('offerQuanitityInput'); offerQuantityDiv.style.display = 'none'; } var hideQuantityInput = [92120383828, 85519761744, 69336465675,61879943221,69664833775,86812131607,50712314049,51222872236,49644142759, 29972538, 55821271211, 68611277022, 60675686513]; if (quantityInput && hideQuantityInput.includes(60650651800)) { var offerQuantityDiv = document.getElementById('offerQuanitityInput'); offerQuantityDiv.style.display = 'none'; } var modalProductDescription = document.getElementById('modalProductDescription'); if (modalProductDescription && modalProductDescription.textContent.length > 200) { modalProductDescription.textContent = modalProductDescription.textContent.substring(0, 200) + '...'; } addButtonListenerToAllOBlocks(); mountOfferlyModalAtEndOfBody(); populateUserInformation(); fixColorOfTexts(); hidePriceForStores(); showCompareAtPrice(); document.getElementById('offerAmountInput').addEventListener('input', validateOfferAmount); document.getElementById('submitOfferButton').onclick = function(){ submitOffer(); }; document.getElementById('offerQuanitityInput').addEventListener('input', validateOfferAmount); document.addEventListener('DOMContentLoaded', function () { function usePushState(handler) { function track(fn, handler, before) { return function interceptor() { if (before) { handler.apply(this, arguments); return fn.apply(this, arguments); } else { var result = fn.apply(this, arguments); handler.apply(this, arguments); return result; } }; } var currentVariantId = null; function variantHandler() { var selectedVariantId = window.location.search.replace(/.*variant=(\d+).*/, '$1'); if (!selectedVariantId) return; if (selectedVariantId != currentVariantId) { currentVariantId = selectedVariantId; handler(selectedVariantId); } } window.history.pushState = track(history.pushState, variantHandler); window.history.replaceState = track(history.replaceState, variantHandler); window.addEventListener('popstate', variantHandler); } usePushState(function (variantId) { productVariantId = variantId; selectedVariantId = variantId; updateModalInformation(variantId); var shouldShowButton = showOButton(); var addToCartButton = findAddToCartButton(); if (shouldShowButton && !document.getElementById('offerButton') && addToCartButton) { hideAddToCartButton(); addOfferButton(); } if(!shouldShowButton && document.getElementById('offerButton')){ var offerButton = document.getElementById('offerButton'); if (offerButton){ offerButton.remove(); showAddToCartButton(); } } if (shouldShowButton && !addToCartButton) { var offerButton = document.getElementById('offerButton'); if (offerButton){ offerButton.remove(); showAddToCartButton(); } } }); }); document.addEventListener('keydown', function (event) { if (event.key === 'Escape') { var modal = document.getElementById('OfferlyModalDiv'); if (modal.style.display === 'flex') { closeOfferlyModal(); } var supportModal = document.getElementById('OfferlySupportDiv'); if (supportModal.style.display === 'flex') { supportModal.style.display = 'none'; } } }); window.onclick = function (event) { if (event.target == modal) { modal.style.display = 'none'; if (Shopify.designMode) { localStorage.setItem('offerButtonClicked', 'false'); } } }; window.addEventListener('resize', function() { var offerButton = document.getElementById('offerButton'); var addToCartButton = findAddToCartButton(); if (offerButton && addToCartButton) { updateOfferButton(offerButton, addToCartButton); } }); //addListenerForVariantUpdates(); function checkForExistinCheckOutCode(variantID){ var storedData = localStorage.getItem('Offerly-' + variantID); var storesToNotCheck = [29972538] if (storedData && !storesToNotCheck.includes(60650651800)){ var parsedData = JSON.parse(storedData) updateModalState("Congratulations!", "Great news! Your offer was accepted. Click below to proceed to checkout with your discount applied!", "Checkout", function(){checkoutButton(parsedData.checkoutLink)} , parsedData) } } var existingOfferings = '{"autoOpenModal":false,"autoOpenModalDelay":15,"startTimerWhenInactive":false,"exitIntentModal":false,"offerings":[{"products":"284640280728,","productSelectorType":"collections","automatedResponseDelay":5,"delayAutomatedResponse":false}]}'; function handleShowButtonInformation(data) { showButtonInformation = data; var shouldShowButton = showOButton(); if (shouldShowButton) { hideAddToCartButton(); addOfferButton(); if (showButtonInformation.exitIntentModal) { setupExitIntent(() => { openOModal(true); }); } } if (showButtonInformation.autoOpenModal && shouldShowButton) { if (showButtonInformation.startTimerWhenInactive) { inactivityAlertOfferly(showButtonInformation.autoOpenModalDelay * 1000); } else { setTimeout(function () { openOModal(true); }, showButtonInformation.autoOpenModalDelay * 1000); } } } if (existingOfferings != 'Does Not Exist') { mixpanel.track("Metafields Found", { shop: `concordia.style`, }); handleShowButtonInformation(JSON.parse(existingOfferings)); } else { mixpanel.track("Metafields Missed", { shop: `concordia.style`, }); fetch(`/apps/offerly-proxy/app/acceptOffers/?${new URLSearchParams({ collections: collectionsString, product: productVariantId })}`, { method: 'GET' }) .then((response) => response.json()) .then(handleShowButtonInformation) .catch((error) => { mixpanel.track("Loading Error", { shop: `concordia.style`, productTitle: `Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks`, error: error }); console.error(error); }); } function mountOfferlyModalAtEndOfBody() { var modal = document.getElementById('OfferlyModalDiv'); if (modal) { document.body.appendChild(modal); } } function showCompareAtPrice() { if (false) { var compareAtPrice = document.getElementById('modalCompareAtPrice'); if (compareAtPrice) { compareAtPrice.style.display = 'block'; } } } function updateLabelsForStores(){ var storesForUpdatingLabels = [75733958923, 65878524168, 50712314049,59154694339,27598913611,82524504395,68350411027,95082053896,29972538,67982688425,67982688425,66690154658] if (storesForUpdatingLabels.includes(60650651800) ) { var offerNameLabel = document.querySelector('label.offerly-text.offerly-input-label[for="offerName"]'); var offerNameInput = document.querySelector('input.offerInput.offerly-text[name="customerName"]'); var offerEmailLabel = document.querySelector('label.offerly-text.offerly-input-label[for="offerEmail"]'); var offerEmailInput = document.querySelector('input.offerInput.offerly-text[name="customerEmail"]'); var offerAmountLabel = document.querySelector('label.offerly-text.offerly-input-label[for="offerAmount"]'); var offerAmountInput = document.querySelector('input.offerInput.offerly-text[name="offerAmount"]'); var additionalInformationLabel = document.querySelector('label.offerly-text.offerly-input-label[for="additionalInformation"]'); var additionalInformationInput = document.querySelector('textarea.offerInput.offerly-text[name="additionalTextField"]'); var phoneLabel = document.querySelector('label.offerly-text.offerly-input-label[for="offerPhone"]'); var phoneInput = document.querySelector('input.offerInput.offerly-text[name="customerPhone"]'); var offerlyHeaderStoreLogo = document.getElementById('offerlyHeaderStoreLogo'); var header = document.getElementById('offerlyModalHeader'); var modalProductTitle = document.getElementById('productTitleOfferModal'); var modalPrice = document.getElementById('modalPrice'); var modalProductDescription = document.getElementById('modalProductDescription'); var offerDescriptionDiv = document.getElementById('offerDescriptionDiv'); var image = document.getElementById('offerImage'); var submitOfferButton = document.getElementById('submitOfferButton'); if (60650651800 == 67982688425){ offerNameLabel.innerHTML = 'First name'; } if (60650651800 == 75733958923){ header.innerHTML = 'Dein Preisvorschlag'; offerAmountLabel.innerHTML = 'Dein Preisvorschlag'; offerAmountInput.placeholder = 'Dein Preisvorschlag'; submitOfferButton.innerHTML = 'Preisvorschlag senden'; } if (60650651800 == 66690154658){ offerAmountLabel.innerHTML = 'Name a fair price'; offerEmailInput.placeholder = 'Enter your email'; offerAmountInput.placeholder = '0+'; header.innerHTML = 'Claim your brushes/files'; submitOfferButton.innerHTML = 'Get now'; } if (60650651800 == 65878524168){ header.innerHTML = 'Dein Preisvorschlag'; } if (60650651800 == 68350411027 || 60650651800 == 95082053896){ header.innerHTML = 'Ihr Preisvorschlag' offerNameLabel.innerHTML = 'Ihr Name'; offerNameInput.placeholder = ''; offerEmailLabel.innerHTML = 'Ihre E-Mail-Adresse'; offerEmailInput.placeholder = ''; offerAmountLabel.innerHTML = 'Ihr Preisvorschlag'; offerAmountInput.placeholder = ''; if (phoneInput && phoneLabel) { phoneLabel.innerHTML = 'Ihre Mobilnummer'; phoneInput.placeholder = ''; } submitOfferButton.innerHTML = 'Absenden'; } if (60650651800 == 67982688425){ offerNameInput.placeholder = 'Enter your first name'; offerNameLabel.innerHTML = 'First name'; offerEmailLabel.innerHTML = 'Email'; offerEmailInput.placeholder = 'Enter your email'; submitOfferButton.innerHTML = 'Submit Offer'; } if (60650651800 == 82524504395){ header.style.textTransform = 'uppercase' } if (60650651800 == 29972538){ header.innerHTML = 'Make A Payment'; offerAmountLabel.innerHTML = 'Payment Amount'; offerAmountInput.placeholder = 'Enter your payment amount'; image.src = 'https://cdn.shopify.com/s/files/1/1951/0265/files/ET_Logo_logobar_centered.png?v=1728047693' submitOfferButton.innerHTML = 'Send Payment'; } if(60650651800 == 50712314049){ offerNameLabel.innerHTML = 'Full Name'; offerNameInput.placeholder = 'Please enter your full name'; offerAmountLabel.innerHTML = 'Your Offer'; offerAmountInput.placeholder = 'Offer price excludes shipping'; additionalInformationLabel.innerHTML = 'Location'; phoneInput.placeholder = 'Phone number with country code'; var countrySelect = document.createElement('select'); countrySelect.id = 'OfferInput'; var placeholderOption = document.createElement('option'); placeholderOption.style.backgroundColor = '#313739'; placeholderOption.value = ''; placeholderOption.text = 'Country'; placeholderOption.disabled = true; countrySelect.appendChild(placeholderOption); additionalInformationInput.parentNode.insertBefore(countrySelect, additionalInformationInput); additionalInformationInput.remove(); var countries = ['Afghanistan', 'Albania', 'Algeria', 'Andorra', 'Angola', 'Antigua and Barbuda', 'Argentina', 'Armenia', 'Australia', 'Austria', 'Azerbaijan', 'Bahamas', 'Bahrain', 'Bangladesh', 'Barbados', 'Belarus', 'Belgium', 'Belize', 'Benin', 'Bhutan', 'Bolivia', 'Bosnia and Herzegovina', 'Botswana', 'Brazil', 'Brunei', 'Bulgaria', 'Burkina Faso', 'Burundi', "Côte d'Ivoire", 'Cabo Verde', 'Cambodia', 'Cameroon', 'Canada', 'Central African Republic', 'Chad', 'Chile', 'China', 'Colombia', 'Comoros', 'Congo (Congo-Brazzaville)', 'Costa Rica', 'Croatia', 'Cuba', 'Cyprus', 'Czechia (Czech Republic)', 'Democratic Republic of the Congo', 'Denmark', 'Djibouti', 'Dominica', 'Dominican Republic', 'Ecuador', 'Egypt', 'El Salvador', 'Equatorial Guinea', 'Eritrea', 'Estonia', 'Eswatini (fmr. "Swaziland")', 'Ethiopia', 'Fiji', 'Finland', 'France', 'Gabon', 'Gambia', 'Georgia', 'Germany', 'Ghana', 'Greece', 'Grenada', 'Guatemala', 'Guinea', 'Guinea-Bissau', 'Guyana', 'Haiti', 'Holy See', 'Honduras', 'Hong Kong' , 'Hungary', 'Iceland', 'India', 'Indonesia', 'Iran', 'Iraq', 'Ireland', 'Israel', 'Italy', 'Jamaica', 'Japan', 'Jordan', 'Kazakhstan', 'Kenya', 'Kiribati', 'Kuwait', 'Kyrgyzstan', 'Laos', 'Latvia', 'Lebanon', 'Lesotho', 'Liberia', 'Libya', 'Liechtenstein', 'Lithuania', 'Luxembourg', 'Madagascar', 'Malawi', 'Malaysia', 'Maldives', 'Mali', 'Malta', 'Marshall Islands', 'Mauritania', 'Mauritius', 'Mexico', 'Micronesia', 'Moldova', 'Monaco', 'Mongolia', 'Montenegro', 'Morocco', 'Mozambique', 'Myanmar (formerly Burma)', 'Namibia', 'Nauru', 'Nepal', 'Netherlands', 'New Zealand', 'Nicaragua', 'Niger', 'Nigeria', 'North Korea', 'North Macedonia', 'Norway', 'Oman', 'Pakistan', 'Palau', 'Palestine State', 'Panama', 'Papua New Guinea', 'Paraguay', 'Peru', 'Philippines', 'Poland', 'Portugal', 'Qatar', 'Romania', 'Russia', 'Rwanda', 'Saint Kitts and Nevis', 'Saint Lucia', 'Saint Vincent and the Grenadines', 'Samoa', 'San Marino', 'Sao Tome and Principe', 'Saudi Arabia', 'Senegal', 'Serbia', 'Seychelles', 'Sierra Leone', 'Singapore', 'Slovakia', 'Slovenia', 'Solomon Islands', 'Somalia', 'South Africa', 'South Korea', 'South Sudan', 'Spain', 'Sri Lanka', 'Sudan', 'Suriname', 'Sweden', 'Switzerland', 'Syria', 'Tajikistan', 'Tanzania', 'Thailand', 'Timor-Leste', 'Togo', 'Tonga', 'Trinidad and Tobago', 'Tunisia', 'Turkey', 'Turkmenistan', 'Tuvalu', 'Uganda', 'Ukraine', 'United Arab Emirates', 'United Kingdom', 'United States of America', 'Uruguay', 'Uzbekistan', 'Vanuatu', 'Venezuela', 'Vietnam', 'Yemen', 'Zambia', 'Zimbabwe']; countries.sort(); for (var i = 0; i < countries.length; i++) { var option = document.createElement('option'); option.style.backgroundColor = '#313739'; option.value = countries[i]; option.text = countries[i]; countrySelect.appendChild(option); } countrySelect.name = 'additionalTextField'; countrySelect.classList.add('offerInput'); countrySelect.classList.add('offerly-text'); countrySelect.value = ''; var offerQuanitityInput = document.getElementById('offerQuanitityInput'); var additionalInformationInput = document.getElementById('additionalInformationInput'); offerQuanitityInput.parentNode.insertBefore(additionalInformationInput, offerQuanitityInput); header.style.display = 'none'; offerlyHeaderStoreLogo.src = 'https://cdn.shopify.com/s/files/1/0507/1231/4049/files/smallwhitelogo.png?v=1716447954'; offerlyHeaderStoreLogo.style.display = 'flex'; var submitOfferButton = document.getElementById('submitOfferButton'); submitOfferButton.remove(); document.querySelector('.offerly-modal-content').appendChild(submitOfferButton); } if(60650651800 == 59154694339){ var offerlyModalContentGroup = document.querySelector('.offerly-modal-content-group'); offerlyModalContentGroup.style.alignItems = 'center'; var rightSide = document.getElementById('rightSide'); var productTitle = document.getElementById('modalProductTitle'); rightSide.prepend(productTitle); rightSide.style.flex = '1 1 215px'; var image = document.getElementById('offerImage'); image.style.paddingBottom = '0px'; var productTitleOfferModal = document.getElementById('productTitleOfferModal'); productTitleOfferModal.style.paddingBottom = '0px'; offerDescriptionDiv.style.display = 'block'; offerDescriptionDiv.style.width = '100%'; modalProductDescription.style.fontSize = '18px'; modalPrice.style.fontSize = '18px'; } if (60650651800 == 27598913611){ var offerSKUDiv = document.getElementById('offerSKUDiv'); offerSKUDiv.style.display = 'block'; } } } function addOfferButton() { var addToCartButton = findAddToCartButton(); if (!addToCartButton) { console.log('No add to cart button found'); return } var offerButton = document.createElement('button'); offerButton.id = 'offerButton'; var submitOfferButton = document.getElementById('submitOfferButton'); var modalAddToCartButton = document.getElementById('modalAddToCartButton'); offerButton.innerHTML = `make an offer` == 'make an offer' ? `Make An Offer` : `Make An Offer`; updateOfferButton(offerButton, addToCartButton); updateOfferButton(submitOfferButton, addToCartButton); updateOfferButton(modalAddToCartButton, addToCartButton); offerButton.addEventListener('click', function (event) { event.preventDefault(); event.stopPropagation(); updateModalInformation(selectedVariantId); openOModal(); }); if (60650651800 == 73665609995){ var modalHeader = document.getElementById('offerlyModalHeader'); modalHeader.innerHTML = 'Send Enquiry'; submitOfferButton.innerHTML = 'Enquire'; } if (60650651800 == 90128974103){ var modalHeader = document.getElementById('offerlyModalHeader'); modalHeader.innerHTML = 'Make an Enquiry'; submitOfferButton.innerHTML = 'Enquire'; } mixpanel.track("Button Added", { shop: `concordia.style`, productTitle: `Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks`, } ); updateLabelsForStores() var flexWrapShop = [74034315537, 20281681, 77076005182, 58405322835, 75196203307, 61769482425, 27527348276, 57320276143, 27394244673 ]; if (flexWrapShop.includes(60650651800)){ addToCartButton.parentNode.style.flexWrap = 'wrap'; } if ( 60650651800 == 20281681 || 60650651800 == 77076005182 || 60650651800 == 58405322835 || 60650651800 == 75196203307 || 60650651800 == 61769482425 || 60650651800 == 27527348276 || 60650651800 == 57320276143 ){ addToCartButton.style.marginBottom = '16px'; } if ( 60650651800 == 68129849588 ){ addToCartButton.parentNode.style.flexWrap = 'wrap'; addToCartButton.parentNode.style.display = 'flex'; addToCartButton.parentNode.style.flexDirection = 'column'; } if ( 60650651800 == 67676799256 ){ var getPlacement = document.getElementById('ProductPopup-message'); getPlacement.insertAdjacentElement('afterend', offerButton); return; } if ( 60650651800 == 66931917027 ){ var getPlacement = document.getElementById('openPreOrderFormModal'); getPlacement.insertAdjacentElement('afterend', offerButton); return; } var useParentNodeShopIds = [12433981499, 81588912433, 63452577836, 77979910466, 67095658712, 56191680721 ,60099559673, 9238556, 65386643635, 1502598, 58408730675, 13638089, 18581729, 81888772409, 55008591957, 52291043514, 29522460808, 58351059100, 8722284, 65605828783, 80557900122, 85798322485, 89265602849, 1179122, 14960344, 87991681188]; if (useParentNodeShopIds.includes(60650651800)) { addToCartButton.parentNode.insertAdjacentElement("afterend", offerButton); return; } var useParentParentNodeShopIds = [ 73305882890, 49644142759, 67902111923, 82524504395, 60743844052, 65564082233 ,63030853829]; if (useParentParentNodeShopIds.includes(60650651800)) { addToCartButton.parentNode.parentNode.insertAdjacentElement("afterend", offerButton) return; } if ( 60650651800 == 49574117544 || 60650651800 == 67113091311) { addToCartButton.parentNode.parentNode.parentNode.parentNode.insertAdjacentElement("afterend", offerButton) return; } if ( 60650651800 == 9177890913) { addToCartButton.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.insertAdjacentElement("beforeend", offerButton) return; } if (60650651800 == 31332008069) { addToCartButton.parentNode.parentElement.parentElement.parentElement.parentElement.parentElement.insertAdjacentElement('afterend',offerButton) return; } if ( 60650651800 == 69664833775 || 60650651800 == 65273659647 || 60650651800 == 87724163412) { addToCartButton.parentNode.insertBefore(offerButton, addToCartButton); return } if ( 60650651800 == 50712314049) { var thinkingOfSellingButton = [...document.querySelectorAll('.button.button--xl.button--outline.w-full')]; var sellingButton = thinkingOfSellingButton.find((button) => button.textContent.trim().toLowerCase().includes('thinking of selling?')); sellingButton ? sellingButton.parentNode.insertBefore(offerButton, sellingButton.nextSibling) : addToCartButton.parentNode.insertBefore(offerButton, addToCartButton.nextSibling); return } addToCartButton.parentNode.insertBefore(offerButton, addToCartButton.nextSibling); const addToCartButtonObserve = findAddToCartButton(); const offerButtonObserve = document.getElementById('offerButton'); const parentElement = addToCartButtonObserve.parentElement; var buttonsTouching = areElementsAdjacent(addToCartButton, offerButtonObserve); if (buttonsTouching) { offerButtonObserve.style.marginTop = '10px'; } } function resetStyles(element, styles) { styles.forEach(style => { element.style[style] = ''; }); } function updateOfferButton(button, addToCartButton) { if (!addToCartButton) { return; } var addToCartButtonStyle = window.getComputedStyle(addToCartButton); button.classList.add('offerButton'); button.style.backgroundColor = '#000000'; button.style.color = '#FFFFFF'; button.style.borderRadius = 'px'; button.style.setProperty('width', '100%', 'important'); button.style.height = addToCartButtonStyle.height; button.style.margin = addToCartButtonStyle.margin; button.style.padding = addToCartButtonStyle.padding; button.style.fontFamily = addToCartButtonStyle.fontFamily; button.style.fontSize = addToCartButtonStyle.fontSize; button.style.fontWeight = addToCartButtonStyle.fontWeight; button.style.letterSpacing = addToCartButtonStyle.letterSpacing; button.style.borderRadius = addToCartButtonStyle.borderRadius; button.style.border = addToCartButtonStyle.border; button.style.lineHeight = addToCartButtonStyle.lineHeight; button.style.cursor = 'pointer'; button.style.zIndex = 'auto'; button.style.textTransform = addToCartButtonStyle.textTransform; button.style.textAlign = addToCartButtonStyle.textAlign; if (addToCartButton.textContent === addToCartButton.textContent.toUpperCase()) { button.style.textTransform = 'uppercase'; } if (addToCartButton.textContent.replace(/\s/g, '').charAt(0) === addToCartButton.textContent.replace(/\s/g, '').charAt(0).toUpperCase() && addToCartButton.textContent.replace(/\s/g, '').slice(1) === addToCartButton.textContent.replace(/\s/g, '').slice(1).toLowerCase()){ button.textContent = button.textContent.charAt(0).toUpperCase() + button.textContent.slice(1).toLowerCase(); } var buttonsTouching = areElementsAdjacent(addToCartButton, button); var add10pxMarginTop = [12433981499, 67095658712, 89265602849, 34290827396, 11698208, 27340013679, 36680073355, 60743844052, 82524504395, 67902111923, 2218972, 27598913611, 60099559673, 59190870204, 55717462192, 19884211, 61020012786, 19703995, 9177890913, 63635554481, 78885716262, 18581729, 57483493549, 55218503785, 73305882890, 4411654217, 74848502074, 16867965, 49574117544, 64379584700, 54885220561, 61775872347, 2440329, 53819474108, 233242649, 72843067733, 49644142759, 26670334031, 76660179259, 55590715717, 73939091772, 5708365834, 59154694339, 83330335009, 29999070, 64795246644, 72810922327, 50319622293, 51553501368, 52950827161, 42973823127, 1179122, 581762]; if ( add10pxMarginTop.includes(60650651800) || buttonsTouching) { button.style.marginTop = '10px'; } var add10pxMarginBottom = [69664833775, 67113091311, 55008591957, 80557900122, 56191680721, 20281681]; if ( add10pxMarginBottom.includes(60650651800) ) { button.style.marginBottom = '10px'; } var noMarginBottom = [77076005182, 58405322835, 75196203307, 61769482425, 27527348276, 57320276143]; if ( noMarginBottom.includes(60650651800) ) { button.style.marginBottom = '0px'; } var add5pxMarginTop = [61879943221]; if ( add5pxMarginTop.includes(60650651800) ) { button.style.marginTop = '5px'; } var margin0px = [85798322485, 66931917027] if (margin0px.includes(60650651800)) { button.style.margin = '0px'; } if ( 60650651800 == 3014819906) { button.style.width = '230px'; } var sameWidthButton = [55508664503, 55218503785, 20281681, 77076005182, 58405322835, 29999070, 56208556218, 61769482425, 27527348276, 57320276143]; if ( sameWidthButton.includes(60650651800) ) { button.style.width = addToCartButtonStyle.width; } var removeWidth = [65605828783, 1179122, 77146620209, 1560576088] if (removeWidth.includes(60650651800) && button.id == 'offerButton') { button.style.width = ''; } if ( 60650651800 == 29999070 ) { button.style.padding = '0px'; } if (60650651800 == 75196203307){ button.style.width = 'fit-content'; } if ( 60650651800 == 68129849588) { button.style.gridColumn = 'span 2'; } if ( 60650651800 == 8722284) { button.style.margin = '0px'; button.style.marginTop = '10px'; } if ( 60650651800 == 2252701765){ button.style.width = '90%'; button.style.height = ''; } if ( 60650651800 == 55717462192) { button.style.maxHeight = button.style.height; button.style.flex = 'none' } if ( 60650651800 == 50712314049) { var thinkingOfSellingButton = [...document.querySelectorAll('.button.button--xl.button--outline.w-full')]; var sellingButton = thinkingOfSellingButton.find((button) => button.textContent.trim().toLowerCase().includes('thinking of selling?')); if (!sellingButton) { button.style.marginTop = '24px'; } button.classList.add('button'); button.classList.add('button--outline'); } var submitButtonShopIds = [20281681, 77076005182, 58405322835, 75196203307, 29999070, 56208556218, 61769482425, 27527348276, 57320276143]; if (submitButtonShopIds.includes(60650651800) && button.id == 'submitOfferButton') { button.style.width = '100%'; button.style.margin = '0px'; } var maxWidthButton =[55590715717, 13484519, 27394244673 ] if ( maxWidthButton.includes(60650651800) && button.id == 'offerButton') { button.style.maxWidth = addToCartButtonStyle.width; } if ( 60650651800 == 27254259764 && button.id == 'offerButton') { button.style.fontSize = 'inherit'; button.style.width = 'fit-content'; button.classList.add('btn'); } if ( 60650651800 == 34290827396) { if (button.id == 'submitOfferButton') { button.style.maxWidth = ''; button.classList.remove('btn'); } } if (60650651800 == 32846250120){ button.style.marginLeft = '0px'; } if ( 60650651800 == 87724163412){ button.style.maxHeight = '44px'; button.style.height = '44px'; button.style.textTransform = 'uppercase'; button.style.textAlign = 'center'; button.style.fontSize = '14px'; } if ( 60650651800 == 12125098 && button.id == 'offerButton'){ button.style.padding = ''; button.style.paddingBottom = '4px'; button.style.maxWidth = '200px'; button.style.marginLeft='10px'; } var copyButtonClasses = [19884211, 13512613, 65605828783, 61287727335, 1560576088] if (copyButtonClasses.includes(60650651800) && button.id == 'offerButton') { var classes = addToCartButton.classList; for (var i = 0; i < classes.length; i++) { button.classList.add(classes[i]); } } if ( 60650651800 == 66931917027) { button.classList.add('product-form__submit', 'button', 'button--full-width', 'button--secondary'); button.style.height = '47px'; button.style.setProperty('margin-top', '0px', 'important'); } } function areElementsAdjacent(el1, el2) { const rect1 = el1.getBoundingClientRect(); const rect2 = el2.getBoundingClientRect(); const vAdj = (rect1.bottom === rect2.top || rect1.top === rect2.bottom) return vAdj;} function findAddToCartButton() { var addToCartButton = [...document.querySelectorAll('button:not(#modalAddToCartButton)')].find((button) => (button.textContent.trim().toLowerCase().includes('add to cart') || button.textContent.trim().toLowerCase().includes('add to collection') || button.textContent.trim().toLowerCase().includes('add to quote') || button.textContent.trim().toLowerCase().includes('pre order') || button.textContent.trim().toLowerCase().includes('pre-order') || button.textContent.trim().toLowerCase().includes('receive a stock alert') || button.textContent.trim().toLowerCase().includes('purchase') || button.textContent.trim().toLowerCase().includes('kosárba') || button.textContent.trim().toLowerCase().includes('add to bag') || button.textContent.trim().toLowerCase().includes('add to shopping cart') || button.textContent.trim().toLowerCase().includes('add to shopping bag') || button.textContent.trim().toLowerCase().includes('add to basket') || button.textContent.trim().toLowerCase().includes('ajouter au panier') || button.textContent.trim().toLowerCase().includes('añadir al carrito') || button.textContent.trim().toLowerCase().includes('in den warenkorb') || button.textContent.trim().toLowerCase().includes('aggiungi al carrello') || button.textContent.trim().toLowerCase().includes('adicionar ao carrinho') || button.textContent.trim().toLowerCase().includes('legg til i handlekurven') || button.textContent.trim().toLowerCase().includes('lägg i varukorgen') || button.textContent.trim().toLowerCase().includes('tilføj til kurv') || button.textContent.trim().toLowerCase().includes('aggiungi alla borsa') || button.textContent.trim().toLowerCase().includes('ajouter au sac') || button.textContent.trim().toLowerCase().includes('añadir a la bolsa') || button.textContent.trim().toLowerCase().includes('der tasche hinzufügen') || button.textContent.trim().toLowerCase().includes('zum warenkorb') || button.textContent.trim().toLowerCase().includes('aggiungi al cesto') || button.textContent.trim().toLowerCase().includes('ajouter à la corbeille') || button.textContent.trim().toLowerCase().includes('in winkelwagen') || button.textContent.trim().toLowerCase().includes('aan winkelwagen toevoegen') || button.textContent.trim().toLowerCase().includes('legg i handlekurv') || button.textContent.trim().toLowerCase().includes('lisää ostoskoriin') || button.textContent.trim().toLowerCase().includes('adauga in cos') || button.textContent.trim().toLowerCase().includes('sepete ekle') || button.textContent.trim().toLowerCase().includes('enquire') || button.textContent.trim().toLowerCase().includes('acquire') || button.textContent.trim().toLowerCase().includes('do kosza') || button.textContent.trim().toLowerCase().includes('gooods') || button.textContent.trim().toLowerCase().includes('select size') || button.textContent.trim().toLowerCase().includes('einkaufswagen') || button.textContent.trim().toLowerCase().includes('įdėti į krepšelį') || button.textContent.trim().toLowerCase().includes('hozzáadás kosárhoz') || button.textContent.trim().toLowerCase().includes('dodaj do koszyka') || button.textContent.trim().toLowerCase().includes('dodaj v košarico') || button.textContent.trim().toLowerCase().includes('click to pay') || button.textContent.trim().toLowerCase().includes('do koszyka') || button.textContent.trim().toLowerCase().includes('læg i indkøbskurv') || button.textContent.trim().toLowerCase().includes('voeg toe aan winkelwagen') || button.textContent.trim().toLowerCase().includes('agregar al carrito')) && !button.textContent.trim().toLowerCase().includes('terms of purchase') ); if(60650651800 == 20375995){ addToCartButton = document.querySelector('input[name="button"][id="addToCart"][type="submit"]'); } if(60650651800 == 3646117){ addToCartButton = document.querySelector('#add-to-cart'); } if(60650651800 == 14149028){ addToCartButton = document.querySelector('#product-add-to-cart'); } if (60650651800 == 61473849422) { addToCartButton = document.querySelector('form[action="/cart/add"][method="post"][is="product-form"]'); } if (60650651800 == 67275096227 && !addToCartButton){ addToCartButton = document.querySelector('button[name="add"]'); } if (60650651800 == 81252680004){ addToCartButton = document.getElementById('MainContent').querySelector('button[name="add"]'); } if (60650651800 == 68611277022){ addToCartButton = document.querySelector("[id*='ProductSubmitButton']"); } if (60650651800 == 65564082233){ addToCartButton = document.querySelector('.product__info-container.product__column-sticky .addTocart-input-card'); } if (60650651800 == 20281681) { if (addToCartButton && !addToCartButton.id.trim().toLowerCase().includes('productsubmitbutton')) { var productToCart = document.querySelector('product-form'); if (productToCart) { addToCartButton = productToCart.querySelector('button'); } } } if (60650651800 == 49574117544) { addToCartButton = document.querySelector('.product-form__submit.button.button--secondary.an-horizontal-shaking.button-text-change'); } if ( 60650651800 == 25109954659 || 60650651800 == 20375995 || 60650651800 == 90128974103, 60650651800 == 1179122) { addToCartButton = document.getElementById("addToCart"); } if ( 60650651800 == 7315363){ addToCartButton = document.querySelector('input[value="Add To Cart"]') } if ( 60650651800 == 67113091311) { if (!addToCartButton) { addToCartButton = document.querySelector('button[value="Add to cart"]'); } } if ( 60650651800 == 83549651224) { addToCartButton = document.querySelector('input[type="submit"][name="button"][value="Add to Cart"].btn-secondary'); } if ( 60650651800 == 65386643635) { addToCartButton = document.querySelector(".btn_sp.addtocart_btn.product-form__cart-submit"); } if ( 60650651800 == 78885716262) { addToCartButton = document.querySelectorAll('button[data-aid="product-form-submit-button"][data-name="product-submit"]')[1]; } if ( 60650651800 == 13638089 || 60650651800 == 86882484502 ) { addToCartButton = document.getElementById('AddToCart'); } if ( 60650651800 == 82779046162) { var potentialAddToCartButton = document.getElementById('AddToCart'); if (potentialAddToCartButton && !potentialAddToCartButton.textContent.toLowerCase().includes('ausverkauft')) { addToCartButton = potentialAddToCartButton; } } if (60650651800 == 67027042608) { addToCartButton = document.getElementById('addToCartButton'); if (!addToCartButton) { addToCartButton = document.querySelector('.pinfo-atc-btn'); } } if ( 60650651800 == 3014819906 ) { addToCartButton = document.querySelector('input.add-to-cart[type="submit"]'); } if ( 60650651800 == 2252701765 ){ addToCartButton = document.querySelector('input[value="Purchase"]'); } if ( 60650651800 == 64379584700 ) { addToCartButton = document.querySelector('.btn.btn-primary.btn-lg.paira-add-to-cart.add-to-cart.margin-top-0.pull-left.display-in-b'); } if ( 60650651800 == 53819474108 ) { addToCartButton = document.querySelector('[data-js-trigger-id="add-to-cart"]'); } if ( 60650651800 == 87724163412 ){ addToCartButton = document.getElementById('dynamic-buttons-form') } if ( 60650651800 == 13484519 ) { addToCartButton = document.querySelector('.btn.btn-lg.btn-addtocart.addtocart-js'); } if ( 60650651800 == 56508154036 ) { addToCartButton = document.querySelector('form[action="/cart/add"][method="post"]'); } if ( 60650651800 == 66931917027) { addToCartButton = document.querySelector('shopify-accelerated-checkout'); } if (60650651800 == 66722889920 || 60650651800 == 52697956537){ addToCartButton = document.querySelector('button[name="add"][type="submit"]'); } if (!addToCartButton) { if (Shopify.designMode && showOButton()) { var supportModal = document.getElementById('OfferlySupportDiv'); supportModal.style.display = 'flex'; mixpanel.track("Support Modal Opened", { admin: true, shop: `concordia.style`, productTitle: `Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks`, } ); } return null; } return addToCartButton; } function isVisibleElement(element) { computedStyle = window.getComputedStyle(element); return computedStyle.display !== 'none' && computedStyle.visibility !== 'hidden'; } function openOModal(autoOpened = false) { var modal = document.getElementById('OfferlyModalDiv'); modal.style.display = 'flex'; modal.style.animationName = 'animateopacity'; modal.style.animationDuration = '1s'; offerlyModalOpenedOnce = true; if (Shopify.designMode) { localStorage.setItem('offerButtonClicked', 'true'); } if (autoOpened) { mixpanel.track("Modal Auto-Opened", { shop: `concordia.style`, productTitle: `Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks`, } ); } else { mixpanel.track("Modal Opened", { shop: `concordia.style`, productTitle: `Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks`, } ); } var botContainer = document.getElementById('smart-bot-container'); var smileliteContainer = document.getElementById('smile-ui-lite-container'); var assistantContainer = document.getElementById('ShopifyChat'); if (botContainer) { botContainer.style.zIndex = '2147483645'; } if (smileliteContainer) { smileliteContainer.style.zIndex = '2147483645'; } if (assistantContainer) { assistantContainer.style.zIndex = '2147483645'; } document.getElementById('offerlyCloseButton').onclick = function () { closeOfferlyModal(); }; } function updateModalProductTitle(title) { var productTitle = document.getElementById('modalProductTitle'); var productMobileTitle = document.getElementById('mobileModalProductTitle'); if (title.includes('Default Title')){ productTitle.innerHTML = `

Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks

`; productMobileTitle.innerHTML = `

Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks

`; return `Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks`; } else{ productTitle.innerHTML = title; productMobileTitle.innerHTML = title; return title; } } function setupExitIntent(callback) { let hasShownExitIntent = false; function handleMouseOut(event) { if (hasShownExitIntent) { return }; const fromTop = event.clientY <= 0; const fromLeft = event.clientX <= 0; const fromRight = event.clientX >= window.innerWidth; if ((fromTop || fromLeft || fromRight) && event.relatedTarget === null) { console.log('Exit intent detected'); hasShownExitIntent = true; callback(); } } document.addEventListener("mouseout", handleMouseOut); } function updateModalInformation(selectedVariant){ var productVariants = [{"id":46635455840408,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"FM3AMP-FC110RD-FS10","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, \u0026 Gel Face Masks","public_title":null,"options":["Default Title"],"price":5999,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"755003504580","requires_selling_plan":false,"selling_plan_allocations":[]}] var productTitleBase = `Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks`; var productTitleDOM = document.getElementById('modalProductTitle'); var productMobileTitleDOM = document.getElementById('mobileModalProductTitle'); var productVariantSKU = document.getElementById('modalProductSKU'); var productPriceDOM = document.getElementById('modalPrice'); var productPriceMobileDOM = document.getElementById('mobileModalPrice'); var currencySymbolO = `$`; var image = document.getElementById('offerImage'); var mobileImage = document.getElementById('productImageMobile'); productID = getSafeValue(`8729133744280`, null); if (productVariants){ productVariants.forEach(function (variant) { if (variant.id == selectedVariant){ selectedSKU = variant.sku; productVariantSKU.innerHTML = `SKU: ${selectedSKU}`; productURL = "/products/pursonic-spa-facial-care-bundle-facial-steamer-cleansing-brush-gel-face-masks" + "?variant=" + productVariantId; var variantTitle = variant.title; var variantTitleArray = variantTitle.split(' / '); var newVariantTitle = ''; variantTitleArray.forEach(function (title, index){ newVariantTitle += `

${title}

`; }); let newTitle = `

${productTitleBase}

` + newVariantTitle; productTitleDOM.innerHTML = newTitle; productPriceDOM.innerHTML = currencySymbolO + formatPrice(variant.price / 100.0); productPriceMobileDOM.innerHTML = currencySymbolO + formatPrice(variant.price / 100.0); productTitle = updateModalProductTitle(newTitle); productTitleText = [...document.getElementById('modalProductTitle').children].map(child => child.textContent.trim()).join(' / '); priceMaxNumber = parseFloat(variant.price / 100.0).toFixed(2); compareAtPrice = parseFloat(variant.compare_at_price / 100.0).toFixed(2); if (variant?.featured_image?.src) { image.src = variant?.featured_image?.src; mobileImage.src = variant?.featured_image?.src; prodOfferImageSrc = variant?.featured_image?.src; } else { image.src = `//concordia.style/cdn/shop/files/FM3AMP-FC110RD-FS101.jpg?v=1749088751&width=300`; mobileImage.src = `//concordia.style/cdn/shop/files/FM3AMP-FC110RD-FS101.jpg?v=1749088751&width=300`; prodOfferImageSrc = `//concordia.style/cdn/shop/files/FM3AMP-FC110RD-FS101.jpg?v=1749088751&width=300`; } if (60650651800 == 29972538){ image.src = `https://cdn.shopify.com/s/files/1/1951/0265/files/ET_Logo_logobar_centered.png?v=1728047693`; mobileImage.src = `https://cdn.shopify.com/s/files/1/1951/0265/files/ET_Logo_logobar_centered.png?v=1728047693`; prodOfferImageSrc = `https://cdn.shopify.com/s/files/1/1951/0265/files/ET_Logo_logobar_centered.png?v=1728047693`; } validateOfferAmount(); } }); } } function updateQuantity(quantity) { var offerQuantity = document.querySelector('#OfferInput[name="quantity"]'); offerQuantity.value = quantity; validateOfferAmount(); } function hidePriceForStores(){ var storesForHidingPrice = [8722284,71589462258] if (storesForHidingPrice.includes(60650651800) ) { var modalPrice = document.getElementById('modalPrice'); modalPrice.style.display = 'none'; } } function validateOfferAmount() { const offerInput = document.querySelector('input[name="offerAmount"]'); const priceDOM = document.getElementById('modalPrice') const currencySymbolO = `$`; let offer = offerInput.value; let offerRegex; if (isEuropeanO.includes(60650651800)) { offerRegex = /^\d+([,]\d{1,2})?$/; // Allow both } else { offerRegex = /^\d+(\.\d{1,2})?$/; // Only period } const useTotalAmount = true; const inputQuantity = document.querySelector('input[name="quantity"].offerInput'); const quantity = inputQuantity ? inputQuantity.value : 1; updatedPriceMaxNumber = useTotalAmount ? priceMaxNumber * quantity : priceMaxNumber; priceDOM.innerHTML = formatPrice(updatedPriceMaxNumber); var compareAtPriceDiv = ''; var compareAtPriceWithSymbol = formatPrice(compareAtPrice); if ( false && !compareAtPrice.includes('NaN') && compareAtPrice > 0){ compareAtPriceDiv = `${compareAtPriceWithSymbol}` } var issue; if (!offerRegex.test(offer)) { issue = isEuropeanO.includes(60650651800) ? `Bitte geben Sie nur Zahlen und ein Komma ein` : `Please enter only numbers and a decimal point` offerInput.setCustomValidity('Please enter only numbers and a decimal point'); } else if (parseFloat(offer) > updatedPriceMaxNumber) { issue = `Offer cannot exceed price` offerInput.setCustomValidity('Please enter an offer less than the price'); } else if (parseFloat(offer) <= 0 && 60650651800 != 66690154658) { issue = `Offer must be greater than zero` offerInput.setCustomValidity('Please enter an offer greater than 0'); } else { offerInput.setCustomValidity(''); } if (isEuropeanO.includes(60650651800)) { offer = offer.replace(/\./g, '').replace(',', '.') } const modalPrice = document.getElementById('modalPrice'); const mobileModalPrice = document.getElementById('mobileModalPrice'); const percentageOff = (1 - (parseFloat(offer) / updatedPriceMaxNumber)) * 100; const priceTwoDecimal = formatPrice(updatedPriceMaxNumber); const doNotShowStrikeThrough = [67139436723]; if (offer !== '' && offerRegex.test(offer) && parseFloat(offer) < updatedPriceMaxNumber && parseFloat(offer) > 0 && !doNotShowStrikeThrough.includes(60650651800)){ var doNotShowPercentageOff = [29972538]; var percentageOffText = doNotShowPercentageOff.includes(60650651800) ? '' : ' (' + percentageOff.toFixed(2) + `% off)`; modalPrice.innerHTML = compareAtPriceDiv + ''+(priceTwoDecimal)+'' + '
' + formatPrice(offer) + percentageOffText; mobileModalPrice.innerHTML = compareAtPriceDiv + ''+(priceTwoDecimal)+'' + '
' + formatPrice(offer) + percentageOffText; } else if (offer !== '' && issue){ modalPrice.innerHTML = compareAtPriceDiv + priceTwoDecimal + '
' + issue; mobileModalPrice.innerHTML = compareAtPriceDiv + priceTwoDecimal + '
' + issue; } else { modalPrice.innerHTML = compareAtPriceDiv + priceTwoDecimal + '

'; mobileModalPrice.innerHTML = compareAtPriceDiv + priceTwoDecimal + '

'; } if (60650651800 == 68350411027 || 60650651800 == 95082053896){ modalPrice.innerHTML = modalPrice.innerHTML.replace('$', '$ '); mobileModalPrice.innerHTML = mobileModalPrice.innerHTML.replace('$', '$ '); modalPrice.innerHTML = modalPrice.innerHTML.replace(/,/g, "'"); mobileModalPrice.innerHTML = mobileModalPrice.innerHTML.replace(/,/g, "'"); } } function formatPrice(price) { var symbolAfterStores = [88747442513]; var symbolAfter = symbolAfterStores.includes(60650651800); price = parseFloat(price).toFixed(2); price = (price.endsWith('.00') ? parseInt(price, 10) : price).toString(); if (price > 999) { price = price.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); } if (isEuropeanO.includes(60650651800)){ price = Number(price).toLocaleString('de-DE') } return symbolAfter ? price + ` $` : `$` + price ;} function showSpinner(){ var rightSide = document.getElementById('rightSide'); var leftSide = document.getElementById('leftSide'); rightSide.style.display = 'none'; leftSide.style.display = 'none'; var offerlySpinner = document.getElementById('offerlySpinner'); offerlySpinner.style.display = 'flex'; } function hideSpinner(){ var rightSide = document.getElementById('rightSide'); var leftSide = document.getElementById('leftSide'); var offerlySpinner = document.getElementById('offerlySpinner'); offerlySpinner.style.display = 'none'; rightSide.style.display = 'flex'; leftSide.style.display = 'flex'; } function updateModalState(header, content, buttonText, onClick, offerData){ var modal = document.getElementById('OfferlyModalDiv'); var modalHeader = document.getElementById('offerlyModalHeader'); var inputFields = document.getElementById('offerInputFields'); var rightSide = document.getElementById('rightSide'); var modalMessage = document.getElementById('modalTextInformation'); var submitOfferButton = document.getElementById('submitOfferButton'); var offerlyHeaderStoreLogo = document.getElementById('offerlyHeaderStoreLogo'); offerlyHeaderStoreLogo.style.display = 'none'; modalHeader.style.display = 'flex'; modalMessage.textContent = content; inputFields.style.display = 'none'; rightSide.style.display = 'none'; modalHeader.innerHTML = header; submitOfferButton.textContent = buttonText; submitOfferButton.onclick = function(){ mixpanel.track("Modal Button Clicked", { shop: `concordia.style`, productTitle: `Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks`, buttonText: buttonText, } ); onClick() }; if ( 60650651800 == 92120383828){ modalMessage.innerHTML = modalMessage.innerHTML + '

Si el descuento no se aplica correctamente, revisa la sección "Solución de Problemas" o finaliza el pedido a través del email de confirmación que recibirás.'; } if (offerData?.discountCode && offerData?.showAddToCart) { submitOfferButton.style.display = 'none'; var modalAddToCartButton = document.getElementById('modalAddToCartButton'); updateOfferButton(modalAddToCartButton, findAddToCartButton()); var modalAddToCartButton = document.getElementById('modalAddToCartButton'); modalAddToCartButton.style.display = 'block'; modalAddToCartButton.onclick = function() { mixpanel.track("Modal Button Clicked", { shop: `concordia.style`, productTitle: `Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks`, buttonText: 'Add to Cart', }); let formData = { 'items': [{ 'id': offerData.productVariantId, 'quantity': offerData.quantity, 'discount_code': offerData.discountCode, }] }; fetch(window.Shopify.routes.root + 'cart/add.js', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(formData) }) .then(response => response.json() ) .then(data => { var discountCodes = JSON.parse(localStorage.getItem('OfferlyCodes3')) || {}; discountArray = []; for (const [key, value] of Object.entries(discountCodes)) { discountArray.push(value); } fetch(`/checkout?discount=${discountArray.join(',')}`) .then(response => response.json()) .then(data => { window.location.href = '/cart'; }) .catch((error) => { console.error('Error:', error); window.location.href = '/cart'; }); }) .catch((error) => { console.error('Error:', error); window.location.href = '/cart'; }); }; } } function closeOfferlyModal(){ var modal = document.getElementById('OfferlyModalDiv'); modal.style.display = 'none'; mixpanel.track("Modal Closed", { shop: `concordia.style`, productTitle: `Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks`, } ); if (Shopify.designMode) { localStorage.setItem('offerButtonClicked', 'false'); } } function backAndClearAmount(){ var offerInput = document.querySelector('input[name="offerAmount"]'); offerInput.value = ''; var modalMessage = document.getElementById('modalTextInformation'); modalMessage.textContent = ''; var inputFields = document.getElementById('offerInputFields'); var rightSide = document.getElementById('rightSide'); rightSide.style.display = 'flex'; inputFields.style.display = 'block'; var modalHeader = document.getElementById('offerlyModalHeader'); modalHeader.innerHTML = 'Make An Offer'; var submitOfferButton = document.getElementById('submitOfferButton'); var offerlyHeaderStoreLogo = document.getElementById('offerlyHeaderStoreLogo'); if (60650651800 == 50712314049) { modalHeader.display = 'none'; offerlyHeaderStoreLogo.style.display = 'flex'; } submitOfferButton.innerHTML = `Send Offer`; submitOfferButton.onclick = function(){ submitOffer(); }; } function checkoutButton(url){ window.location.href = url } function inactivityAlertOfferly(maxInactivityTime) { let timeOfferly; const resetOfferlyTimer = () => { if (timeOfferly) { clearTimeout(timeOfferly); } if (!offerlyModalOpenedOnce) { timeOfferly = setTimeout(showInactivityAlertOfferly, maxInactivityTime); } }; function showInactivityAlertOfferly() { var modal = document.getElementById('OfferlyModalDiv'); if (modal.style.display != 'flex' && !offerlyModalOpenedOnce) { clearTimeout(timeOfferly); openOModal(); } } window.onload = resetOfferlyTimer; document.onmousemove = resetOfferlyTimer; document.onkeypress = resetOfferlyTimer; document.onclick = resetOfferlyTimer; document.onscroll = resetOfferlyTimer; }; if (Shopify.designMode) { var modal = document.getElementById('OfferlyModalDiv'); var offerButtonClicked = localStorage.getItem('offerButtonClicked'); if (modal && offerButtonClicked === 'true') { modal.style.display = 'flex'; } } function populateUserInformation() { var customerName = document.querySelector('input[name="customerName"]'); var customerEmail = document.querySelector('input[name="customerEmail"]'); var customerNameValue = `` var customerEmailValue = `` if (customerName && customerNameValue) { customerName.value = customerNameValue; } if (customerEmail && customerEmailValue) { customerEmail.value = customerEmailValue; } } function showOButton(){ let showButton = false; outerLoop: for (const offering of showButtonInformation.offerings) { switch (offering.productSelectorType) { case 'all': showButton = true; autoResponseDelay = offering.automatedResponseDelay; delayAutoMessage = offering.delayAutomatedResponse; offeringMatch = offering; break outerLoop; case 'collections': for (const collection of collectionsString.split(',')) { if (offering.products.includes(collection) && collection.length > 0) { showButton = true; autoResponseDelay = offering.automatedResponseDelay; delayAutoMessage = offering.delayAutomatedResponse; offeringMatch = offering; break outerLoop; } } break; case 'products': if (offering.products.includes(productVariantId)) { showButton = true; autoResponseDelay = offering.automatedResponseDelay; delayAutoMessage = offering.delayAutomatedResponse; offeringMatch = offering; break outerLoop; } break; case 'none': showButton = false; default: showButton = false; } } var addToCartButton = findAddToCartButton(); var productSection = addToCartButton ? addToCartButton.closest('.section') : null; var soldOut = productSection ? [...productSection.querySelectorAll('button')].find((button) => button.textContent.trim().toLowerCase().includes('sold out') ) : null var ignoreSoldOut = [81252680004, 67982688425, 67113091311, 78280556873, 58405322835, 20281681, 61769482425, 27527348276, 57320276143]; if (soldOut && !ignoreSoldOut.includes(60650651800)) { showButton = false; console.log('Product is sold out'); } if ( 60650651800 == 86812131607 ){ var collectionsToExclude = ['477039395095']; collectionsString = collectionsString.slice(0, -1); collectionsString.split(',').forEach((collection) => { if (collectionsToExclude.includes(collection) && collection.length > 0) { showButton = false; } }); } return showButton; } function validateEmail(email) { var re = /\S+@\S+\.\S+/; return re.test(email); } function fixColorOfTexts(){ var labels = document.querySelectorAll('.offerly-input-label'); var Title = document.getElementById('offerlyModalHeader'); var modalPrice = document.getElementById('modalPrice'); var productTitle = document.getElementById('productTitleOfferModal'); var titleColor = rgbToHex(window.getComputedStyle(Title).color); var productTitleColor = rgbToHex(window.getComputedStyle(productTitle).color); var priceColor = rgbToHex(window.getComputedStyle(modalPrice).color); var modalColor = rgbToHex(window.getComputedStyle(document.querySelector('.offerly-modal-content')).backgroundColor); if (titleColor === modalColor){ Title.style.color = 'black'; } if (priceColor === modalColor){ modalPrice.style.color = 'black'; } if (productTitleColor === modalColor){ productTitle.style.color = 'black'; } labels.forEach(function(label){ var labelColor = rgbToHex(window.getComputedStyle(label).color); if (labelColor === modalColor){ if (labelColor === '#ffffff'){ label.style.color = 'black'; } else { label.style.color = 'white'; } } }); }; function rgbToHex(rgb) { let arr = rgb.match(/\d+/g); let hex = arr.map((val, index) => { if (index < 3) { return ('0' + parseInt(val).toString(16)).slice(-2); } }).join(''); return '#' + hex; } function submitOffer(){ if (productVariantId.toString().match(/[^0-9]/g)){ var productVariants = [{"id":46635455840408,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":"FM3AMP-FC110RD-FS10","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, \u0026 Gel Face Masks","public_title":null,"options":["Default Title"],"price":5999,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"755003504580","requires_selling_plan":false,"selling_plan_allocations":[]}] productVariants.forEach(function (variant) { if (productTitleText.includes(variant.title) || productTitleText.includes(variant.name)){ productVariantId = variant.id; } }); } var inputs = document.querySelectorAll('.offerInput'); var data = {}; var isValid = true; inputs.forEach(function (input) { if (input.style.display === 'none'){ return; } else if (input.name == 'termsCheckboxName' && !input.checked && false) { isValid = false; input.classList.add('offerInputError'); } else if (input.value.trim() === '' && input.name=='additionalTextField' && false) { isValid = false; input.classList.add('offerInputError'); } else if (input.value.trim() === '' && input.name=='secondaryMessage' && false) { isValid = false; input.classList.add('offerInputError'); } else if (input.value.trim() === '' && input.name=='customerPhone' && false) { isValid = false; input.classList.add('offerInputError'); } else if (input.value.trim() === '' && input.name!='additionalTextField' && input.name!='customerPhone') { isValid = false; input.classList.add('offerInputError'); } else if (input.name === 'offerAmount' && parseFloat(input.value) > updatedPriceMaxNumber) { isValid = false; input.classList.add('offerInputError'); } else if (input.name === 'offerAmount' && parseFloat(input.value) <= 0 && 60650651800 != 66690154658) { isValid = false; input.classList.add('offerInputError'); } else if (input.name == 'offerAmount' && !input.value.match(/^\d+(\.\d{1,2})?$/) && !isEuropeanO.includes(60650651800)) { isValid = false; input.classList.add('offerInputError'); } else if (input.name == 'offerAmount' && !input.value.match(/^\d+(\,\d{1,2})?$/) && isEuropeanO.includes(60650651800)) { isValid = false; input.classList.add('offerInputError'); } else if (input.name == 'customerEmail' && !validateEmail(input.value)) { isValid = false; input.classList.add('offerInputError'); } else { input.classList.remove('offerInputError'); } data[input.name] = input.value; }); data['offerAmount'] = isEuropeanO.includes(60650651800) ? data['offerAmount'].replace(',', '.') : data['offerAmount']; delete data['termsCheckboxName']; data['quantity'] = data['quantity'] ? parseInt(data['quantity']) : 1; data['productVariantId'] = productVariantId.toString(); data['productPriceMax'] = priceMaxNumber; data['productTitle'] = productTitleText; data['offerAmount'] = true ? (parseFloat(data['offerAmount']) / parseInt(data['quantity'])).toFixed(2) : data['offerAmount'] ; data['productLink'] = productURL; data['currency'] = 'USD'; data['currencySymbol'] = '$'; data['variantSKU'] = selectedSKU?.toString(); data['productID'] = productID?.toString(); data['productVendor'] = productVendor?.toString(); data['collections'] = collectionsString; data['imageSrc'] = prodOfferImageSrc ? prodOfferImageSrc : document.getElementById('offerImage')?.src; var additionalTextInput = document.querySelector('textarea[name="additionalTextField"]'); if (additionalTextInput) { data['additionalTextField'] = additionalTextInput.value; } var secondaryMessageInput = document.querySelector('textarea[name="secondaryMessage"]'); if (secondaryMessageInput) { data['additionalTextField'] = `Message` + ': ' + data['additionalTextField'] + '\n\n' + `Shipping Information` + ': ' + secondaryMessageInput.value; } delete data['secondaryMessage']; if (!isValid) { return; } mixpanel.track("Offer Submitted", { shop: `concordia.style`, productTitle: `Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks`, offerAmount: data['offerAmount'], } ); var submitOfferButton = document.getElementById('submitOfferButton'); submitOfferButton.disabled = true; showSpinner(); fetch('/apps/offerly-proxy/app/acceptOffers?', { method: 'POST', body: JSON.stringify(data), }) .then((response) => response.json()) .then((data) => { hideSpinner(); submitOfferButton.disabled = false; var delayForAutoResponse = delayAutoMessage ? autoResponseDelay : 0; if (data.status === 'Error: Rate limit exceeded'){ updateModalState("Error Occurred!", "You have submitted too many offers too quickly. Please try again later!", "Try Again", backAndClearAmount); } if (data.offerStatus === 'Pending'){ if (60650651800 == 50712314049 ){ updateModalState("Thank you for contacting Lougher", "A member of our sales team will get back to you shortly.", "Close", closeOfferlyModal); } else if(60650651800 == 57179963555){ updateModalState("Thank you!","Please check your email regularly if your offer is accepted, declined or we have a counter offer. You can email us at tuffselectph@gmail.com or message us via viber, instagram (@tuffmanila) or the facebook page (@tuffmanila) for other inquiries. - TS Team", "Close", closeOfferlyModal); } else if (60650651800 == 58351059100){ updateModalState("Thank you for your offer!", "You should see a response within 2-10 minutes. If you do not see an email from us after a few hours, please check your junk/spam folder.", "Close", closeOfferlyModal); } else{ updateModalState("Thank You!", "We will get back to you via email shortly. Messages may end up in spam, so please check there if you do not receive a response.", "Close", closeOfferlyModal); } mixpanel.track("Offer Pending", { shop: `concordia.style`, productTitle: `Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks`, offerAmount: data['offerAmount'], }); } if (data.offerStatus === 'Auto-Declined'){ mixpanel.track("Offer Auto-Declined", { shop: `concordia.style`, productTitle: `Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks`, offerAmount: data['offerAmount'], }); showSpinner(); setTimeout(function(){ hideSpinner(); updateModalState("Try Again!", "Your offer was too low. Please try again!", "Try Again", backAndClearAmount ); }, delayForAutoResponse * 1000); } if (data.offerStatus === 'Auto-Accepted'){ mixpanel.track("Offer Auto-Accepted", { shop: `concordia.style`, productTitle: `Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks`, offerAmount: data['offerAmount'], }); var storedCodes = localStorage.getItem('OfferlyCodes3'); var storedCodesObject = storedCodes ? JSON.parse(storedCodes) : {}; storedCodesObject[data.productVariantId] = data?.discountCode; localStorage.setItem('OfferlyCodes3', JSON.stringify(storedCodesObject)); localStorage.setItem('Offerly-' + data.productVariantId, JSON.stringify(data)) showSpinner(); setTimeout(function(){ hideSpinner(); if (60650651800 == 29972538){ updateModalState("Proceed to Payment", "Thank you for making a payment, please click the button below to proceed to the payment page.", "Checkout", function(){checkoutButton(data.checkoutLink)}, data) } else if (60650651800 == 75733958923){ updateModalState("Congratulations!", `Dein Preisvorschlag ist akzeptiert! Löse Deinen ausgehandelten Rabatt nun ein um den Kauf abzuschließen...`, "Checkout", function(){checkoutButton(data.checkoutLink)} , data ) } else { updateModalState("Congratulations!", "Great news! Your offer was accepted. Click below to proceed to checkout with your discount applied!", "Checkout", function(){checkoutButton(data.checkoutLink)} , data ) } }, delayForAutoResponse * 1000); } if (data.offerStatus === 'Auto-Countered'){ mixpanel.track("Offer Auto-Countered", { shop: `concordia.style`, productTitle: `Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks`, offerAmount: data['offerAmount'], }); var storedCodes = localStorage.getItem('OfferlyCodes3'); var storedCodesObject = storedCodes ? JSON.parse(storedCodes) : {}; storedCodesObject[data.productVariantId] = data?.discountCode; localStorage.setItem('OfferlyCodes3', JSON.stringify(storedCodesObject)); localStorage.setItem('Offerly-' + data.productVariantId, JSON.stringify(data)) showSpinner(); setTimeout(function(){ hideSpinner(); if (60650651800 == 75733958923){ updateModalState("Countered!", `Unser Gegenangebot zu Deinem Preisvorschlag: ${parseFloat(data.counterAmount).toFixed(2)}${data.currencySymbol}. Wenn das für Dich ok ist, dann gehe hier mit Deinem persönlichen Rabatt zur Kasse!`, "Checkout", function(){checkoutButton(data.checkoutLink)}, data) } else { updateModalState("Countered!", `Your offer was countered to ${data.currencySymbol}${parseFloat(data.counterAmount).toFixed(2)} ${data.currency}. Click below to proceed to checkout with your discount applied!`, "Checkout", function(){checkoutButton(data.checkoutLink)}, data) } }, delayForAutoResponse * 1000); } }) .catch((error) => { console.error(error); mixpanel.track("Offer Error", { shop: `concordia.style`, productTitle: `Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks`, offerAmount: data['offerAmount'], } ); updateModalState("Error Occurred!", "An error occurred while submitting your offer. Please try again.", "Try Again", backAndClearAmount); }); } function addButtonListenerToAllOBlocks() { var offerlyBlocks = document.querySelectorAll('.oButtonBlock'); offerlyBlocks.forEach(function(offerlyBlock) { if (!offerlyBlock.dataset.listenerAdded) { offerlyBlock.addEventListener('click', function(event) { event.preventDefault(); event.stopPropagation(); var productTitleDOM = document.getElementById('modalProductTitle'); var productMobileTitleDOM = document.getElementById('mobileModalProductTitle'); var productPriceDOM = document.getElementById('modalPrice'); var currencySymbolO = `$`; var images = document.querySelectorAll('#offerImage'); var mobileImages = document.querySelectorAll('#productImageMobile'); prodOfferImageSrc = offerlyBlock.getAttribute('data-imagesrc'); images.forEach(function(img) { img.src = prodOfferImageSrc; }); mobileImages.forEach(function(img) { img.src = prodOfferImageSrc; }); var dataTitle = offerlyBlock.getAttribute('data-producttitle'); productTitleText = decodeURIComponent(dataTitle.replace(/\+/g, ' ')); productTitleDOM.innerHTML = decodeURIComponent(dataTitle.replace(/\+/g, ' ')); productMobileTitleDOM.innerHTML = decodeURIComponent(dataTitle.replace(/\+/g, ' ')); priceMaxNumber = offerlyBlock.getAttribute('data-productpricemax'); productPriceDOM.innerHTML = currencySymbolO+ formatPrice(offerlyBlock.getAttribute('data-productpricemax')); productVariantId = offerlyBlock.getAttribute('data-productvariantid'); productVendor = offerlyBlock.getAttribute('data-productvendor'); selectedSKU = offerlyBlock.getAttribute('data-variantsku'); productURL = offerlyBlock.getAttribute('data-productlink'); productID = offerlyBlock.getAttribute('data-productid'); compareAtPrice = offerlyBlock.getAttribute('data-productcompareatprice'); validateOfferAmount(); openOModal(); }); offerlyBlock.dataset.listenerAdded = 'true'; } }); } function observeDOMChanges() { const observer = new MutationObserver(function(mutations) { mutations.forEach(function(mutation) { if (mutation.addedNodes.length) { addButtonListenerToAllOBlocks(); } }); }); observer.observe(document.body, { childList: true, subtree: true }); } document.addEventListener('DOMContentLoaded', function() { addButtonListenerToAllOBlocks(); observeDOMChanges(); }); function hideAddToCartButton() { if (false) { var addToCartButton = findAddToCartButton(); if (addToCartButton) { addToCartButton.style.display = 'none'; } } } function showAddToCartButton() { if (false) { var addToCartButton = findAddToCartButton(); if (addToCartButton) { addToCartButton.style.display = 'block'; } } }

Pursonic Spa Facial Care Bundle: Facial Steamer, Cleansing Brush, & Gel Face Masks at Concordia Style Boutique (2025)

References

Top Articles
Latest Posts
Recommended Articles
Article information

Author: Rueben Jacobs

Last Updated:

Views: 5406

Rating: 4.7 / 5 (57 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Rueben Jacobs

Birthday: 1999-03-14

Address: 951 Caterina Walk, Schambergerside, CA 67667-0896

Phone: +6881806848632

Job: Internal Education Planner

Hobby: Candle making, Cabaret, Poi, Gambling, Rock climbing, Wood carving, Computer programming

Introduction: My name is Rueben Jacobs, I am a cooperative, beautiful, kind, comfortable, glamorous, open, magnificent person who loves writing and wants to share my knowledge and understanding with you.