jQuery(function ($) { let COOKIE_NAME = 'ebookpopup'; let COOKIE_LIFETIME = 30; let timeoutDelay = 150; // in seconds let qs = new URLSearchParams(window.location.search); let integrationParam = qs.get("integration"); let downloadUrl = '/static/assets/guides-ebooks/strategy-planning/50-business-diagrams.pdf'; let freshsalesApiEndpoint = 'https://api.creately.com/api/integration/freshsales'; $(document).ready(function () { if (!getCookie(COOKIE_NAME) && integrationParam != 'msteams') { $('#ebook-popup').modal('show'); } if (getCookie(COOKIE_NAME)) { $('#post-ebook-banner').show(); } }); $('#ebook-popup #ebook-popup-submit').click(function () { var $btn = $(this); $btn.button('loading'); hideErrors(); var email = $('#ebook-popup #email').val(); if (isValidEmail(email)) { var leadsData = { command: 'leads', data: { lead: { email: email, custom_field: { cf_lead_source: '50-business-diagrams-ebook' } } } }; $.ajax(freshsalesApiEndpoint, { type: 'POST', data: JSON.stringify(leadsData), success: function (data, status, xhr) { if (data.lead && data.lead.id) { var $anch = $('') .attr('href', downloadUrl) .attr('download', downloadUrl.split('/').pop()) .css('display', 'none'); $('body').append($anch); $anch[0].click(); $anch.remove(); setCookie(); $('#ebook-popup').modal('hide'); } else if (data.errors && data.errors.message) { $('#ebook-popup #error-message').text(data.errors.message); } else { $('#ebook-popup #error-message').text('Something went wrong, please try again.'); } $btn.button('reset'); }, error: function (jqXhr, textStatus, errorMessage) { $('#ebook-popup #error-message').text('Something went wrong, please try again.'); $btn.button('reset'); console.error(jqXhr, textStatus, errorMessage); } }); } else { $('#ebook-popup #error-message').text('Please enter a valid email address.'); $('#ebook-popup #email').addClass('has-error'); $btn.button('reset'); } }); $('#ebook-popup #remind-me-later').click(function (e) { e.preventDefault(); $('#ebook-popup').modal('hide'); setTimeout(function () { $('#ebook-popup').modal('show'); }, timeoutDelay * 1000); }); $('#ebook-popup-close').click(function () { $('#ebook-popup').modal('hide'); setCookie(); $('#post-ebook-banner').show(); }); $('#ebook-popup #email').on('keypress', function (e) { hideErrors(); if (e.keyCode === 13) { $('#ebook-popup #ebook-popup-submit').trigger('click'); } }); /** * Validate email address * @param {string} email * @returns boolean */ function isValidEmail(email) { var emailValidationRegex = new RegExp(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/); return emailValidationRegex.test(email) ? true : false; } /** * Set cookie */ function setCookie() { let expireDate = new Date(); expireDate.setDate(expireDate.getDate() + COOKIE_LIFETIME); document.cookie = COOKIE_NAME + '= * ; path=/; domain=' + window.location.hostname + '; expires=' + expireDate.toUTCString(); } /** * Return cookie value for passing cookie name * @param {string} cookieName */ function getCookie(cookieName) { let match = document.cookie.match(new RegExp('(^| )' + cookieName + '=([^;]+)')); if (match) { return match[2]; } else { return false; } } /** * Hide errors */ function hideErrors() { $('.error-message').text(''); $('.form-control').removeClass('has-error'); } $('#ebook-popup-content-btn').click(function () { $('#ebook-popup').modal('show'); }); });