{"version":3,"sources":["Feature.Seminars.js"],"names":["AuthorizeDotNetResponseHandler","res","messages","resultCode","$","text","customerInformation","firstName","lastName","encryptedCardData","cardNumber","expDate","val","opaqueData","dataValue","dataDescriptor","slideDown","onloadCallback","window","grecaptcha","render","sitekey","data","callback","token","expired-callback","args","document","ready","btn","inhibitors","startDateContainer","getElementById","endDateContainer","form","seminarName","getAttribute","startTimestamp","endTimestamp","startDate","Date","parseInt","endDate","datasourceId","lang","registrationDate","paymentMethod","querySelectorAll","scrollPos","toggleSubmitBtn","querySelector","enable","inhibitor","inhibitorIndex","indexOf","push","setAttribute","splice","length","removeAttribute","getStateProvince","OnlyLatestRequestCallback","updateFee","currentDate","feeRows","Array","from","timeUntilSeminarMs","getTime","i","feeRow","threshold","addClass","highlightedFeeRow","removeClass","getCouponCode","innerText","toDateString","value","setInterval","on","event","disabledCode","target","ajax","url","type","couponCode","success","ErrorMessage","toggleCouponError","attr","removeAttr","error","stateProvinceSelector","ToggleStateProvince","countryCode","ListItems","innerHTML","IsCreditCard","addEventListener","IFrameClosedHandler","scrollTop","click","acceptUiContainer","style","width","marginLeft","slideUp","toggleClass","toggleTarget","toggleable","slideToggle","element","textareaField","id","settings","ignore","submitHandler","e","preventDefault","formInfo","FirstName","LastName","Email","Phone","Title","Company","Address","Country","City","StateProvince","Postalcode","PaymentMethod","GetRadioValue","DataValue","DataDescriptor","Industry","OtherIndustry","Application","OtherApplication","CouponCode","SpecificApplications","SpecificInterests","GroupAttendees","Gdpr1","checked","Gdpr2","TermsAndConditions","IsNewsletter","context","this","LeadSource","location","href","thankyoupageUrl","message","console","log","SeminarName","StartDate","toUTCString","EndDate","TransactionId","transactionResponse","transId","toString","PaymentAmount","filter","m","code","Coupon","param","fancybox","overlayShow","hideOnOverlayClick","beforeClose","trigger","response","responseJSON","transErrors","errors","errMsgContainer","msgContainer","errMsgs","apply","map","errorText","html","join","origin","resType","forEach","showMessage","show","hide","isDropdown","find","radioBtns"],"mappings":"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","file":"Feature.Seminars.min.js","sourcesContent":["$(document).ready(function() {\n\tvar startDateContainer = document.getElementById('seminar-date-start'),\n\t\tendDateContainer = document.getElementById('seminar-date-end'),\n\t\tform = document.getElementById('seminar-registration-form'),\n\t\tseminarName = form.getAttribute('data-seminar-name'),\n\t\tstartTimestamp = form.getAttribute('data-timestamp-start'),\n\t\tendTimestamp = form.getAttribute('data-timestamp-end'),\n\t\tstartDate = new Date(parseInt(startTimestamp)),\n\t\tendDate = endDateContainer ? new Date(parseInt(endTimestamp)) : null,\n\t\tdatasourceId = form.getAttribute('data-datasource'),\n lang = form.getAttribute('data-language'),\n\t\tregistrationDate = document.getElementById('registration-date'),\n\t\tpaymentMethod = document.querySelectorAll('input[name=\"payment-method\"]'),\n\t\tscrollPos = null,\n\t\ttoggleSubmitBtn = GetButtonToggleFn(document.querySelector('#seminar-registration-form button[type=\"submit\"]')),\n\t\tgetStateProvince = OnlyLatestRequestCallback();\n getCouponCode = OnlyLatestRequestCallback();\n\n\n\tstartDateContainer.innerText = startDate.toDateString();\n\tif (endDateContainer) {\n\t\tendDateContainer.innerText = endDate.toDateString();\n\t}\n\n\t// Registration Date Window for Pricing\n\thighlightedFeeRow = null;\n\tfunction updateFee(currentDate) {\n\t\tvar feeRows = Array.from(document.querySelectorAll('[data-early-registration-threshold]'));\n\t\tcurrentDate = currentDate || new Date();\n\t\ttimeUntilSeminarMs = parseInt(startTimestamp) - currentDate.getTime();\n\t\tfor (i = 0; i < feeRows.length; i++) {\n\t\t\tfeeRow = feeRows[i];\n\t\t\tthreshold = parseInt(feeRow.getAttribute('data-early-registration-threshold'));\n\t\t\tif (timeUntilSeminarMs < threshold) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t$(feeRow).addClass('highlight');\n\t\t\tif (highlightedFeeRow && highlightedFeeRow != feeRow) {\n\t\t\t\t$(highlightedFeeRow).removeClass('highlight');\n\t\t\t}\n\t\t\thighlightedFeeRow = feeRow;\n\n\t\t\treturn;\n\t\t}\n\t};\n\n\tupdateFee();\n\tregistrationDate.value = (new Date()).toDateString();\n\n\tsetInterval(function() {\n\t\tcurrentDate = new Date();\n\t\tregistrationDate.value = currentDate.toDateString();\n\t\tupdateFee(currentDate);\n\t}, 1000);\n\n $('#coupon-code').on('change', function (event) {\n disabledCode = 'couponcode';\n if (event.target.value != \"\") {\n getCouponCode.ajax({\n url: \"/api/spray/seminars/GetCouponCode\",\n type: \"POST\",\n data: {\n couponCode: event.target.value,\n datasourceId: datasourceId,\n lang: lang,\n },\n success: function (data) {\n if (data.ErrorMessage) {\n toggleCouponError(true, data);\n toggleSubmitBtn(false, disabledCode);\n return;\n }\n toggleSubmitBtn(true, disabledCode);\n if ($('form *[type=\"submit\"]').attr('disabled') === disabledCode) {\n $('form *[type=\"submit\"]').removeAttr('disabled');\n }\n toggleCouponError(false, data);\n },\n error: function () {\n toggleCouponError(true, data);\n toggleSubmitBtn(false, disabledCode);\n }\n });\n } else {\n toggleSubmitBtn(true, disabledCode);\n if ($('form *[type=\"submit\"]').attr('disabled') === disabledCode) {\n $('form *[type=\"submit\"]').removeAttr('disabled');\n }\n toggleCouponError(false, null);\n }\n\t});\n\n // Change State/Province list based on selected Country\n $('#country').on('change', function (event) {\n var stateProvinceSelector = document.getElementById('state-province-dropdown'),\n disabledCode = 'countryselect';\n ToggleStateProvince(false);\n toggleSubmitBtn(false, disabledCode);\n\n getStateProvince.ajax({\n url: \"/api/spray/seminars/GetStatesProvinces\",\n type: \"POST\",\n data: {\n countryCode: event.target.value\n },\n success: function (data) {\n toggleSubmitBtn(true, disabledCode);\n if (!data || !data.ListItems) {\n return;\n }\n if ($('form *[type=\"submit\"]').attr('disabled') === disabledCode) {\n $('form *[type=\"submit\"]').removeAttr('disabled');\n }\n\n stateProvinceSelector.innerHTML = data.ListItems;\n ToggleStateProvince(true);\n },\n error: function () {\n toggleSubmitBtn(true, disabledCode);\n }\n });\n });\n\n\t// Payment method credit card info slide out\n\t$('input[name=\"payment-method\"]').on('change', function(event) {\n\t\tif (IsCreditCard()) {\n\n\t\t\tif (!$('#dataValue').val() || $('#dataValue').val() == '') {\n\t\t\t\t// do not show modal after receiving payment info\n\n\t\t\t\tif (!scrollPos) {\n\t\t\t\t\t// register message handler to prevent scrollTo(0,0) behavior\n\t\t\t\t\t// handler is registered here to make sure we are running _after_ their handler\n\t\t\t\t\twindow.addEventListener('message', IFrameClosedHandler);\n\t\t\t\t}\n\n\t\t\t\t// preserve scroll when showing popup\n\t\t\t\tscrollPos = $(window).scrollTop();\n\t\t\t\t$('button.AcceptUI').click();\n\t\t\t\t$(window).scrollTop(scrollPos);\n\n\t\t\t\t// fix payment form offset on mobile\n\t\t\t\tacceptUiContainer = document.getElementById('AcceptUIContainer');\n\t\t\t\tif (acceptUiContainer.style.width === \"100%\") {\n\t\t\t\t\tacceptUiContainer.style.marginLeft = \"0\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t$('.cc.toggleable').slideDown();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\t\t$('.cc.toggleable').slideUp();\n\t});\n\n\t// slide out industry-application dropdowns\n\t$('.section-toggle').on('click', function(event) {\n\t\t$(event.target).toggleClass('active');\n\n\t\ttoggleTarget = event.target.getAttribute('data-for');\n\t\ttoggleable = document.getElementById(toggleTarget);\n\t\tif (!toggleable) {\n\t\t\treturn;\n\t\t}\n\t\t$(toggleable).slideToggle(300);\n\t});\n\n\t// Slide out alternative industry-application textareas\n\t$('#industry, #application').on('change', function(event) {\n\t\telement = event.target;\n\t\ttextareaField = $('.' + element.id + '.toggleable');\n\t\tif (element.value !== \"other\") {\n\t\t\ttextareaField.slideUp(300);\n\t\t\treturn;\n\t\t}\n\t\ttextareaField.slideDown(300);\n\t});\n\n\t$(form).data('validator').settings.ignore = ':hidden:not(#captcha-verifier)'; // don't ignore captcha-verifier\n\t$(form).data('validator').settings.submitHandler = function(form, e) {\n\t\tvar disabledCode = 'formsubmit';\n\t\ttoggleSubmitBtn(false, disabledCode);\n\t\te.preventDefault();\n\t\tvar formInfo = GetFormObject();\n\t\t$.ajax({\n\t\t\turl: '/api/spray/seminars/RegistrationFormSubmit',\n\t\t\ttype: \"POST\",\n\t\t\tcontext: this,\n\t\t\tdata: {\n\t\t\t\tform: formInfo,\n\t\t\t\tLeadSource: window.location.href,\n\t\t\t\tdatasourceId: datasourceId,\n\t\t\t},\n\t\t\tsuccess: function(res) {\n\t\t\t\t// go to thankyou page\n\t\t\t\tvar thankyoupageUrl = form.getAttribute('data-thankyoupage'),\n\t\t\t\t\tmessages = res.messages.message || [];\n\n\t\t\t\tif (!thankyoupageUrl || thankyoupageUrl == '') {\n\t\t\t\t\tconsole.log('no thank-you-page defined');\n\t\t\t\t\tcallback($('#payment-success-link'))(res);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tformInfo.SeminarName = seminarName;\n\t\t\t\tformInfo.StartDate = startDate.toUTCString();\n\t\t\t\tformInfo.EndDate = endDate ? endDate.toUTCString() : null;\n\t\t\t\tformInfo.TransactionId = res.transactionResponse.transId;\n\t\t\t\tformInfo.IsCreditCard = IsCreditCard().toString();\n\t\t\t\tformInfo.PaymentAmount = messages.filter(function(m) {\n return m.code === 'amount';\n })[0].text;\n formInfo.Coupon = messages.filter(function (m) {\n return m.code === 'coupon';\n })[0].text;\n\n\t\t\t\twindow.location.href = thankyoupageUrl + '?' + $.param(formInfo);\n\t\t\t},\n\t\t\terror: callback($('#payment-failure-link'))\n\t\t});\n\t};\n\n\t$('a.response-modal').fancybox({\n\t\toverlayShow: true,\n\t\thideOnOverlayClick: true,\n\t\tbeforeClose: function() { window.location.href = window.location.href; }\n\t});\n\n\tvar callback = function(trigger) {\n\t\treturn function(res) {\n\t\t\tvar response = (res || {}).responseJSON || res,\n\t\t\t\tmessages = (response || {}).messages,\n\t\t\t\ttransErrors = ((response || {}).transactionResponse || {}).errors,\n\t\t\t\terrMsgContainer = $(trigger.attr('href') + ' .err-msg'),\n\t\t\t\tmsgContainer = $(trigger.attr('href') + ' .dialog-msg');\n\n\t\t\tmsgContainer.text(msgContainer.data(IsCreditCard() ? 'credit-card' : 'check-in-advance'));\n\n\t\t\t// collect error messages if they exist\n\t\t\tvar errMsgs = [];\n\t\t\tif (messages && messages.resultCode !== 0) {\n\t\t\t\terrMsgs.push.apply(errMsgs, messages.message.map(function(i) {\n\t\t\t\t\treturn i.text;\n\t\t\t\t}));\n\t\t\t}\n\t\t\tif (transErrors && transErrors.length !== 0) {\n\t\t\t\terrMsgs.push.apply(errMsgs, transErrors.map(function(i) {\n\t\t\t\t\treturn i.errorText;\n\t\t\t\t}));\n\t\t\t}\n\n\t\t\t// populate errmsg container\n\t\t\terrMsgContainer.html(errMsgs.join('
'));\n\n\t\t\ttrigger.click();\n\t\t}\n\t}\n\n\tvar IFrameClosedHandler = function(e) {\n\t\tif (e.origin.indexOf('authorize.net') < 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tresType = [\n\t\t\t'CLOSE_IFRAME',\n\t\t\t'RESPONSE'\n\t\t].filter(function(type) { return e.data.type === type; });\n\t\tif (resType.length == 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (e.data.type === 'CLOSE_IFRAME') {\n\t\t\t// uncheck 'payment-method' if no information is entered\n\t\t\tpaymentMethod.forEach(function(e) {\n\t\t\t\te.checked = false;\n\t\t\t});\n\t\t}\n\n\t\tif (!scrollPos) {\n\t\t\treturn;\n\t\t}\n\n\t\t// preserve scroll when closing or submitting payment form\n\t\t$(window).scrollTop(scrollPos);\n\t};\n\n function toggleCouponError(showMessage, data) {\n if (showMessage) {\n $('#coupon-code-error').show();\n $('#coupon-code-error').text(data.ErrorMessage)\n } else {\n $('#coupon-code-error').hide();\n $('#coupon-code-error').text('')\n }\n }\n\n function ToggleStateProvince(isDropdown) {\n $('#state-province-dropdown, #state-province-textfield').val('');\n\n if (!isDropdown) {\n $('#state-province-dropdown-container')\n .hide(300).find('#state-province-dropdown').html('');\n $('#state-province-textfield-container').show(300);\n return;\n }\n\n $('#state-province-dropdown-container').show(300);\n $('#state-province-textfield-container').hide(300);\n }\n\n\tfunction GetButtonToggleFn(btn) {\n\t\tvar inhibitors = [];\n\n\t\treturn function(enable, inhibitor) {\n\t\t\tvar inhibitorIndex = inhibitors.indexOf(inhibitor);\n\n\t\t\tif (!enable) {\n\t\t\t\tif (inhibitorIndex == -1) {\n\t\t\t\t\tinhibitors.push(inhibitor);\n\t\t\t\t}\n\t\t\t\tbtn.setAttribute('disabled', 'disabled');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (inhibitorIndex != -1) {\n\t\t\t\tinhibitors.splice(inhibitorIndex, 1);\n\t\t\t}\n\t\t\tif (inhibitors.length == 0) {\n\t\t\t\tbtn.removeAttribute('disabled');\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction GetFormObject() {\n\t\treturn {\n\t\t\tFirstName: $('#fname').val(),\n\t\t\tLastName: $('#lname').val(),\n\t\t\tEmail: $('#email').val(),\n\t\t\tPhone: $('#phone').val(),\n\t\t\tTitle: $('#title').val(),\n\t\t\tCompany: $('#company-organization').val(),\n\t\t\tAddress: $('#address').val(),\n\t\t\tCountry: $('#country').val(),\n\t\t\tCity: $('#city').val(),\n\t\t\tStateProvince: (\n\t\t\t\t$('#state-province-dropdown').val() ||\n\t\t\t\t$('#state-province-textfield').val()\n\t\t\t),\n\t\t\tPostalcode: $('#zip-code').val(),\n\t\t\tPaymentMethod: GetRadioValue(paymentMethod),\n\t\t\tDataValue: $('#dataValue').val(),\n\t\t\tDataDescriptor: $('#dataDescriptor').val(),\n\t\t\tIndustry: $('#industry').val(),\n\t\t\tOtherIndustry: $('#other-industry').val(),\n\t\t\tApplication: $('#application').val(),\n\t\t\tOtherApplication: $('#other-application').val(),\n\t\t\tCouponCode: $('#coupon-code').val(),\n\t\t\tSpecificApplications: $('#specific-application-text').val(),\n SpecificInterests: $('#specific-interest-text').val(),\n GroupAttendees: $('#group-attendees-text').val(),\n\t\t\tGdpr1: $('#gdpr-1')[0].checked,\n\t\t\tGdpr2: $('#gdpr-2')[0].checked,\n\t\t\tTermsAndConditions: $('#terms-and-conditions')[0].checked,\n\t\t\tIsNewsletter: $('#newsletter')[0].checked\n\t\t}\n\t}\n\n\tfunction GetRadioValue(radioBtns) {\n\t\tfor (var i = 0; i < radioBtns.length; i++) {\n\t\t\tif (radioBtns[i].checked) {\n\t\t\t\treturn radioBtns[i].value;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tfunction IsCreditCard() {\n\t\treturn GetRadioValue(paymentMethod) === 'CreditCard';\n\t}\n\n});\n\nfunction AuthorizeDotNetResponseHandler(res) {\n\tif (res.messages.resultCode !== 'Ok') {\n\t\t// failed to process payment info\n\t\treturn;\n\t}\n\n\t// display card summary\n\t$('#cardholder-name').text(res.customerInformation.firstName + ' ' + res.customerInformation.lastName);\n\t$('#card-number').text(res.encryptedCardData.cardNumber);\n\t$('#card-expiration-date').text(res.encryptedCardData.expDate);\n\n\t// populate form with nonce\n\t$('#dataValue').val(res.opaqueData.dataValue);\n\t$('#dataDescriptor').val(res.opaqueData.dataDescriptor);\n\n\t$('.cc.toggleable').slideDown();\n}\n\nfunction onloadCallback() {\n\twindow.grecaptcha.render('recaptcha-container', {\n\t\t'sitekey': $('#recaptcha-container').data('recaptcha-key'),\n\t\t'callback': function(token) {\n\t\t\t$('#captcha-verifier').val('done');\n\t\t},\n\t\t'expired-callback': function(args) {\n\t\t\t$('#captcha-verifier').val('');\n\t\t}\n\t});\n};\n"]}