var Webflow = Webflow || []; Webflow.push(function () { const DATA_URL = `https://myprofile-api-prod.RemoteAPI.ge/myprofileportal/api/mtpl/GetPolicyInfo`; const isProduction = false; const SMS_URL_TEST = 'https://myprofile-api-test.remoteapi.ge/myprofileportal/api/cascoOffers/SendSMSEmail'; const SMS_URL_PROD = 'https://myprofile-api-prod.remoteapi.ge/myprofileportal/api/cascoOffers/SendSMSEmail'; const SMS_URL = isProduction ? SMS_URL_PROD : SMS_URL_TEST; const isDesktop = window.innerWidth >= 992; const isMobile = 768 > window.innerWidth; initPayLimit(); initMenu(); var urlParams = new URLSearchParams(window.location.search); let proposalId = urlParams.has("pid") ? urlParams.get("pid") : ""; let contrahentId = urlParams.has("cid") ? urlParams.get("cid") : ""; const REQ_PARAMS = { //'SecretUserName': 'landingInfo', //'SecretPassword': 'E3@`{L-Mf%dx', 'SecretUserName': 'landingInfo', 'SecretPassword': '!DH2Zfdje^-$Ka2>VZV9', 'Requester': 'LandingPage', //'UserId': null, //'SessionID': '559e670a22874755b351a465dccf4134', // 'UserId': null, // 'SessionID': '559e670a22874755b351a465dccf4134', // 'PolicyId': 4946, // 'ContrahentID': 1234529, 'ProposalId': proposalId, 'ContrahentId': contrahentId, }; loadData(proposalId, contrahentId); // $('.s-loading').addClass('is--done'); // --------------------------------------------------------------------------------------------------------------------------------------- async function loadData(proposalId, contrahentId) { const resp = await fetch(DATA_URL, { method: "POST", headers: { Accept: "application/json", "Content-Type": "application/json", }, body: JSON.stringify(REQ_PARAMS), // body: JSON.stringify({ // SecretUserName: "landingInfo", // SecretPassword: "E3@`{L-Mf%dx", // Requester: "MyProfilePortal", // UserId: null, // SessionID: "559e670a22874755b351a465dccf4134", // // 'PolicyId': 416732, // // 'ContrahentID': 468872, // PolicyId: policyId, // ContrahentID: contrahentId, // }), }); const data = await resp.json(); console.log("DATA: ", data); // if (data.isSuccess && data.policyInfo !== null) {| if (data.policyInfo !== null) { processData(data.policyInfo, data); } else { showNotFound(); // console.log(data.description); if (data.description == "Offer not Found") { // console.log(data.description); $('#status1').show(); $('#status2').hide(); } else if (data.description == "Offer Is Expired") { // console.log(data.description); $('#status1').hide(); $('#status2').show(); }; } setTimeout(() => { $(".s-loading").addClass("is--done"); }, 300); } function processData(data, fullData) { $("[contrahentFirstName]").text(data["contrahentFirstName"]); $("[markName]").text(data["markName"]); $("[modelName]").text(data["modelName"]); $("[carNumber]").text(data["carNumber"]); $("[vehicleYear]").text(`${data["vehicleYear"]}წ`); $("[firstPremium]").text(data["firstPremium"]); $("[nextPremium]").text(data["nextPremium"]); $("[sumInsured]").text(data["sumInsured"]); // Знаходимо всі елементи з класом card-yellow-price const priceElements = document.querySelectorAll('.card-yellow-price-numbers'); priceElements.forEach(element => { // Пробуємо отримати число const number = parseFloat(element.textContent.replace(/\s+/g, '')); // Якщо це дійсно число, форматувати if (!isNaN(number)) { const formattedNumber = number.toLocaleString('en-US').replace(/,/g, ' '); element.textContent = formattedNumber; } else { console.warn(`Елемент ${element} не містить числа!`); } }); $("[premiumCurrency]").text(data["premiumCurrency"]); if (data['standartPage'] === true) { //console.log('standartPage=true'); $(".wrap-red-lines").hide(); $(".wrap-first-price").hide(); $(".wrap-info-price").hide(); $(".wrap-info-price-mobile").hide(); $(".pay-time__progress").hide(); $(".pay-time__check").show(); $(".title-banner-content-sf").hide(); $(".title-banner-content-st").show(); $(".c-section-title-first").hide(); $(".c-section-title-second").show(); $(".paragraph-progress").hide(); $(".paragraph-check").show(); } else if (data['standartPage'] === false) { //console.log('standartPage=false'); $(".c-section-title-first").show(); $(".c-section-title-second").hide(); $(".title-banner-content-sf").show(); $(".title-banner-content-st").hide(); $(".pay-time__progress").show(); $(".pay-time__check").hide(); $(".paragraph-progress").show(); $(".paragraph-check").hide(); let timerDuration = 300; // 5 хвилин у секундах const timerElement = document.getElementById('timer'); const popupElement = document.getElementById('popup-expiration'); const closeBtn = document.getElementById('closeBtn'); // Оновлення таймера function updateTimer() { const minutes = Math.floor(timerDuration / 60); const seconds = timerDuration % 60; timerElement.textContent = `${minutes}:${seconds.toString().padStart(2, '0')}`; if (timerDuration === 0) { clearInterval(timerInterval); showPopup(); } timerDuration--; } // Показати спливаюче вікно function showPopup() { popupElement.style.display = 'flex'; } // Виклик API та оновлення сторінки async function handleClose() { const apiUrl = 'https://myprofile-api-prod.RemoteAPI.ge/myprofileportal/api/mtpl/UpdateFirstMonthPremium'; // Змінити на тестову URL при необхідності try { const response = await fetch(apiUrl, { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringify(REQ_PARAMS), }); if (response.ok) { location.reload(); // Перезавантаження сторінки } else { console.error('Помилка виклику API'); } } catch (error) { console.error('Помилка:', error); } } // Запуск таймера const timerInterval = setInterval(updateTimer, 1000); // Зупинка таймера, якщо умова виконується if (data['policyExists'] === true && data['firstPayment'] === false) { $(".pay-time__progress").hide(); // Ховаємо таймер clearInterval(timerInterval); // Зупиняємо таймер } // Обробник натискання кнопки closeBtn.addEventListener('click', handleClose); }; $("[policyInformationUrl]").attr("href", data["policyInformationUrl"]); $("[policyInformationUrl]").attr("target", "_blank"); $("[policyWordingUrl]").attr("href", data["policyWordingUrl"]); $("[policyWordingUrl]").attr("target", "_blank"); if (data['firstPayment'] === true) { // Якщо firstPayment: true, вимикаємо кнопку $(".pay-limit-cta").attr('disabled', 'disabled'); $(".pay-limit-cta").addClass('is--disabled'); } if (data['policyExists'] === true && data['firstPayment'] === false) { // Якщо policyExists: true і firstPayment: false, кнопка повинна бути клікабельною // $(".pay-time__progress").hide(); $(".pay-limit-cta").removeAttr('disabled'); $(".pay-limit-cta").removeClass('is--disabled'); } // if (data['policyExists'] === true) { // $(".pay-time__progress").hide(); // } // else { // $(".pay-time__progress").show(); // Відображаємо елемент // } const mp = data["motorPolicy"]; // Button "pay" $("[policyNumberLinkAccepted]").on("click", async (e) => { e.preventDefault(); // Запобігаємо стандартній дії const apiUrl = "https://myprofile-api-prod.RemoteAPI.ge/myprofileportal/api/mtpl/CreateLandingPolicy"; // Змінити на тестову URL для тестового середовища const preloader = $("#preloader"); // console.log("Кнопка 'pay' натиснута. Викликаємо API за URL:", apiUrl); try { // Відображаємо прелоудер preloader.css("display", "flex"); // console.log("Прелоудер показано"); // Викликаємо API // console.log("Надсилаємо POST-запит із параметрами:", REQ_PARAMS); const responsePay = await fetch(apiUrl, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(REQ_PARAMS), }); // Лог статусу відповіді // console.log("Відповідь отримано. Статус:", responsePay.status); if (responsePay.ok) { const data = await responsePay.json(); // console.log("Дані відповіді API:", data); // Отримуємо параметр `statusId` із вкладеного об'єкта `status` const statusId = data?.status?.statusId; // console.log("Параметр statusId:", statusId); if (statusId === -112) { // console.log("Параметр statusId дорівнює -112. Показуємо s-not-found-112."); $(".s-not-found-112").css("display", "flex"); $("[statusDescription]").text(data?.status?.description); } else if (statusId < 0) { // console.log("Параметр statusId менше 0, але не -112. Показуємо s-not-found."); $(".s-not-found").css("display", "flex"); $("[statusDescription]").text(data?.status?.description); } else { const paymentUrl = data.paymentUrl; if (paymentUrl) { // console.log("Параметр paymentUrl знайдено:", paymentUrl); // Перенаправляємо користувача на `paymentUrl` // console.log("Перенаправляємо користувача на paymentUrl..."); window.location.href = paymentUrl; } else { // console.error("Параметр paymentUrl відсутній у відповіді"); } } } else { // console.error("Помилка виклику API. Статус:", responsePay.status, "Текст:", responsePay.statusText); } } catch (error) { // console.error("Виникла помилка під час виклику API:", error); } finally { // Ховаємо прелоудер preloader.css("display", "none"); // console.log("Прелоудер приховано"); } }); // Button "pay" // $("[policyNumberLinkAccepted]").on("click", async (e) => { // e.preventDefault(); // Запобігаємо стандартній дії // const apiUrl = "https://myprofile-api-test.RemoteAPI.ge/myprofileportal/api/mtpl/CreateLandingPolicy"; // Змінити на тестову URL для тестового середовища // const preloader = $("#preloader"); // console.log("Кнопка 'pay' натиснута. Викликаємо API за URL:", apiUrl); // try { // // Відображаємо прелоудер // preloader.css("display", "flex"); // console.log("Прелоудер показано"); // // Викликаємо API // console.log("Надсилаємо POST-запит із параметрами:", REQ_PARAMS); // const responsePay = await fetch(apiUrl, { // method: "POST", // headers: { // "Content-Type": "application/json", // }, // body: JSON.stringify(REQ_PARAMS), // }); // // Лог статусу відповіді // console.log("Відповідь отримано. Статус:", responsePay.status); // // Перевіряємо, чи успішний виклик // if (responsePay.ok) { // const data = await responsePay.json(); // console.log("Дані відповіді API:", data); // // Отримуємо параметр `paymentUrl` із відповіді // const paymentUrl = data.paymentUrl; // if (paymentUrl) { // console.log("Параметр paymentUrl знайдено:", paymentUrl); // // Перенаправляємо користувача на `paymentUrl` // console.log("Перенаправляємо користувача на paymentUrl..."); // window.location.href = paymentUrl; // } else { // console.error("Параметр paymentUrl відсутній у відповіді"); // } // } else { // console.error("Помилка виклику API. Статус:", responsePay.status, "Текст:", responsePay.statusText); // } // } catch (error) { // console.error("Виникла помилка під час виклику API:", error); // } finally { // // Ховаємо прелоудер // preloader.css("display", "none"); // console.log("Прелоудер приховано"); // } // }); // Button "pay" // $("[policyNumberLinkAccepted]").on("click", async (e) => { // e.preventDefault(); // Запобігаємо стандартній дії // const apiUrl = "https://myprofile-api-test.RemoteAPI.ge/myprofileportal/api/mtpl/CreateLandingPolicy"; // Змінити на тестову URL для тестового середовища // console.log("Кнопка 'pay' натиснута. Викликаємо API за URL:", apiUrl); // try { // // Викликаємо API // console.log("Надсилаємо POST-запит із параметрами:", REQ_PARAMS); // const responsePay = await fetch(apiUrl, { // method: "POST", // headers: { // "Content-Type": "application/json", // }, // body: JSON.stringify(REQ_PARAMS), // }); // // Лог статусу відповіді // console.log("Відповідь отримано. Статус:", responsePay.status); // // Перевіряємо, чи успішний виклик // if (responsePay.ok) { // const data = await responsePay.json(); // console.log("Дані відповіді API:", data); // // Отримуємо параметр `paymentUrl` із відповіді // const paymentUrl = data.paymentUrl; // if (paymentUrl) { // console.log("Параметр paymentUrl знайдено:", paymentUrl); // // Перенаправляємо користувача на `paymentUrl` // console.log("Перенаправляємо користувача на paymentUrl..."); // window.location.href = paymentUrl; // } else { // console.error("Параметр paymentUrl відсутній у відповіді"); // } // } else { // console.error("Помилка виклику API. Статус:", responsePay.status, "Текст:", responsePay.statusText); // } // } catch (error) { // console.error("Виникла помилка під час виклику API:", error); // } // }); // $("[markName]").text(mp["markName"]); // $("[modelName]").text(mp["modelName"]); // $("[vehicleYear]").text(`${mp["vehicleYear"]}წ`); // if (data['tegetaAddOn'] === true) { // // console.log(true); // $(".s-drv-group-f").show(); // } else if (data['tegetaAddOn'] === false) { // // console.log(false); // $(".s-drv-group-f").hide(); // }; // if (data['avtosaloniGepi'] === true) { // // console.log(true); // $(".s-drv-group-avtosaloni").show(); // } else if (data['avtosaloniGepi'] === false) { // // console.log(false); // $(".s-drv-group-avtosaloni").hide(); // }; // if ( // mp["cascoSumInsured"] > 0 && // mp["mtplSumInsured"] > 0 && // mp["mpaSumInsured"] > 0 // ) { // // console.log('show') // $(".violet-card1.new").hide(); // $("#casco-card").show(); // $("#mptl-card").show(); // $("#mpa-card").show(); // } else if ( // mp["cascoSumInsured"] > 0 && // mp["mtplSumInsured"] > 0 && // mp["mpaSumInsured"] == 0 // ) { // $(".violet-card1.new").hide(); // $("#casco-card").show(); // $("#mptl-card").show(); // $("#mpa-card").hide(); // // console.log('hide') // } else if ( // mp["cascoSumInsured"] > 0 && // mp["mtplSumInsured"] == 0 && // mp["mpaSumInsured"] > 0 // ) { // $(".violet-card1.new").hide(); // $("#casco-card").show(); // $("#mptl-card").hide(); // $("#mpa-card").show(); // // console.log('hide') // } else if ( // mp["cascoSumInsured"] > 0 && // mp["mtplSumInsured"] == 0 && // mp["mpaSumInsured"] == 0 // ) { // $(".violet-card1.new").css("display", "flex"); // $("#old").css("display", "none"); // //console.log('old-hide') // } // --------------------------- const CURRENCY = data["premiumCurrency"] == "USD" ? "$" : data["premiumCurrency"] == "EUR" ? "€" : data["premiumCurrency"] == "GEL" ? "₾" : ""; // let cascoSumInsured = mp["cascoSumInsured"]; // let mtplSumInsured = mp["mtplSumInsured"]; // let mpaSumInsured = mp["mpaSumInsured"]; // let sumsNum = 0; // if (cascoSumInsured <= 0) $("[cascoSumInsured]").hide(); // else { // cascoSumInsured = new Intl.NumberFormat("fr-FR").format(cascoSumInsured); // $("[cascoSumInsured] [sumInsured]").text( // `${cascoSumInsured} ${CURRENCY}` // ); // sumsNum++; // } // if (mtplSumInsured <= 0) $("[mtplSumInsured]").hide(); // else { // mtplSumInsured = new Intl.NumberFormat("fr-FR").format(mtplSumInsured); // $("[mtplSumInsured] [sumInsured]").text(`${mtplSumInsured} ${CURRENCY}`); // sumsNum++; // } // if (mpaSumInsured <= 0) $("[mpaSumInsured]").hide(); // else { // mpaSumInsured = new Intl.NumberFormat("fr-FR").format(mpaSumInsured); // $("[mpaSumInsured] [sumInsured]").text(`${mpaSumInsured} ${CURRENCY}`); // sumsNum++; // } // const classFix = sumsNum == 3 ? "col-3" : sumsNum == 2 ? "col-2" : ""; // $(".violet-cards").addClass(classFix); // --------------------------- const policyCta = $(".c-policy-popup__cta"); // $("[policyNumberLinkAccepted]").on("click", async (e) => { // let loading = true; // if (loading) { // $(".s-pre-loading").css("display", "flex"); // $("body").css("overflow", "hidden"); // } // if (fullData.description == "Ok" && fullData.status == 0) { // // console.log("loading"); // //window.open(`https://online.tbcinsurance.ge/pay?policy=${data["policyNumber"]}`, '_blank' ); // // e.preventDefault(); // try { // const resp = await fetch(SMS_URL, { // method: 'POST', // headers: { // 'Accept': 'application/json', // 'Content-Type': 'application/json' // }, // body: JSON.stringify(REQ_PARAMS), // }); // const repsData = await resp.json(); // // console.log('>> ', repsData); // if (repsData.description == 'Ok' && repsData.status == 0) { // loading = false; // // window.open(`https://online.tbcinsurance.ge/pay?policy=${data["policyNumber"]}` ); // $(location).attr( "href", `https://online.tbcinsurance.ge/pay?policy=${data["policyNumber"]}`); // setTimeout(function(){ // console.log('setTimeout'); // $(".s-pre-loading").css("display", "none"); // }, 3000); // } else { // $(".s-pre-loading").css("display", "none"); // $(".s-error-not-found").css("display", "flex"); // $("body").css("overflow", "hidden"); // // console.error(e); // } // // console.log('>> ', repsData); // } catch (e) { // $(".s-pre-loading").css("display", "none"); // $(".s-error-not-found").css("display", "flex"); // $("body").css("overflow", "hidden"); // // console.error(e); // } // } // }); //---------------------------------------------------------------- //$('[policyNumberLinkAccepted]').attr('href', `https://online.tbcinsurance.ge/pay?policy=${data['policyNumber']}`); // $("[policyNumberLinkAccepted]").attr("target", `_blank`); $(".c-policy-popup [policyWordingUrl]").text( `დაზღვევის პირობებს #${data["wording"]}` ); //-------------------------------------------------------- $("[policyNumberLink]").on("click", () => { if (data['policyExists'] === true && data['firstPayment'] === false) { //console.log(false); //window.open(`https://online.tbcinsurance.ge/pay?policy=${data["policyNumber"]}` ); // $("[policyNumberLink]").attr("href", `https://online.tbcinsurance.ge/pay?policy=${data["policyNumber"]}`); $("[policyNumberLink]").attr("href", `${data["paymentUrl"]}`); $("[policyNumberLink]").attr("target", `_blank`); // $(location).attr( "href", `https://online.tbcinsurance.ge/pay?policy=${data["policyNumber"]}`); } else { showAcceptPopup(true); } //showAcceptPopup(true); }); //-------------------------------------------------------------------- $(".c-policy-popup__close, .c-popups-holder__bg").on("click", () => { showAcceptPopup(false); }); // $(".c-policy-popup__chb").on("change", () => { // policyCta.toggleClass("is--disabled"); // }); // policyCta.addClass("is--disabled"); // Disable the button by default policyCta.addClass("is--disabled"); //console.log("Button initially disabled"); // Track checkbox state changes $("input[type='checkbox']").on("change", () => { // console.log("Checkbox changed"); // Check if all checkboxes are checked const allChecked = $("input[type='checkbox']").toArray().every(chb => { const isChecked = $(chb).is(":checked"); // console.log(`Checkbox with ID ${$(chb).attr("id")} is checked: ${isChecked}`); return isChecked; }); //console.log(`All checkboxes are checked: ${allChecked}`); // Change button state if (allChecked) { policyCta.removeClass("is--disabled"); // console.log("Button became active (is--disabled removed)"); } else { policyCta.addClass("is--disabled"); // console.log("Button remained disabled (is--disabled added)"); } }); function showAcceptPopup(st) { if (st) $(".c-popups-holder").addClass("is--active"); else $(".c-popups-holder").removeClass("is--active"); } // --------------------------- $("[instalmentName]").text(data["instalmentName"]); const instalmentNumber = data["premium"] / data["instalmentNumber"]; $("[instalmentNumber]").text( new Intl.NumberFormat("fr-FR").format(instalmentNumber.toFixed(2)) + " " + CURRENCY ); // --------------------------- let driverTypeText; // const driverSubType = data["driverSubType"].replace("From", ""); // if (data["eligibleDriverType"] == "Any") { // // driverTypeText = 'უფლებამოსილი მძღოლი საჭიროა:'; // $("[driverSubType]").text(driverSubType); // $("[hideOnDriverAny]").hide(); // $(".auth-drivers__any").show(); // $(".auth-drivers__named").hide(); // // ----------------------------------------- // //$('.violet-card.new').css("display", "none"); // } else { // driverTypeText = `უფლებამოსილ მძღოლებად შენ შეარჩიე პირები ${driverSubType} წლიდან`; // $("[eligibleDriverTypeText]").text(driverTypeText); // const drivers = data["driver"]; // if (drivers && drivers.length > 0) { // let str = ""; // const len = drivers.length; // const dateNow = new Date(); // drivers.forEach((driver, i) => { // const name = `${driver.firstName} ${driver.lastName}`; // const date = new Date(driver.dateOfBirth); // // const age = Math.floor( // // (dateNow - date) / (1000 * 60 * 60 * 24 * 365) // // ); // // var enteredDate = document.getElementById('sampleDate').value; // // Below one is the single line logic to calculate the no. of years... // const age = new Date(dateNow - date).getFullYear() - 1970; // //console.log(age); // str += ` //
// `; // }); // str += ``; // //----------------------Slick slider--------- // $(".auth-drv-slider__mask").empty(); // $(".auth-drv-slider__mask").append(str); // if (!isMobile) { // $(".auth-drv-slider__mask") // .slick({ // // dots: true, // infinite: false, // speed: 300, // slidesToShow: 2, // slidesToScroll: 2, // // centerMode: true, // // variableWidth: true, // prevArrow: $(".auth-drv-slider").find(".slider-1__btn")[0], // nextArrow: $(".auth-drv-slider").find(".slider-1__btn")[1], // }) // .on("setPosition", function (event, slick) { // slick.$slides.css("height", slick.$slideTrack.height() + "px"); // }); // if (len <= 2) { // $(".auth-drv-slider .slider-1__btn").hide(); // } // } // // --------------------------------------- // // $('.violet-card1.new').css("display", "flex"); // // $('.violet-card').css("display", "none"); // // $('.sld-discount__slide').remove(); // //$('.auth-drv-slide').remove(); // // $('.auth-drv-slider__mask').empty(); // // $('.auth-drv-slider__mask').append(str); // // $('.auth-drv-slide').fadeIn(); // // console.log(1); // // Webflow.require('slider').redraw(); // // console.log(1); // } else { // $(".auth-drv-slider").hide(); // $(".swiper2").hide(); // // --------------------------------- // // $('.violet-card1.new').css("display", "none"); // //$('.violet-card.new')css("display", "none"); // } // $(".auth-drivers__any").hide(); // $(".auth-drivers__named").show(); // // --------------------------------------- // //$('.violet-card.new').css("display", "flex"); // //$('.violet-card').css("display", "none"); // } // --------------------------- const deductibleId = data["deductibleId"]; let deductibleId_1, deductibleId_2, deductibleTitleId_1, deductibleTitleId_2; $("[franchiseAddPlate]").hide(); switch (deductibleId) { case 56: deductibleTitleId_1 = "ფრანშიზა ნაწილობრივი დაზიანებისას:"; deductibleId_1 = "ნულოვანი"; deductibleTitleId_2 = "სრული განადგურებისას:"; deductibleId_2 = "ნულოვანი"; $("#id-zero").css("display", "none"); $("#id-first").css("display", "none"); $("#id-second").css("display", "flex"); break; case 105: deductibleTitleId_1 = "ფრანშიზა სრული და ნაწილობრივი დაზიანებისას:"; deductibleId_1 = "ნულოვანი"; deductibleTitleId_2 = "თუ დაზიანება გამოწვეულია არაიდენტიფიცირებული პირის მიერ ან დადგა დაუდგენელ ვითარებაში:"; deductibleId_2 = "$80"; $("#id-zero").css("display", "none"); $("#id-first").css("display", "none"); $("#id-second").css("display", "flex"); break; case 106: deductibleTitleId_1 = "ფრანშიზა ნაწილობრივი დაზიანებისას:"; deductibleId_1 = "$80"; deductibleTitleId_2 = "სრული განადგურებისას, სადაზღვევო თანხის:"; deductibleId_2 = "10%"; $("#all-block").css("display", "none"); break; case 107: deductibleTitleId_1 = "ფრანშიზა ნაწილობრივი დაზიანებისას:"; deductibleId_1 = "$80"; deductibleTitleId_2 = "სრული განადგურებისას, სადაზღვევო თანხის:"; deductibleId_2 = "10%"; $("#id-zero").css("display", "none"); $("#id-first").css("display", "none"); $("#id-second").css("display", "flex"); $("[franchiseAddPlate]").show(); break; default: $("#id-zero").css("display", "flex"); $("#id-first").css("display", "none"); $("#id-second").css("display", "flex"); $(".franchise-1__right .fran-damage").hide(); // $('.franchise-1__right [deductibleIdOther]').text(data['deductibleText']).show(); $(".fran-damage__text").text(data["deductibleText"]).show(); } $("[deductibleTitleId_1]").text(deductibleTitleId_1); $("[deductibleId_1]").text(deductibleId_1); $("[deductibleTitleId_2]").text(deductibleTitleId_2); $("[deductibleId_2]").text(deductibleId_2); // --------------------------- const benefits = data["benefits"]; if (benefits && benefits.length > 0) { let str = ""; const len = benefits.length; benefits.forEach((benefit, i) => { // console.log(`${benefit.id} - ${benefit.description}`); const perc = benefit.description.includes("15%") ? "15%" : benefit.description.includes("20%") ? "20%" : "50%"; str += ` `; }); str += ``; // $('.sld-discount__slide').remove(); $(".sld-discount__mask").empty(); $(".sld-discount__mask").append(str); Webflow.require("slider").redraw(); } else { $("[benefits]").hide(); } if (!benefits || benefits.length == 0) $("[unlim-car-wash]").hide(); // init anims AFTER we've constructed everything // initScrollAnims(); } function showNotFound() { $(".s-not-found").css("display", "flex"); $("body").css("overflow", "hidden"); } function initMenu() { const navbar = $(".c-navbar"); const navBtn = navbar.find(".nav-menu-btn"); const links = navbar.find(".nav-link"); // const navMenu = navbar.find('.nav-menu'); navBtn.on("click", () => { const isOpen = navbar.hasClass("is--open"); if (isOpen) { navbar.removeClass("is--open"); } else { navbar.addClass("is--open"); } }); links.on("click", () => { navbar.removeClass("is--open"); }); } function initPayLimit() { const payLimits = $(".pay-limits-dd"); payLimits.each((i, el) => { limitInitDD(el); }); //const payLimitStatic = $(payLimits[0]); const payLimitStatic = isDesktop ? $(".s-drv-group") : $(payLimits[0]); const payLimitFixed = $(payLimits[1]); const payLimitFixed_DD = payLimitFixed.find(".pay-limits__dropdown"); let isPlOpen = false; // window.addEventListener("scroll", () => { // const plTop = payLimitStatic.offset().top; // // const scroll = window.scrollY; // if (!isPlOpen && scroll > plTop) { // isPlOpen = true; // payLimitFixed.addClass("is--open"); // } else if (isPlOpen && scroll < plTop) { // isPlOpen = false; // payLimitFixed.removeClass("is--open"); // payLimitFixed_DD.removeClass("is--open"); // } // }); function limitInitDD(el) { const pl = $(el); const buttons = pl.find(".pay-limits__btn-text, .pay-limits__btn-arrow"); const dropdown = pl.find(".pay-limits__dropdown"); buttons.each((i, el) => { const $el = $(el); $el.on("click", toggleDD); }); function toggleDD() { const isOpen = dropdown.hasClass("is--open"); if (isOpen) { dropdown.removeClass("is--open"); } else { dropdown.addClass("is--open"); } } } } function initScrollAnims() { const REVEAL_START = "top 70%"; const REVEAL_FROM_Y = 100; const REVEAL_DURATION = 0.7; const REVEAL_EASE = "power3.out"; const REVEAL_STAGGER = 0.07; // ----- sections reveal ScrollTrigger.create({ trigger: ".s-section-2", animation: gsap .timeline() .from( ".s-section-2 .c-section-title, .s-section-2 .p-general, .s-section-2 .violet-cards > *", { alpha: 0, y: REVEAL_FROM_Y, duration: REVEAL_DURATION, ease: REVEAL_EASE, stagger: REVEAL_STAGGER, } ), start: REVEAL_START, // start: "top 90%", }); //----------------------------------------------------- const sec = $($(".s-section-2__wrap .pay-limits")[isDesktop ? 0 : 1]); //----------------------------------------------------- ScrollTrigger.create({ trigger: ".s-section-2 .pay-limits", animation: gsap.timeline().from(".s-section-2 .pay-limits > *", { alpha: 0, y: REVEAL_FROM_Y, duration: REVEAL_DURATION, ease: REVEAL_EASE, stagger: REVEAL_STAGGER, }), start: REVEAL_START, // start: "top 90%", }); ScrollTrigger.create({ trigger: ".s-drv-group .drv-group", animation: gsap.timeline().from(".s-drv-group .drv-group > *", { alpha: 0, y: REVEAL_FROM_Y, duration: REVEAL_DURATION, ease: REVEAL_EASE, stagger: REVEAL_STAGGER, }), start: REVEAL_START, // start: "top 90%", }); ScrollTrigger.create({ trigger: ".s-franchise .franchise", animation: gsap.timeline().from(".s-franchise .franchise > *", { alpha: 0, y: REVEAL_FROM_Y, duration: REVEAL_DURATION, ease: REVEAL_EASE, stagger: REVEAL_STAGGER, }), start: REVEAL_START, // start: "top 90%", }); ScrollTrigger.create({ trigger: ".s-major-exc", animation: gsap.timeline().from(".s-major-exc__wrap > *", { alpha: 0, y: REVEAL_FROM_Y, duration: REVEAL_DURATION, ease: REVEAL_EASE, stagger: REVEAL_STAGGER, }), start: REVEAL_START, // start: "top 90%", }); ScrollTrigger.create({ trigger: ".s-make-call", animation: gsap.timeline().from(".s-make-call__wrap > *", { alpha: 0, y: REVEAL_FROM_Y, duration: REVEAL_DURATION, ease: REVEAL_EASE, stagger: REVEAL_STAGGER, }), start: REVEAL_START, // start: "top 90%", }); ScrollTrigger.create({ trigger: ".s-advantages", animation: gsap.timeline().from(".s-advantages__wrap > *", { alpha: 0, y: REVEAL_FROM_Y, duration: REVEAL_DURATION, ease: REVEAL_EASE, stagger: REVEAL_STAGGER, }), start: REVEAL_START, // start: "top 90%", }); ScrollTrigger.create({ trigger: ".s-faq", animation: gsap .timeline() .from(".s-faq .c-section-title, .s-faq .faq-list > *", { alpha: 0, y: REVEAL_FROM_Y, duration: REVEAL_DURATION, ease: REVEAL_EASE, stagger: REVEAL_STAGGER, }), start: REVEAL_START, // start: "top 90%", }); } });