(function() { let blockId = 4609003; const blockSubmitNewsletter = moi.throttle(function () { var domEmail = `#block_email_input_${blockId}`; email = $(`#block_email_input_${blockId}`).val(); if (email == "") { moi.tooltip({ placement: "top", el: domEmail, timer: 5000, space: 0, content: "Please enter a valid email address", }); return; } $isvalidemail = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test( email ); if (!$isvalidemail) { moi.tooltip({ placement: "top", el: domEmail, timer: 1000, space: 0, content: "Please enter a valid email address", }); return; } const load = moi.nodeShowLoading( `#newsletter_btn${blockId}`, "" ); moi.ajax({ url: "/module/newsletter", type: "POST", data: JSON.stringify({ email: email, }), dataType: "json", cache: false, complete: function () { load.close(); }, success: function (res) { if (res.data && res.data.data) { if (res.data.new_customer) { callback_generate_lead(); } moi.message({ content: `Thank you for joining our mailing list!`, }); } else { moi.tooltip({ placement: "top", el: domEmail, timer: 1000, space: 0, content: "Subscribe Failed", }); } }, error: function () { moi.tooltip({ placement: "top", el: domEmail, timer: 1000, space: 0, content: "Connection failed, please refresh", }); }, }); }, 3000); $(`#newsletter_btn${blockId}`).click(function () { blockSubmitNewsletter(); }); $(`#block_email_input_${blockId}`).on("keydown", function (e) { if (e.which === 13) { blockSubmitNewsletter(); } }); })()