function sendLeadToBrubrubrush(data, cbb){ var serializedData = arrayToString(data); $.ajax({ type: "POST", url: yamodelApi + "iamodel-tilda-ws/tildawebhook", data: serializedData, xhrFields: { withCredentials: !1 }, success: (json)=> { if(cbb) cbb(); }, error: function(error) { console.log("fail1",error); }, timeout: 15000 }); } function getCookie(name) { const value = `; ${document.cookie}`; const parts = value.split(`; ${name}=`); if (parts.length === 2) return parts.pop().split(';').shift(); } function setCookie(name, value, props) { props = props || {} var exp = props.expires if (typeof exp == "number" && exp) { var d = new Date() d.setTime(d.getTime() + exp*1000) exp = props.expires = d } if(exp && exp.toUTCString) { props.expires = exp.toUTCString() } value = encodeURIComponent(value) var updatedCookie = name + "=" + value for(var propName in props){ updatedCookie += "; " + propName var propValue = props[propName] if(propValue !== true){ updatedCookie += "=" + propValue } } document.cookie = updatedCookie } function injectSendMethodToTildaForm(){ function openPaypalPaymentUrl(data, cb){ var serializedData = arrayToString(data); $.ajax({ type: "POST", url: yamodelApi + "iamodel-tilda-ws/generatepaypalpaymenturl", data: serializedData, dataType: "json", xhrFields: { withCredentials: !1 }, success: (json)=> { if(!!json["redirectUrl"]) window.location.href = json["redirectUrl"]; else cb(); }, error: function(error) { console.log("fail",error); }, timeout: 15000 }); } function openYandexPaymentUrl(data, cb){ var serializedData = arrayToString(data); $.ajax({ type: "POST", url: yamodelApi + "iamodel-tilda-ws/generateyandexpaymenturl", data: serializedData, dataType: "json", xhrFields: { withCredentials: !1 }, success: (json)=> { if(!!json["redirectUrl"]) window.location.href = json["redirectUrl"]; else cb(); }, error: function(error) { console.log("fail",error); }, timeout: 15000 }); } function openFondyPaymentUrl(data, cb){ var serializedData = arrayToString(data); $.ajax({ type: "POST", url: yamodelApi + "iamodel-tilda-ws/generatefondypaymenturl", data: serializedData, dataType: "json", xhrFields: { withCredentials: !1 }, success: (json)=> { if(!!json["redirectUrl"]) window.location.href = json["redirectUrl"]; else cb(); }, error: function(error) { console.log("fail",error); }, timeout: 15000 }); } function isGeneratePaypalPaymentUrl(serializedFormData){ for(var item of serializedFormData){ if(item["name"]=="generatePaypalPaymentUrl") return true; } return false; } function isGenerateYandexPaymentUrl(serializedFormData){ for(var item of serializedFormData){ if(item["name"]=="generateYandexPaymentUrl") return true; } return false; } function isGenerateFondyPaymentUrl(serializedFormData){ for(var item of serializedFormData){ if(item["name"]=="generateFondyPaymentUrl") return true; } return false; } function openSuccessUrl(serializedFormData, successurl, cb){ serializedFormData.push({name:"COOKIES",value:document.cookie}); serializedFormData.push({name: 'locationPathname', value: encodeURIComponent(location.pathname)}); if(isGeneratePaypalPaymentUrl(serializedFormData)){ openPaypalPaymentUrl(serializedFormData, cb); return; } if(isGenerateYandexPaymentUrl(serializedFormData)){ openYandexPaymentUrl(serializedFormData, cb); return; } if(isGenerateFondyPaymentUrl(serializedFormData)){ openFondyPaymentUrl(serializedFormData, cb); return; } setTimeout(function() { window.location.href = successurl }, 500) } window.tildaForm.successEndNative = window.tildaForm.successEnd; window.tildaForm.successEnd = function(form, successUrl, successCallback) { $jform = $(form).data("tildaformresult", { tranId: "0", orderId: "0" }); let serializedFormData = $jform.serializeArray(); setCookie("lastFormData", JSON.stringify(serializedFormData)); if(isGeneratePaypalPaymentUrl(serializedFormData) || isGenerateYandexPaymentUrl(serializedFormData) || isGenerateFondyPaymentUrl(serializedFormData)){ openSuccessUrl(serializedFormData, successUrl, ()=>{ form instanceof Element || (form = form[0]); var formId = form.getAttribute("id"), successBox = form.querySelector(".js-successbox"), successStr = ''; successBox && (successBox.textContent && successBox.innerText || successStr && (successBox.innerHTML = successStr), "y" === form.getAttribute("data-success-popup") ? window.tildaForm.showSuccessPopup(successBox.innerHTML) : successBox.style.display = "block"), t_addClass(form, "js-send-form-success"), successCallback && "t396_onSuccess" === successCallback && "function" == typeof window.t396_onSuccess || successCallback && "t396_onSuccess" !== successCallback && "function" == typeof jQuery ? eval(successCallback + "($(form))") : successCallback && "t396_onSuccess" !== successCallback ? eval(successCallback + "(form)") : successUrl && setTimeout(function() { window.location.href = successUrl }, 500), window.tildaForm.clearTCart(form); for (var upwidgetRemoveBtns = form.querySelectorAll(".t-upwidget-container__data_table_actions_remove svg"), inputText = form.querySelectorAll('input[type="text"]'), inputPhone = form.querySelectorAll('input[type="tel"]'), inputTextarea = form.querySelectorAll("textarea"), i = 0; i < upwidgetRemoveBtns.length; i++) t_triggerEvent(upwidgetRemoveBtns[i], "click"); for (var i = 0; i < inputText.length; i++) inputText[i].value = ""; for (var i = 0; i < inputPhone.length; i++) inputPhone[i].value = ""; for (var i = 0; i < inputTextarea.length; i++) inputTextarea[i].innerHTML = "", inputTextarea[i].value = ""; $(form).data("tildaformresult", { tranId: "0", orderId: "0" }), form.tildaTranId = "0", form.tildaOrderId = "0" }); return; } form instanceof Element || (form = form[0]); var formId = form.getAttribute("id"), successBox = form.querySelector(".js-successbox"), successStr = ''; successBox && (successBox.textContent && successBox.innerText || successStr && (successBox.innerHTML = successStr), "y" === form.getAttribute("data-success-popup") ? window.tildaForm.showSuccessPopup(successBox.innerHTML) : successBox.style.display = "block"), t_addClass(form, "js-send-form-success"), successCallback && "t396_onSuccess" === successCallback && "function" == typeof window.t396_onSuccess || successCallback && "t396_onSuccess" !== successCallback && "function" == typeof jQuery ? eval(successCallback + "($(form))") : successCallback && "t396_onSuccess" !== successCallback ? eval(successCallback + "(form)") : successUrl && setTimeout(function() { window.location.href = successUrl }, 500), window.tildaForm.clearTCart(form); for (var upwidgetRemoveBtns = form.querySelectorAll(".t-upwidget-container__data_table_actions_remove svg"), inputText = form.querySelectorAll('input[type="text"]'), inputPhone = form.querySelectorAll('input[type="tel"]'), inputTextarea = form.querySelectorAll("textarea"), i = 0; i < upwidgetRemoveBtns.length; i++) t_triggerEvent(upwidgetRemoveBtns[i], "click"); for (var i = 0; i < inputText.length; i++) inputText[i].value = ""; for (var i = 0; i < inputPhone.length; i++) inputPhone[i].value = ""; for (var i = 0; i < inputTextarea.length; i++) inputTextarea[i].innerHTML = "", inputTextarea[i].value = ""; $(form).data("tildaformresult", { tranId: "0", orderId: "0" }), form.tildaTranId = "0", form.tildaOrderId = "0" } } function injectCookieTildauidIntoHrefs(serializedData){ console.log("t",getCookie("tildauid")); let els = $("[href*='cookies_tildauid']"); for(let i=0;i < els.length; i++) { let el = els[i]; let href = $(el).attr('href'); $(el).attr('href', href.replace("cookies_tildauid=", "locationPathname="+encodeURIComponent(location.pathname)+"&cookies_tildauid="+getCookie("tildauid"))+"&"+serializedData); } } window.tildaFormLoadWaiter = setInterval(function(){ if(window.tildaForm && window.tildaForm.send){ injectSendMethodToTildaForm(); clearInterval(window.tildaFormLoadWaiter); } },300); $().ready( ()=>{ let serializedData=""; let lastFormDataStr = getCookie("lastFormData"); if(lastFormDataStr) serializedData = arrayToString(JSON.parse(decodeURIComponent(lastFormDataStr))); setTimeout(()=>{ injectCookieTildauidIntoHrefs(serializedData); },500); } ); setCookie("locationPathname", location.pathname);
Участие в проекте «Я-МОДЕЛЬ!»
Made on
Tilda