1typeof ShopifyAPI=="undefined"&&(ShopifyAPI={});function attributeToString(attribute){return typeof attribute!="string"&&(attribute+="",attribute==="undefined"&&(attribute="")),jQuery.trim(attribute)}ShopifyAPI.onCartUpdate=function(cart){},ShopifyAPI.updateCartNote=function(note,callback){var params={type:"POST",url:"/cart/update.js",data:"note="+attributeToString(note),dataType:"json",success:function(cart){typeof callback=="function"?callback(cart):ShopifyAPI.onCartUpdate(cart)},error:function(XMLHttpRequest2,textStatus2){ShopifyAPI.onError(XMLHttpRequest2,textStatus2)}};jQuery.ajax(params)},ShopifyAPI.onError=function(XMLHttpRequest,textStatus){var data=eval("("+XMLHttpRequest.responseText+")");data.message&&alert(data.message+"("+data.status+"): "+data.description)},ShopifyAPI.addItemFromForm=function(form,callback,errorCallback){var params={type:"POST",url:"/cart/add.js",data:jQuery(form).serialize(),dataType:"json",success:function(line_item){typeof callback=="function"?callback(line_item,form):ShopifyAPI.onItemAdded(line_item,form)},error:function(XMLHttpRequest2,textStatus2){typeof errorCallback=="function"?errorCallback(XMLHttpRequest2,textStatus2):ShopifyAPI.onError(XMLHttpRequest2,textStatus2)}};jQuery.ajax(params)};function donatedBarNotificationFcn(){$(".shifter-page").removeClass("is-moved-by-drawer"),$.ajax({url:"https://www.handinhandsoap.com/cart",type:"GET",success:function(res){var data2=$.parseHTML(res),totalCount=0;$(data2).find("table#shop-cart").find("tbody").find("tr").each(function(){var donateCount=$(this).attr("data-donated"),qty=$(this).attr("data-qty");parseInt(donateCount)>0&&parseInt(qty)>0&&(totalCount+=donateCount*qty,console.log(donateCount,qty))}),console.log("total",totalCount),parseInt(totalCount)>0&&(parseInt(totalCount)>1?jQuery("#NotificationItemText").html(" Bars will be donated"):jQuery("#NotificationItemText").html(" Bar will be donated"),jQuery("#NotificationItemCount").html(totalCount),setTimeout(function(){jQuery("#toggleBottomNotificationBar").prop("checked","checked"),setTimeout(function(){jQuery("#toggleBottomNotificationBar").prop("checked","")},4e3)},100))}})}ShopifyAPI.getCart=function(callback){jQuery.getJSON("/cart.js",function(cart,textStatus2){donatedBarNotificationFcn(),setTimeout(function(){jQuery(".cartprogressbar").length>0&&(parseInt(cart.items_subtotal_price)<5e3?(jQuery(".progress-bar-amount-text").html("You're only $"+(5e3-parseInt(cart.items_subtotal_price))/100+" away from unlocking a FREE gift."),jQuery(".cartprogressbar").attr("value",cart.items_subtotal_price),jQuery(".cartprogressbar").attr("max",5e3),jQuery(".progress-bar-max-amount").html("$50"),jQuery(".cartprogressdeal").show()):parseInt(cart.items_subtotal_price)<6e3?(jQuery(".progress-bar-amount-text").html("You're only $"+(6e3-parseInt(cart.items_subtotal_price))/100+" away from unlocking a FREE hand soap."),jQuery(".cartprogressbar").attr("value",cart.items_subtotal_price),jQuery(".cartprogressbar").attr("max",6e3),jQuery(".progress-bar-max-amount").html("$60"),jQuery(".cartprogressdeal").show()):parseInt(cart.items_subtotal_price)<7500?(jQuery(".progress-bar-amount-text").html("You're only $"+(7500-parseInt(cart.items_subtotal_price))/100+" away from unlocking a FREE ugar scrub."),jQuery(".cartprogressbar").attr("value",cart.items_subtotal_price),jQuery(".cartprogressbar").attr("max",7500),jQuery(".progress-bar-max-amount").html("$75"),jQuery(".cartprogressdeal").show()):jQuery(".cartprogressdeal").hide())},700),typeof callback=="function"?callback(cart):ShopifyAPI.onCartUpdate(cart)})},ShopifyAPI.changeItem=function(line,quantity,callback){var params={type:"POST",url:"/cart/change.js",data:"quantity="+quantity+"&line="+line,dataType:"json",success:function(cart){jQuery(".cart-drawer-item-count").html(cart.item_count),typeof callback=="function"?callback(cart):ShopifyAPI.onCartUpdate(cart)},error:function(XMLHttpRequest2,textStatus2){ShopifyAPI.onError(XMLHttpRequest2,textStatus2)}};jQuery.ajax(params)};var ajaxCart=(function(module,$){"use strict";var init,loadCart,settings,isUpdating,$body,$formContainer,$addToCart,$cartCountSelector,$cartCostSelector,$cartContainer,$drawerContainer,updateCountPrice,formOverride,itemAddedCallback,itemErrorCallback,cartUpdateCallback,buildCart,cartCallback,adjustCart,adjustCartCallback,createQtySelectors,qtySelectors,validateQty;init=function(options){settings={formSelector:'form[action^="/cart/add"]',cartContainer:"#CartContainer",addToCartSelector:'input[type="submit"]',cartCountSelector:null,cartCostSelector:null,moneyFormat:"$",disableAjaxCart:!1,enableQtySelectors:!0},$.extend(settings,options),$formContainer=$(settings.formSelector),$cartContainer=$(settings.cartContainer),$addToCart=$formContainer.find(settings.addToCartSelector),$cartCountSelector=$(settings.cartCountSelector),$cartCostSelector=$(settings.cartCostSelector),$body=$("body"),isUpdating=!1,settings.enableQtySelectors&&qtySelectors(),!sett
1ings.disableAjaxCart&&$addToCart.length&&formOverride(),adjustCart()},loadCart=function(){$body.addClass("drawer--is-loading"),ShopifyAPI.getCart(cartUpdateCallback)},updateCountPrice=function(cart){$cartCountSelector&&($cartCountSelector.html(cart.item_count).removeClass("hidden-count"),cart.item_count===0&&$cartCountSelector.addClass("hidden-count")),$cartCostSelector&&$cartCostSelector.html(Shopify.formatMoney(cart.total_price,settings.moneyFormat))},formOverride=function(){$formContainer.on("submit",function(evt){evt.preventDefault(),$addToCart.removeClass("is-added").addClass("is-adding"),$(".qty-error").remove(),ShopifyAPI.addItemFromForm(evt.target,itemAddedCallback,itemErrorCallback)})},itemAddedCallback=function(product){$addToCart.removeClass("is-adding").addClass("is-added"),ShopifyAPI.getCart(cartUpdateCallback)},itemErrorCallback=function(XMLHttpRequest,textStatus){var data=eval("("+XMLHttpRequest.responseText+")");$addToCart.removeClass("is-adding is-added"),data.message&&data.status==422&&$formContainer.after('<div class="errors qty-error">'+data.description+"</div>")},cartUpdateCallback=function(cart){updateCountPrice(cart),buildCart(cart)};var recommendedProduct=jQuery(".ajax-cart-recommendations").html();return buildCart=function(cart){if($cartContainer.empty(),cart.item_count===0){$cartContainer.append("<p>Your cart is currently empty.</p>"),cartCallback(cart);return}var items=[],item={},data2={},source=$("#CartTemplate").html(),template=Handlebars.compile(source);$.each(cart.items,function(index,cartItem){if(cartItem.image!=null)var prodImg=cartItem.image.replace(/(\.[^.]*)$/,"_small$1").replace("http:","");else var prodImg="//cdn.shopify.com/s/assets/admin/no-image-medium-cc9732cb976dd349a0df1d39816fbcc7.gif";item={id:cartItem.variant_id,line:index+1,url:cartItem.url,img:prodImg,name:cartItem.product_title,variation:cartItem.variant_title,properties:cartItem.properties,itemAdd:cartItem.quantity+1,itemMinus:cartItem.quantity-1,itemQty:cartItem.quantity,price:Shopify.formatMoney(cartItem.price,settings.moneyFormat),vendor:cartItem.vendor},items.push(item)}),data2={items:items,note:cart.note,totalPrice:Shopify.formatMoney(cart.total_price,settings.moneyFormat)},$cartContainer.append(template(data2)),cartCallback(cart)},cartCallback=function(cart){$body.removeClass("drawer--is-loading"),$body.trigger("ajaxCart.afterCartLoad",cart),window.Shopify&&Shopify.StorefrontExpressButtons&&Shopify.StorefrontExpressButtons.initialize()},adjustCart=function(){$body.on("click",".ajaxcart__qty-adjust",function(){var $el=$(this),line=$el.data("line"),$qtySelector=$el.siblings(".ajaxcart__qty-num"),qty=parseInt($qtySelector.val().replace(/\D/g,"")),qty=validateQty(qty);$el.hasClass("ajaxcart__qty--plus")?qty+=1:(qty-=1,qty<=0&&(qty=0)),line?updateQuantity(line,qty):$qtySelector.val(qty)}),$body.on("change",".ajaxcart__qty-num",function(){var $el=$(this),line=$el.data("line"),qty=parseInt($el.val().replace(/\D/g,"")),qty=validateQty(qty);line&&updateQuantity(line,qty)}),$body.on("click",".cart-drawer-item-remove-link",function(){var $el=$(this),line=$el.data("line"),qty=0,qty=validateQty(qty);line&&updateQuantity(line,qty)}),$body.on("submit","form.ajaxcart",function(evt){isUpdating&&evt.preventDefault()}),$body.on("focus",".ajaxcart__qty-adjust",function(){var $el=$(this);setTimeout(function(){$el.select()},50)});var recommendedProduct2=jQuery(".ajax-cart-recommendations").html();jQuery(".cart-recommended-products").remove();function updateQuantity(line,qty){jQuery(".cart-recommended-products").remove(),setTimeout(function(){jQuery(".cart-recommended-products").remove(),jQuery(".ajaxcart__footer").prepend('<div class="cart-recommended-products">'+recommendedProduct2+"</div>"),jQuery(".cart-recommended-products").remove(),$(".cart-recommended-products-slider").slick({infinite:!1,dots:!1,arrows:!0,slidesToShow:2,slidesToScroll:1}),jQuery(".cart-recommended-products").show(),$("form.cart-product-addtocart").each(function(){$(this).on("submit",function(e){e.preventDefault(),console.log("add product now"),ShopifyAPI.addItemFromForm(e.target,itemAddedCallback,itemErrorCallback)})})},2e3),isUpdating=!0;var $row=$('.ajaxcart__row[data-line="'+line+'"]').addClass("is-loading");qty===0&&$row.parent().addClass("is-removed"),setTimeout(function(){ShopifyAPI.changeItem(line,qty,adjustCartCallback)},250)}$("form.coll-product-addtocart").each(function(){$(this).on("submit",function(e){e.preventDefault(),ShopifyAPI.addItemFromForm(e.target,itemAddedCallback,itemErrorCallback)})}),$("form.page-product-addtocart").each(function(){$(this).on("submit",function(e){e.preventDefault(),console.log("add product now"),ShopifyAPI.addItemFromForm(e.target,itemAddedCallback,itemErrorCallback)})}),$body.on("change",'textarea[name="note"]',function(){var newNote=$(this).val();ShopifyAPI.updateCartNote(newNote,function(cart){})})},adjustCartCallback=function(cart){isUpdating=!1,updateCountPrice(cart),setTimeout(function(){ShopifyAPI.getCart(buildCart)},150)},createQtySelectors=function(){$('input[type="number"]',$cartContainer).length&&$('input[type="number"]',$cartContainer).each(function(){var $el=$(this),currentQty=$el.val(),itemAdd=currentQty+1,itemMinus=currentQty-1,itemQty=currentQty,source=$("#AjaxQty").html(),template=Handlebars.compile(source),data2={id:$el.data("id"),itemQty:itemQty,itemAdd:itemAdd,itemMinus:itemMinus};$el.after(template(data2)).remove()})},qtySelectors=function(){var numInputs=$('input[type="number"]');numInputs.length&&(numInputs.each(function(){var $el=$(this),currentQty=$el.val(),inputName=$el.attr("name"),inputId=$el.attr("id"),itemAdd=currentQty+1,itemMinus=currentQty-1,itemQty=currentQty,source=$("#JsQty").html(),template=Handlebars.compile(source),data2={id:$el.data("id"),itemQty:itemQty,itemAdd:itemAdd,itemMinus:itemMinus,inputName:inputName,inputId:inputId};$el.after(template(data2)).remove()}),$(".js-qty__adjust").on("click",function(){var $el=$(this),id=$el.data("id"),$qtySelector=$el.siblings(".js-qty__num"),qty=parseInt($qtySelector.val().replace(/\D/g,"")),qty=vali
1dateQty(qty);$el.hasClass("js-qty__adjust--plus")?qty+=1:(qty-=1,qty<=1&&(qty=1)),$qtySelector.html(qty),$qtySelector.val(qty)}))},validateQty=function(qty){return parseFloat(qty)==parseInt(qty)&&!isNaN(qty)||(qty=1),qty},module={init:init,load:loadCart},module})(ajaxCart||{},jQuery); 2//# sourceMappingURL=/cdn/shop/t/76/assets/ajax-cart.js.map?v=1653664912287817801699013851
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.