(function(){ const resizeContainer = function(leadFormContainer){ let leadClass = leadFormContainer.getAttribute("class") || ""; if (window.innerWidth < 728) { if (leadClass.indexOf("full-screen") == -1) { leadFormContainer.setAttribute("class", leadClass + ' full-screen'); } } else { if (leadClass.indexOf("full-screen") != -1) { leadFormContainer.setAttribute("class", leadClass.replace("full-screen", "").trim()); } } } const closeContainer = function(leadFormContainer){ let leadFormContainerClass = leadFormContainer.getAttribute("class") || ""; if (leadFormContainerClass.indexOf("show") != -1) { leadFormContainer.setAttribute("class", leadFormContainerClass.replace("show", "").trim()); } } const openContainer = function(leadFormContainer){ let leadFormContainerClass = leadFormContainer.getAttribute("class") || ""; if (leadFormContainerClass.indexOf("show") == -1) { leadFormContainer.setAttribute("class", leadFormContainerClass + " show"); } } const implementIframe = function(){ // Get containers // button const leadButton = document.createElement("button"); leadButton.setAttribute('id', 'lb-9093badf-8505-4db0-bb83-536724d3e030'); leadButton.setAttribute('class', ''); leadButton.innerHTML = `Contact Us`; // Form const leadFormHeader = document.createElement("div"); leadFormHeader.setAttribute("class", "lead-form-header"); const leadFormContent = document.createElement("div"); leadFormContent.setAttribute("class", "lead-form-content"); const leadFormButtonClose = document.createElement("span"); leadFormButtonClose.setAttribute("class", "lead-form-button-close"); leadFormButtonClose.innerHTML = ``; const leadFormContainer = document.createElement("div"); leadFormContainer.setAttribute('id', 'lc-2c828d44-b658-4692-b912-c5e8b984ddea'); leadFormContainer.setAttribute('class', ''); resizeContainer(leadFormContainer); // Style const leadFormContainerStyle = document.createElement("style"); leadFormContainerStyle.textContent = `@keyframes pulse-bg-success { 0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(25, 135, 84, 0.7); } 70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(25, 135, 84, 0); } 100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(25, 135, 84, 0); } } @keyframes pulse-bg-dark { 0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(33, 37, 41, 0.7); } 70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(33, 37, 41, 0); } 100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(33, 37, 41, 0); } } @keyframes pulse-bg-light { 0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(248, 249, 250, 0.7); } 70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(248, 249, 250, 0); } 100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(248, 249, 250, 0); } } @keyframes pulse-bg-body { 0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7); } 70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(255, 255, 255, 0); } 100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); } } #lb-9093badf-8505-4db0-bb83-536724d3e030 { position: fixed; bottom: 20px; right: 20px; width: 60px; height: 60px; background-color: rgba(25, 135, 84, 1); color: white; border: none; border-radius: 50%; text-align: center; font-size: 30px; cursor: pointer; /*box-shadow: 0px 4px 6px rgba(0,0,0,0.1);*/ box-shadow: 0 0 0 0 rgba(76, 175, 80, 1); animation: pulse- 2s infinite; z-index: 1000; font-size: 14px; line-height: 12px; font-weight: 500; padding-top: 8px; padding-left: 4px; } #lb-9093badf-8505-4db0-bb83-536724d3e030.bg-success { background-color: rgba(25, 135, 84, 1) !important; } #lb-9093badf-8505-4db0-bb83-536724d3e030.bg-dark { background-color: rgba(33, 37, 41, 1) !important; } #lb-9093badf-8505-4db0-bb83-536724d3e030.bg-light { background-color: rgba(248, 249, 250, 1) !important; } #lb-9093badf-8505-4db0-bb83-536724d3e030.bg-body { background-color: rgba(255, 255, 255, 1) !important; } #lb-9093badf-8505-4db0-bb83-536724d3e030.for-close { bottom: 20px; right: 20px; width: 40px; height: 40px; z-index: 1001; } #lb-9093badf-8505-4db0-bb83-536724d3e030:hover { background-color: #45a049; /* Darker green */ } #lc-2c828d44-b658-4692-b912-c5e8b984ddea { display: none; flex-direction: column; position: fixed; bottom: 20px; right: 20px; min-width: 300px; height: 400px; border: solid 1px #ebebeb; box-shadow: 0px 4px 6px rgba(0,0,0,0.1); border-radius: 4px; z-index: 1000; } #lc-2c828d44-b658-4692-b912-c5e8b984ddea.show { display: flex; } #lc-2c828d44-b658-4692-b912-c5e8b984ddea iframe { border-radius: 0px 0px 4px 4px; } #lc-2c828d44-b658-4692-b912-c5e8b984ddea.full-screen { bottom: 0; right: 0; width: 100%; height: 100%; } #lc-2c828d44-b658-4692-b912-c5e8b984ddea .lead-form-header { display: flex; justify-content: end; padding: 5px; background-color: white; border-radius: 4px 4px 0px 0px; } #lc-2c828d44-b658-4692-b912-c5e8b984ddea .lead-form-header .lead-form-button-close { display: flex; } #lc-2c828d44-b658-4692-b912-c5e8b984ddea .lead-form-header .lead-form-button-close:hover { cursor: pointer; } #lc-2c828d44-b658-4692-b912-c5e8b984ddea .lead-form-content { height: 100%; }`; // Head const headContainer = document.getElementsByTagName('head')[0]; // Body const bodyContainer = document.getElementsByTagName('body')[0]; // Create iframe const leadFormIframe = document.createElement("IFRAME"); leadFormIframe.src = 'https://multipass.arbostar.com/requests/lead-form/iframe?bg=light&nls=defaultOrDraft'; leadFormIframe.height = "100%"; leadFormIframe.width = "100%"; // Implement events window.addEventListener("message", (event) => { if (typeof event.data.lead_form_event != 'undefined') { window.dispatchEvent(new CustomEvent("lead_form."+event.data.lead_form_event, {detail:event.data.lead_form_data})); } }); leadButton.addEventListener("click", (event) => { openContainer(leadFormContainer); }); leadFormButtonClose.addEventListener("click", (event) => { closeContainer(leadFormContainer); }); window.addEventListener("resize", () => { resizeContainer(leadFormContainer); }); window.addEventListener("lead_form.request_success", () => { setTimeout(() => { closeContainer(leadFormContainer); }, 6000); }); // Insert iframe in container leadFormHeader.appendChild(leadFormButtonClose); headContainer.appendChild(leadFormContainerStyle); bodyContainer.appendChild(leadButton); bodyContainer.appendChild(leadFormContainer); leadFormContent.appendChild(leadFormIframe); leadFormContainer.appendChild(leadFormHeader); leadFormContainer.appendChild(leadFormContent); } document.addEventListener("DOMContentLoaded", () => { implementIframe(); }); })();