const programs_with_catalog = ["la", "lkt"]; var preapproval_selected_program = undefined; var preapproval_selected_brand = undefined; var preapproval_exists = false; var preapproval_payload = { vat: "", program: "", brand: "", model: "", price: "", name: "", phone: "", }; var leasing_form_submitting = false; function preapproval_object_check_errors() { var valid = true; console.log({ preapproval_payload }) if(preapproval_payload.vat === "") { valid = false; console.log("preapproval_vat"); $("#preapproval_vat_wrapper").addClass("error").attr("data-error", "Пожалуйста, укажите ИНН организации"); } else { if(preapproval_payload.vat.toString().length < 10) { $("#preapproval_vat_wrapper").addClass("error").attr("data-error", "Пожалуйста, укажите корректный ИНН"); } } if(preapproval_payload.price === "") { valid = false; console.log("preapproval_price"); $("#preapproval_price_wrapper").addClass("error").attr("data-error", "Пожалуйста, укажите цену объекта лизинга"); } if(preapproval_payload.program === "") { valid = false; console.log("preapproval_program_wrapper"); $("#preapproval_program_wrapper").addClass("error").attr("data-error", "Пожалуйста, укажите выберите программу"); } if(preapproval_payload.brand === "") { valid = false; if(programs_with_catalog.indexOf(preapproval_selected_program) > -1) { console.log(1); $("#preapproval_brand_select_wrapper").addClass("error").attr("data-error", "Пожалуйста, укажите марку"); } else { console.log(2); $("#preapproval_brand_input_wrapper").addClass("error").attr("data-error", "Пожалуйста, укажите марку"); } } if(preapproval_payload.model === "" && preapproval_payload.brand !== "Другая марка") { valid = false; if(programs_with_catalog.indexOf(preapproval_selected_program) > -1) { console.log(3); if(preapproval_payload.brand !== "") { $("#preapproval_model_select_wrapper").addClass("error").attr("data-error", "Пожалуйста, укажите модель"); } } else { console.log(4); $("#preapproval_model_input_wrapper").addClass("error").attr("data-error", "Пожалуйста, укажите марку"); } } return valid; } function preapproval_form_check_errors() { console.log("preapproval_form_check_errors()", { preapproval_payload }); var valid = true; if(preapproval_payload.name === "") { valid = false; $("#preapproval_name_wrapper").addClass("error").attr("data-error", "Пожалуйста, укажите с кем связаться"); } if(preapproval_payload.phone === "") { valid = false; $("#preapproval_phone_wrapper").addClass("error").attr("data-error", "Пожалуйста, укажите номер телефона"); } if(!$("#preapproval_form_policy_checkbox").is(':checked')) { valid = false; $("#preapproval_form_policy_wrapper").addClass("error"); } return valid; } (function InitAprrove() { $("#preapproval_block").find(".block_toggle") .on("mouseenter", function() { $("#preapproval_block_span_wrapper").css("margin-left", "-20px" ); $("#preapproval_block_span").removeClass("span_hidden").css("transform", "translate(0px, 0px)"); }) .on("mouseleave", function() { $("#preapproval_block_span_wrapper").css("margin-left", "-500px"); $("#preapproval_block_span").add("span_hidden").css("transform", "translate(-500px, 0px)"); }); setTimeout(function() { $("#preapproval_block_span_wrapper").css("margin-left", "-500px"); $(".span_animate_out").removeClass("span_animate_out").addClass("span_hidden"); }, 2000); const wrap = $("#preapproval_block"); const form = $(wrap).find("form"); const checkFields = () => { var currentStep = $(".step.active"); var inputsFilled = currentStep.find("input, select").filter(function() { return $(this).val() === ""|| $(this).val() === null; }).length === 0; if(!inputsFilled) { alert("Пожалуйста, заполните все поля."); } return inputsFilled; } $(wrap).on("click", ".block_toggle", function(e) { e.preventDefault(); $(wrap).toggleClass("active"); $(wrap).find(".block_title").text("Получите предварительное одобрение за 1 минуту"); $(wrap).find(".step").eq(0).addClass("active").siblings().removeClass("active"); }); $(wrap).on("change", "#preapproval_program", function(e) { console.log(e.target); preapproval_selected_program = e.target.value; preapproval_payload.program = $(this).find("option:selected").text(); $("#preapproval_program_wrapper").removeClass("error").removeAttr("data-error"); preapproval_payload.brand = ""; preapproval_payload.model = ""; $("#preapproval_brand_input").val(""); $("#preapproval_model_input").val(""); $("#preapproval_brand_select").attr("disabled", true); $("#preapproval_brand_select").empty(); $("#preapproval_brand_select").append(''); $("#preapproval_model_select").attr("disabled", true); $("#preapproval_model_select").empty(); $("#preapproval_model_select").append(''); if(programs_with_catalog.indexOf(preapproval_selected_program) > -1) { $("#preapproval_brand_select_wrapper").css("display", "block"); $("#preapproval_model_select_wrapper").css("display", "block"); $("#preapproval_brand_input_wrapper").css("display", "none"); $("#preapproval_model_input_wrapper").css("display", "none"); $.get("/api/programs/brands/", { "PROGRAM": preapproval_selected_program }, function(response) { if(response.brands !== undefined) { if(response.brands.length > 0) { for(let i in response.brands) { $("#preapproval_brand_select").append(''); } $("#preapproval_brand_select").append(''); $("#preapproval_brand_select").attr("disabled", false); } } }); } else { $("#preapproval_brand_select_wrapper").css("display", "none"); $("#preapproval_model_select_wrapper").css("display", "none"); $("#preapproval_brand_input_wrapper").css("display", "block"); $("#preapproval_model_input_wrapper").css("display", "block"); } }); $(wrap).on("change", "#preapproval_brand_select", function(e) { preapproval_selected_brand = e.target.value; preapproval_payload.brand = $(this).find("option:selected").text(); $("#preapproval_brand_select_wrapper").removeClass("error").removeAttr("data-error"); $("#preapproval_brand_input_wrapper").removeClass("error").removeAttr("data-error"); if(preapproval_selected_brand === "Другая марка") { $("#preapproval_model_select").attr("disabled", true); $("#preapproval_model_select").empty(); $("#preapproval_model_select").append(''); preapproval_payload.model = ""; } else { $.get("/api/programs/models/", { "PROGRAM": preapproval_selected_program, "BRAND_ID": preapproval_selected_brand }, function(response) { $("#preapproval_model_select").attr("disabled", true); $("#preapproval_model_select").empty(); $("#preapproval_model_select").append(''); if(response.models !== undefined) { if(response.models.length > 0) { for(let i in response.models) { $("#preapproval_model_select").append(''); } $("#preapproval_model_select").append(''); $("#preapproval_model_select").attr("disabled", false); } } }); } }); $(wrap).on("change", "#preapproval_model_select", function(e) { preapproval_payload.model = $(this).find("option:selected").text(); $("#preapproval_model_select_wrapper").removeClass("error").removeAttr("data-error"); $("#preapproval_model_input_wrapper").removeClass("error").removeAttr("data-error"); }); $("#preapproval_vat").on("input", function(e) { preapproval_payload.vat = e.target.value; $("#preapproval_vat_wrapper").removeClass("error").removeAttr("data-error"); }); $("#preapproval_price").on("input", function(e) { preapproval_payload.price = e.target.value; $("#preapproval_price_wrapper").removeClass("error").removeAttr("data-error"); }); $("#preapproval_brand_input").on("input", function(e) { preapproval_payload.brand = e.target.value; $("#preapproval_brand_input_wrapper").removeClass("error").removeAttr("data-error"); }); $("#preapproval_model_input").on("input", function(e) { preapproval_payload.model = e.target.value; $("#preapproval_model_input_wrapper").removeClass("error").removeAttr("data-error"); }); $("#preapproval_name").on("input", function(e) { preapproval_payload.name = e.target.value; $("#preapproval_name_wrapper").removeClass("error").removeAttr("data-error"); }); $(wrap).on("click", ".next", function(e) { e.preventDefault(); var currentStep = $(".step.active"); if(preapproval_object_check_errors()) { console.log({ preapproval_payload }); currentStep.removeClass("active"); currentStep.next(".step").addClass("active"); // $(wrap).find(".block_title").text("Вам предварительно одобрено всё"); $.post("/api/preapproval/", { vat: preapproval_payload.vat }, function(response) { console.log("/api/preapproval/", { response }); $(".loading_spinner").css("display", "none"); $("#preapproval_form").css("display", "block"); if(response.client === "partner") { preapproval_exists = true; $("#preapproval_status").text("Мы Вас узнали 😊"); $(".preapproval_exists").css("display", "block"); } else { $("#preapproval_status").text("Вам предварительно одобрено всё"); $(".preapproval_new").css("display", "block"); } //$(form).reset(); //$(wrap).find(".block_close").click(); }); } }); $(form).on("submit", function(e) { e.preventDefault(); var currentStep = $(".step.active"); if(preapproval_form_check_errors()) { console.log({ preapproval_payload }); $(".loading_spinner").css("display", "inline-block"); currentStep.removeClass("active"); currentStep.next(".step").addClass("active"); var formData = new FormData($("#form_leasing_request")[0]); formData.append("form", "FORM_LEASING_REQUESTS"); formData.append("FORM_FIELD_FIO", preapproval_payload.name); formData.append("FORM_FIELD_PHONE", preapproval_payload.phone); formData.append("FORM_FIELD_PAGE_NAME", document.title); formData.append("FORM_FIELD_PAGE_URL", window.location.href); formData.append("FORM_FIELD_BRAND", preapproval_payload.brand); formData.append("FORM_FIELD_MODEL", preapproval_payload.model); formData.append("FORM_FIELD_PRICE", preapproval_payload.price); formData.append("FORM_FIELD_PROGRAM", preapproval_payload.program); formData.append("FORM_FIELD_INN", preapproval_payload.vat); grecaptcha.ready(function() { grecaptcha.execute($("meta[name=recaptcha_site_key]") .attr("content"), { action: 'submit' }) .then(function(token) { formData.append("recaptcha_token", token); $.ajax( { url: "/api/forms/", type: 'POST', success: function(response) { $(".loading_spinner").css("display", "none"); if(response.status === "complete") { try { ym(66905533,'reachGoal','leasingform') } catch(e) { console.error(e); } if(preapproval_exists) { $(".preapproval_exists_success").css("display", "block"); } else { $(".preapproval_new_success").css("display", "block"); } } else if(response.status === "error") { if(response.message === "recaptcha_error") { $(".preapproval_error_recaptcha_message").css("display", "block"); } else { $(".preapproval_error_message").css("display", "block"); } } }, data: formData, dataType: "json", cache: false, contentType: false, processData: false }); }); }); /* $.post("/api/preapproval/send/", preapproval_payload, function(response) { }); */ /* $.post("/api/preapproval/", preapproval_payload, function(response) { console.log("send"); $(form).reset(); $(wrap).find(".block_close").click(); $("#approval_status").text("Вам предварительно одобрено всё"); $("#approval_status").text("Мы Вас узнали 😊"); $("#approval_comment").text("Оставьте контактные данные и мы свяжемся с Вами"); $("#approval_comment").text("Ваш менеджер по лизингу свяжется с Вами в ближайшее время"); }); */ } }) $("#preapproval_form_policy_checkbox").on("change", function(e) { if($(this).is(':checked')) { $("#preapproval_send_button").attr("disabled", false); } else { $("#preapproval_send_button").attr("disabled", true); } }); }()); $(document).ready(function() { $("#preapproval_phone").inputmask('+7 (999) 999-9999', { oncomplete: function(event) { const phone = event.target.value.replace(/\D/g, ""); preapproval_payload.phone = phone; $("#preapproval_phone_wrapper").removeClass("error").removeAttr("data-error"); }, onincomplete: function(event) { preapproval_payload.phone = event.target.value.replace(/\D/g, ""); }, onBeforePaste: function(pastedValue, opts) { preapproval_payload.phone = pastedValue; $("#preapproval_phone_wrapper").removeClass("error").removeAttr("data-error"); return pastedValue; }, onBeforeMask: function(value, opts) { const phone = value.replace(/\D/g, ""); if(phone.length === 11) { preapproval_payload.phone = phone; $("#preapproval_phone_wrapper").removeClass("error").removeAttr("data-error"); } }, }); });