{"version":3,"file":"NewsletterRegistrationPopup.min.js","sources":["NewsletterRegistrationPopup.js"],"sourcesContent":["(function (w, $) {\r\n\r\n // 1) No validation allowed outsite the scope of the form.\r\n // 2) Can not allow nested forms in ASP.NET\r\n \r\n let recaptcha2Invisible;\r\n let recaptchaLoaded = false;\r\n\r\n w.PubSub.subscribe('recaptcha.callback.loaded', function () {\r\n recaptchaLoaded = true;\r\n });\r\n\r\n w.PubSub.subscribe('popup.shown', function (topic, data) {\r\n\r\n if (data.popupId !== 1) {\r\n return;\r\n }\r\n\r\n const $form = $('#popupValidationForm');\r\n var $email = $('#newsletterPopupEmail');\r\n\r\n $email.on('input', () => { w.recaptcha_load(); });\r\n\r\n function validateAndSubscribe() {\r\n $form.validate();\r\n\r\n if ($email.valid()) {\r\n if (!recaptchaLoaded) {\r\n showError('Recaptcha is not loaded yet. Please try again in a second.');\r\n return;\r\n }\r\n\r\n if (!recaptcha2Invisible) {\r\n const recaptchaSitekey = $form.find('.js-sitekey').data('sitekey');\r\n recaptcha2Invisible = new w.Recaptcha2Invisible('newsletter_sub_popup_recaptcha2Container', recaptchaSitekey);\r\n }\r\n\r\n recaptcha2Invisible.execute(\r\n function(recaptcha2Token) {\r\n $.ajax({\r\n url: window.R + 'handlers/public/userdata.ashx',\r\n type: 'POST',\r\n data: {\r\n action: 'SubscribeToNewsletter',\r\n email: $email.val(),\r\n recaptcha2Token: recaptcha2Token\r\n },\r\n dataType: 'text'\r\n })\r\n .done(function() {\r\n let $closePopupButton = $('.ui-dialog-titlebar-close');\r\n if (!$closePopupButton.length)\r\n $closePopupButton = $('.noty_close');\r\n\r\n let redirectUrl = $form.find('.js-urls').data('url-redirect');\r\n\r\n if (redirectUrl) {\r\n\r\n const msgId = $form.find('.js-messages').data('msg-success-id');\r\n if (msgId) {\r\n redirectUrl = '{0}?msgId={1};{2}'.format(redirectUrl, msgId, $email.val());\r\n }\r\n\r\n $closePopupButton.click();\r\n window.location.replace(window.R + redirectUrl);\r\n\r\n return;\r\n }\r\n\r\n const msg = $form.find('.js-messages').data('msg-success');\r\n\r\n const notyOptions = {\r\n layout: 'topCenter',\r\n type: 'success',\r\n maxVisible: 15,\r\n force: true,\r\n timeout: 5000,\r\n text: msg.format($email.val())\r\n };\r\n\r\n $closePopupButton.click();\r\n w.noty(notyOptions);\r\n })\r\n .fail(function(ex) {\r\n let msg = ex.statusText ? ex.statusText : 'Subscription failed due to unknown error';\r\n\r\n try {\r\n msg = JSON.parse(ex.responseText).Message;\r\n } catch (e) {\r\n }\r\n\r\n showError(msg);\r\n });\r\n },\r\n function(error) {\r\n showError(error);\r\n }\r\n );\r\n }\r\n }\r\n\r\n function onInputKeyPress(event) {\r\n if (event.keyCode === 13) {\r\n event.preventDefault();\r\n validateAndSubscribe.apply(this);\r\n }\r\n }\r\n\r\n function showError(msg) {\r\n const notyOptions = {\r\n layout: 'topCenter',\r\n type: 'error',\r\n maxVisible: 15,\r\n force: true,\r\n timeout: 5000,\r\n text: msg\r\n };\r\n\r\n w.noty(notyOptions);\r\n }\r\n\r\n // Attach events for button subscribe button click and input keypress enter\r\n $form.find('.js-newsletter-subscription-subscribe').on('click', validateAndSubscribe);\r\n $email.on('keypress', onInputKeyPress);\r\n });\r\n})(window, jQuery);"],"names":["w","$","let","recaptcha2Invisible","recaptchaLoaded","PubSub","subscribe","topic","data","popupId","$form","$email","validateAndSubscribe","recaptchaSitekey","validate","valid","find","Recaptcha2Invisible","execute","recaptcha2Token","ajax","url","window","R","type","action","email","val","dataType","done","$closePopupButton","redirectUrl","length","notyOptions","msgId","format","click","location","replace","layout","maxVisible","force","timeout","text","noty","fail","ex","msg","statusText","JSON","parse","responseText","Message","e","showError","error","on","recaptcha_load","event","keyCode","preventDefault","apply","this","jQuery"],"mappings":"CAAA,CAAWA,EAAGC,KAKVC,IAAIC,EACAC,EAAkB,CAAA,EAEtBJ,EAAEK,OAAOC,UAAU,4BAA6B,WAC5CF,EAAkB,CAAA,CACtB,CAAC,EAEDJ,EAAEK,OAAOC,UAAU,cAAe,SAAUC,EAAOC,GAE/C,GAAqB,IAAjBA,EAAKC,QAAT,CAIA,IAAMC,EAAQT,EAAE,sBAAsB,EACtC,IAAIU,EAASV,EAAE,uBAAuB,EAItC,SAASW,IAGL,IAOcC,EATdH,EAAMI,SAAS,EAEXH,EAAOI,MAAM,IACRX,GAKAD,IACKU,EAAmBH,EAAMM,KAAK,aAAa,EAAER,KAAK,SAAS,EACjEL,EAAsB,IAAIH,EAAEiB,oBAAoB,2CAA4CJ,CAAgB,GAGhHV,EAAoBe,QAChB,SAASC,GACLlB,EAAEmB,KAAK,CACCC,IAAKC,OAAOC,EAAI,gCAChBC,KAAM,OACNhB,KAAM,CACFiB,OAAQ,wBACRC,MAAOf,EAAOgB,IAAI,EAClBR,gBAAiBA,CACrB,EACAS,SAAU,MACd,CAAC,EACAC,KAAK,WACF3B,IAAI4B,EAAoB7B,EAAE,2BAA2B,EAIjD8B,GAHCD,EAAkBE,SACnBF,EAAoB7B,EAAE,aAAa,GAErBS,EAAMM,KAAK,UAAU,EAAER,KAAK,cAAc,GAE5D,IAeMyB,EAfFF,IAEMG,EAAQxB,EAAMM,KAAK,cAAc,EAAER,KAAK,gBAAgB,KAE1DuB,EAAc,oBAAoBI,OAAOJ,EAAaG,EAAOvB,EAAOgB,IAAI,CAAC,GAG7EG,EAAkBM,MAAM,EACxBd,OAAOe,SAASC,QAAQhB,OAAOC,EAAIQ,CAAW,IAO5CE,EAAc,CAChBM,OAAQ,YACRf,KAAM,UACNgB,WAAY,GACZC,MAAO,CAAA,EACPC,QAAS,IACTC,KARQjC,EAAMM,KAAK,cAAc,EAAER,KAAK,aAAa,EAQ3C2B,OAAOxB,EAAOgB,IAAI,CAAC,CACjC,EAEAG,EAAkBM,MAAM,EACxBpC,EAAE4C,KAAKX,CAAW,EACtB,CAAC,EACAY,KAAK,SAASC,GACX5C,IAAI6C,EAAMD,EAAGE,YAA6B,2CAE1C,IACID,EAAME,KAAKC,MAAMJ,EAAGK,YAAY,EAAEC,OAEtC,CADE,MAAOC,IAGTC,EAAUP,CAAG,CACjB,CAAC,CACT,EACA,SAASQ,GACLD,EAAUC,CAAK,CACnB,CACJ,GArEID,EAAU,4DAA4D,EAuElF,CASA,SAASA,EAAUP,GAUf/C,EAAE4C,KATkB,CAChBL,OAAQ,YACRf,KAAM,QACNgB,WAAY,GACZC,MAAO,CAAA,EACPC,QAAS,IACTC,KAAMI,CACV,CAEkB,CACtB,CAlGApC,EAAO6C,GAAG,QAAS,KAAQxD,EAAEyD,eAAe,CAAG,CAAC,EAqGhD/C,EAAMM,KAAK,uCAAuC,EAAEwC,GAAG,QAAS5C,CAAoB,EACpFD,EAAO6C,GAAG,WAtBV,SAAyBE,GACC,KAAlBA,EAAMC,UACND,EAAME,eAAe,EACrBhD,EAAqBiD,MAAMC,IAAI,EAEvC,CAiBqC,CA3GrC,CA4GJ,CAAC,CACJ,GAAExC,OAAQyC,MAAM"}