define(["jquery","lodash","./CartManager","global/all","global/RocAnalytics"],function(e,i,t,o,n){"use strict";function r(){T.isDelivery=i.some(T.recipients,{itemsDeliveryType:"Shipping"}),T.canProcessOrder=U,T.isTaxExempt=A,s(T),T.isCheckoutActive=t.isCheckoutEnabled(T),T.showCreditOnHoldMessage="Terms"===F&&T.customFields.isCreditOnHold,T.requireApproval=!t.canPlaceWithoutApprove(T,F,b),o.UI.template(O,T).then(function(t){if(e(N).html(t),T&&T.recipients&&T.recipients.length>0){var o=i.every(T.items,{isCertificate:!0,isVirtualItem:!0}),n=i.filter(T.recipients,{itemsDeliveryType:"Shipping"});if(!o&&1===n.length){({recipient:n[0],states:k,countries:I,defaultCountryCode:window.RocConfig.defaultCountryCode,enableInternationalShipping:window.RocConfig.shipping.enableInternationalShipping,isB2B:M})}}})}function a(e){F=e,void 0!==T&&r()}function s(i){i&&(i.canPlaceOrder="Terms"!==F||!e.isNumeric(b)||b>=i.total)}function p(e){T&&(e.userOrderLimit=T.userOrderLimit),T=e,o.UI.unblock(P),r()}function d(e){o.UI.block(P),t.getCurrentCart(e)}function c(e){var i=e.responseJSON||{};200!==i.status&&i.message?("Not found"===i.message&&(i.message="Sorry, the promotion code you specified is not valid."),o.UI.displayErrorPopup(i.message),o.UI.unblock(P),n.recordCheckoutOption(1,i.message)):(d(!0),n.recordCheckoutOption(1,"Promotion Applied")),o.Core.releaseLockedButton(L.applyPromoCode)}function l(){e(document).on("click",L.applyPromoCode,function(){var e=o.Validation.validateForm(V);return e?(o.Core.lockButton(L.applyPromoCode),o.UI.block(P),t.applyPromotionCode(o.Forms.getFormValues(V).promoCode),!1):!1})}function u(e){var i=e.responseJSON||{};200!==i.status&&i.message?(o.UI.displayErrorPopup(i.message),o.UI.unblock(P),n.recordCheckoutOption(1,i.message)):(d(!0),n.recordCheckoutOption(1,"Promotion Removed")),o.Core.releaseLockedButton(L.applyPromoCode)}function m(){e(document).on("click",L.removePromoCode,function(){return o.UI.block(P),t.removePromotionCode(e(this).attr("data-code")),!1})}function g(){e(document).on("click",'#shipping-options input[name="shipping"]',function(i){var n=e(i.currentTarget),r=n.data(),a={recipientId:e("#estimate-shipping-recipient-id").val(),shippingServiceId:n.val(),shippingServiceLabel:r.rocParams.name};o.UI.block(P),t.updateShippingDetails(a,o.Enums.shippingRequestType.SELECT_SERVICE)})}function C(){e(document).on("click","#shipping-options .go-back",function(i){e("#shipping-options").addClass("hidden"),e("#estimate-shipping-form").removeClass("hidden")})}function h(){e(document).on("click",L.estimateShipping,function(){var e=o.Validation.validateForm(D);if(!e)return void(D.ErrorMsg&&o.UI.displayErrorPopup(D.ErrorMsg));o.Core.lockButton(L.estimateShipping),o.UI.block(P);var i=o.Forms.getFormValues(D);t.updateShippingDetails(i,o.Enums.shippingRequestType.UPDATE_ADDRESS)})}function y(e){var t=i.findIndex(T.recipients,function(i){return i.id===e.id});t>=0&&(T.recipients[t]=e,"Shipping"===e.itemsDeliveryType&&p(T))}function f(e){var i=e.xhr,t=i.responseJSON;200!==i.status?(o.UI.unblock(P),o.UI.displayErrorPopup(t.message?t.message:"Response error"),o.Core.releaseLockedButton(L.estimateShipping)):t.recipient&&t.recipient.shippingOptions&&0===t.recipient.shippingOptions.length?(o.UI.unblock(P),o.UI.displayErrorPopup(t.message?t.message:"Please ensure your shipping information is correct to estimate shipping."),o.Core.releaseLockedButton(L.estimateShipping)):d()}function v(){h(),g(),l(),m(),C(),o.EventManager.bind(o.Events.checkout.UPDATE_RECIPIENT,y),o.EventManager.bind(o.Events.cart.UPDATE_SHIPPING_DETAILS,f),o.EventManager.bind(o.Events.cart.GET_CURRENT_CART,p),o.EventManager.bind(o.Events.cart.APPLY_PROMO_CODE,c),o.EventManager.bind(o.Events.cart.REMOVE_PROMO_CODE,u),o.EventManager.bind(o.Events.users.LOGIN,function(e){var i=e.responseJSON||{};i.success&&i.checkoutViewModel&&p(i.checkoutViewModel.order)}),o.EventManager.bind(o.Events.giftCards.ASSOCIATE_PAYMENT,function(e){e.orderCart&&p(e.orderCart)}),o.EventManager.bind(o.Events.giftCards.REMOVE_PAYMENT,function(e){e.orderCart&&p(e.orderCart)})}function E(e){b=parseFloat(e.userOrderLimit),S=e.checkoutUrl,R=e.punchoutOrder,O=e.template,M=e.isB2B,U=e.canProcessOrder,A=e.isTaxExempt,e.model&&(T=e.model.order,k=i.sortBy(e.model.states,"stateName"),I=e.model.countries,P=e.model.isCheckoutPage?N:null,r()),v()}var P,T,k,I,S,O,R,b,F,U,A,M=!1,N="#slideCartRail",V={Fields:[{Name:"Promotion Code",Field:"#txtPromoCode",Param:"promoCode",Type:"Text"}],Validate:!0},D={Fields:[{Name:"Country",Field:"#estimate-shipping-country",Param:"country",Type:"Select"},{Name:"City",Field:"#estimate-shipping-city",Param:"city",Type:"Text",Optional:!0,Validators:[{Type:"RequiredIfField",ConditionalField:"#estimate-shipping-country",ConditionalFieldAttr:"data-isPostalCodeRequired",ConditionalValue:"false",ConditionalFieldType:"Select"}]},{Name:"Zip/Postal Code",Field:"#estimate-shipping-zip",Param:"zip",Type:"Text",Optional:!0,Validators:[{Type:"RequiredIfField",ConditionalField:"#estimate-shipping-country",ConditionalFieldAttr:"data-isPostalCodeRequired",ConditionalValue:"true",ConditionalFieldType:"Select"},{Type:"Zip",ReferencedField:"#estimate-shipping-country",ReferencedFieldAttr:"data-isPostalCodeRequired",ReferencedValue:"true",ReferencedFieldType:"Select"}]},{Name:"RecipientId",Field:"#estimate-shipping-recipient-id",Param:"recipientId",Type:"Hidden"}],Validate:!0},L={processCheckout:"#btnProceedCheckout",estimateShipping:"#estimate-shipping",applyPromoCode:"#btnApplyPromoCode",removePromoCode:".removePromoCode"},_={init:E,reload:p,setSelectedPaymentType:a};return o.Logger.debug("CartRailSummary.js Loaded:",_),_}); //# sourceMappingURL=CartRailSummary.js.map