{"id":4098,"date":"2024-06-07T16:19:51","date_gmt":"2024-06-07T09:19:51","guid":{"rendered":"https:\/\/www.seva.id\/info\/?page_id=4098"},"modified":"2024-11-12T10:12:39","modified_gmt":"2024-11-12T03:12:39","slug":"lp-fifgroupxseva","status":"publish","type":"page","link":"https:\/\/www.seva.id\/info\/lp-fifgroupxseva","title":{"rendered":"FIFGROUP x SEVA"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4098\" class=\"elementor elementor-4098\">\n\t\t\t\t\t\t<section class=\"has_ma_el_bg_slider elementor-section elementor-top-section elementor-element elementor-element-55c8f89 elementor-section-boxed elementor-section-height-default elementor-section-height-default jltma-glass-effect-no\" data-id=\"55c8f89\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"has_ma_el_bg_slider elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0c4401a jltma-glass-effect-no\" data-id=\"0c4401a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7f83e89 jltma-glass-effect-no elementor-widget elementor-widget-text-editor\" data-id=\"7f83e89\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"color: #000000; font-family: Kanyon, sans-serif;\"><span style=\"font-size: 20px; white-space-collapse: preserve;\">SPESIAL CASHBACK hingga 3 Juta Rupiah<\/span><\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4c085d7 jltma-glass-effect-no elementor-widget elementor-widget-text-editor\" data-id=\"4c085d7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><font color=\"#878d98\" face=\"Open Sans, sans-serif\"><span style=\"font-size: 14px; white-space-collapse: preserve;\">Promo terbatas HANYA sampai dengan 31 Juli 2024, melalui kolaborasi FIFGROUP dengan SEVA by Astra.<\/span><\/font><br><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d63ebc6 jltma-glass-effect-no elementor-widget elementor-widget-image\" data-id=\"d63ebc6\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"451\" src=\"https:\/\/www.seva.id\/info\/wp-content\/uploads\/2024\/06\/KV-FIF-x-SEVA-Promo-June-2024-1029-x-453-01-1024x451.jpg\" class=\"attachment-large size-large wp-image-4164\" alt=\"\" srcset=\"https:\/\/www.seva.id\/info\/wp-content\/uploads\/2024\/06\/KV-FIF-x-SEVA-Promo-June-2024-1029-x-453-01-1024x451.jpg 1024w, https:\/\/www.seva.id\/info\/wp-content\/uploads\/2024\/06\/KV-FIF-x-SEVA-Promo-June-2024-1029-x-453-01-300x132.jpg 300w, https:\/\/www.seva.id\/info\/wp-content\/uploads\/2024\/06\/KV-FIF-x-SEVA-Promo-June-2024-1029-x-453-01-768x338.jpg 768w, https:\/\/www.seva.id\/info\/wp-content\/uploads\/2024\/06\/KV-FIF-x-SEVA-Promo-June-2024-1029-x-453-01-1536x676.jpg 1536w, https:\/\/www.seva.id\/info\/wp-content\/uploads\/2024\/06\/KV-FIF-x-SEVA-Promo-June-2024-1029-x-453-01-2048x902.jpg 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e5353f7 jltma-glass-effect-no elementor-widget elementor-widget-shortcode\" data-id=\"e5353f7\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><span style=\"font-family: 'Open Sans', sans-serif;font-size: 12px;font-weight: 400;line-height: 16px;text-align: left;color: #878D98;\"><span style=\"color: red;\">*<\/span> Wajib diisi<\/span><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-54e8e21 jltma-glass-effect-no elementor-widget elementor-widget-shortcode\" data-id=\"54e8e21\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><label style=\"font-family: 'Open Sans', sans-serif;font-size: 12px;font-weight: 400;line-height: 16px;text-align: left;color: #878D98;\">Nama Lengkap <span style='color: red;'>*<\/span><\/label><br>\n    <input autocomplete=\"nope\" id=\"formName\" type='text' required='true' placeholder='Masukkan nama lengkap' style=\"font-family: 'Open Sans', sans-serif;font-size: 14px;font-weight: 400;line-height: 16px;text-align: left;color: #13131B;border: 1px solid #EBECEE;border-radius: 8px;padding: 8px;width: 100%;margin-top: 10px;height: 48px;\" >\n    \n    \n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e80c707 jltma-glass-effect-no elementor-widget elementor-widget-shortcode\" data-id=\"e80c707\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><label style=\"font-family: 'Open Sans', sans-serif; font-size: 12px; font-weight: 400; line-height: 16px; text-align: left; color: #878d98;\">Nomor HP aktif <span style='color: red;'>*<\/span><\/label><br \/>\n    <div style=\"font-family: 'Open Sans', sans-serif; background-color: #ffffff; font-size: 11px; font-weight: 400; line-height: 16px; text-align: left; color: #878d98; border: 1px solid #ebecee; border-radius: 8px; padding: 8px; width: 100%; margin-top: 10px; display: flex; height:48px;\">\n    \t<span style=\"color: black; width: 39px; font-size: 14px; display: flex; align-items: center; justify-content: center;\">+62 | <\/span>\n        <input autocomplete=\"nope\" id=\"formPhone\" type=\"text\" placeholder=\"Contoh: 812345678\" required=\"\" style=\"margin-left: 2px; width: calc(100% - 26px); border: none; outline: none; font-family: 'Open Sans', sans-serif; font-size: 14px; font-weight: 400; line-height: 16px; color: #13131B; \">\n    <\/div>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-70df453 jltma-glass-effect-no elementor-widget elementor-widget-shortcode\" data-id=\"70df453\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<script>\n    const otpFlow = null;\n    const waDirect = null;\n    const waNumber = null;\n    const waMessage = null;\n<\/script>\n\n<style>\n    input:-webkit-autofill {\n        -webkit-box-shadow: 0 0 0 1000px white inset;\n    }\n\n    .button {\n        width: 100%;\n        height: 44px;\n        font-family: 'Open Sans', sans-serif;\n        font-size: 16px;\n        font-weight: 400;\n        line-height: 24px;\n        text-align: center;\n        color: #ffffff;\n        background: #05256E;\n        border: none;\n        border-radius: 8px;\n        cursor: pointer;\n    }\n\n    .disabled {\n        background-color: #CDD0D4;\n        cursor: not-allowed;\n    }\n\n    .label {\n        font-family: 'Open Sans', sans-serif;\n        font-size: 12px;\n        font-weight: 400;\n        line-height: 18px;\n        text-align: left;\n        color: #878D98;\n    }\n\n    .marketing-consent-lp {\n        display: grid;\n        grid-template-columns: 20px 1fr;\n        gap: 5px;\n        margin-bottom: 5px;\n        font-family: \"Open Sans\";\n        align-items: start;\n    }\n\n    .customer-consent-lp {\n        display: grid;\n        grid-template-columns: 20px 1fr;\n        gap: 5px;\n        margin-bottom: 20px;\n        font-family: \"Open Sans\";\n        align-items: start;\n    }\n\n    .consent-checkbox-lp {\n        display: flex;\n        justify-content: center;\n        align-items: start;\n        margin-top: 3px;\n        \/* Align checkbox to the top *\/\n    }\n\n    .consent-text-lp {\n        font-size: 12px;\n        color: #878d98;\n    }\n\n    .consent-text-lp a {\n        color: #007bff;\n        \/* Link color *\/\n        text-decoration: none;\n    }\n\n    .consent-text-lp a:hover {\n        text-decoration: underline;\n    }\n\n\n    \/* CSS untuk spinner di tengah *\/\n    .button-loading {\n        position: relative;\n        color: transparent !important;\n        \/* Sembunyikan teks *\/\n    }\n\n    .button-loading .spinner {\n        position: absolute;\n        transform: translate(-50%, -50%);\n        width: 24px;\n        height: 24px;\n    }\n<\/style>\n\n<div class=\"marketing-consent-lp\">\n    <div class=\"consent-checkbox-lp\">\n        <input type=\"checkbox\" id=\"marketing-consent-lp\" name=\"consent\">\n    <\/div>\n    <div class=\"consent-text-lp\">\n        <label for=\"consent\">\n            Ya, Saya mau menerima informasi promo terbaru.\n        <\/label>\n    <\/div>\n<\/div>\n<div class=\"customer-consent-lp\">\n    <div class=\"consent-checkbox-lp\">\n        <input type=\"checkbox\" id=\"consent-lp\" name=\"consent\" required onclick=\"checkFields()\">\n    <\/div>\n    <div class=\"consent-text-lp\">\n        <label for=\"consent\">\n            Saya menyetujui <a href=\"https:\/\/www.seva.id\/syarat-dan-ketentuan\" target=\"_blank\">Syarat & Ketentuan<\/a>\n            serta\n            <a href=\"https:\/\/www.seva.id\/kebijakan-privasi\" target=\"_blank\">Kebijakan Privasi<\/a> yang berlaku.\n        <\/label>\n    <\/div>\n<\/div>\n\n\n<button id=\"formButton\" class=\"button disabled\" disabled onclick=\"sendDataForm()\">Kirim<\/button>\n\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/crypto-js\/4.1.1\/crypto-js.min.js\"><\/script>\n\n<script>\n    var formName = document.getElementById('formName');\n    var formPhone = document.getElementById('formPhone');\n    var formEmail = document.getElementById('formEmail');\n    var formButton = document.getElementById('formButton');\n    let formCityDropdown = document.getElementById('cityList');\n    let formCity = document.getElementById('cityText') ? document.getElementById('cityText') : document.getElementById('textCityRef');\n    let dropdownItems = document.querySelectorAll('.dropdown-item');\n    let chcekboxItems = document.querySelectorAll('.formAdditional-checkbox');\n    let radioItems = document.querySelectorAll('.formAdditional-radio');\n    let customSelect = document.querySelectorAll('.custom-select');\n    let additionalFields = document.querySelectorAll(\n        '[id^=\"formAdditional-\"]:not([id*=\"radio\"]):not([id*=\"checkbox\"])'\n    );\n\n    let carYearRefinancing;\n    let locationRefinancing;\n\n    const categoryValue = \"new-car\";\n\n    formName.addEventListener('input', function () {\n        formName.value = formName.value.replace(\/[^a-zA-Z.,' -]\/g, '');\n        checkFields();\n    });\n\n    formPhone.addEventListener('input', function () {\n        checkNumber(formPhone);\n        checkFields();\n    });\n\n    formCity.addEventListener('input', function () {\n        checkFields();\n    });\n\n    if (formEmail) {\n        formEmail.addEventListener('input', function () {\n            checkFields();\n        });\n    }\n\n    \/\/ cek jika ada element city dropdown\n    if (formCityDropdown !== null) {\n        formCityDropdown.addEventListener('mouseleave', function () {\n            checkFields();\n        });\n    }\n\n    if (dropdownItems) {\n        dropdownItems.forEach(function (dropdownItem) {\n            dropdownItem.addEventListener('click', function () {\n                checkFields();\n            });\n        });\n    }\n\n    if (chcekboxItems) {\n        chcekboxItems.forEach(function (chcekboxItem) {\n            chcekboxItem.addEventListener('click', function () {\n                \/\/ console.log('chcekboxItem clicked');\n                checkFields();\n            });\n        });\n    }\n\n    if (radioItems) {\n        radioItems.forEach(function (radioItem) {\n            radioItem.addEventListener('click', function () {\n                checkFields();\n            });\n        });\n    }\n\n    if (customSelect) {\n        customSelect.forEach(function (customSelectItem) {\n            customSelectItem.addEventListener('click', function () {\n                checkFields();\n            });\n        });\n    }\n\n    if (additionalFields) {\n        additionalFields.forEach((field) => {\n            field.addEventListener('input', function () {\n                checkFields();\n            });\n        });\n    }\n\n    function checkNumber(input) {\n        var inputValue = input.value;\n        \/\/ Menghapus semua karakter non-digit dari input\n        input.value = inputValue.replace(\/\\D\/g, '');\n\n        \/\/ Memeriksa apakah digit pertama adalah 8\n        if (input.value.charAt(0) !== '8') {\n            \/\/ Jika tidak, hapus isi input\n            input.value = '';\n        }\n    }\n\n\n    function checkEmail(input) {\n        var emailPattern = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]{2,}$\/;\n        return emailPattern.test(input);\n    }\n\n    function checkFields() {\n        var isPhoneValid = formPhone.value.trim() !== '' && \/^\\d{9,}$\/.test(formPhone.value.trim());\n        var isNameValid = formName.value.trim() !== '';\n        let isCityValid = true;\n        var isConsentChecked = document.getElementById('consent-lp').checked; \/\/ Check if consent checkbox is checked\n        var isEmailValid = true;\n\n        \/\/ cek jika ada city dropdown\n        if (formCity !== null) {\n            isCityValid = (formCity.attributes.required.value === 'true' && formCity.attributes.data.value.trim() !== 'null') || formCity.attributes.required.value === 'false';\n        }\n\n        if (formEmail !== null) {\n            isEmailValid = (formEmail.attributes.required) ?\n                formEmail.value.trim() !== '' && checkEmail(formEmail.value) :\n                true;\n        }\n\n        var additionalElements = document.querySelectorAll('[id^=\"formAdditional-\"], .formAdditional-checkbox, .formAdditional-radio');\n        var areAdditionalFieldsValid = Array.from(additionalElements).every(function (el) {\n            \/\/ Check if the element is a checkbox container with class \"formAdditional-checkbox\"\n            if (el.classList.contains('formAdditional-checkbox')) {\n                if (el.hasAttribute('required') && el.getAttribute('required') === 'true') {\n                    var checkboxes = el.querySelectorAll('input[type=\"checkbox\"]');\n                    var isChecked = Array.from(checkboxes).some(function (checkbox) {\n                        return checkbox.checked;\n                    });\n                    if (!isChecked) {\n                        return false;\n                    }\n                }\n            }\n            \/\/ Check if the element is a radio container with class \"formAdditional-radio\"\n            if (el.classList.contains('formAdditional-radio')) {\n                if (el.hasAttribute('required') && el.getAttribute('required') === 'true') {\n                    var radios = el.querySelectorAll('input[type=\"radio\"]');\n                    var isChecked = Array.from(radios).some(function (radio) {\n                        return radio.checked;\n                    });\n                    if (!isChecked) {\n                        return false;\n                    }\n                }\n            } else {\n                \/\/ Check if the element has the required attribute\n                if (el.hasAttribute('required') && el.getAttribute('required') === 'true') {\n                    if (el.value === '') {\n                        return false;\n                    }\n                }\n            }\n            return true;\n        });\n\n        \/\/ Disable the form button if any of the fields are invalid or consent checkbox is unchecked\n        formButton.disabled = !(isNameValid && isPhoneValid && isCityValid && areAdditionalFieldsValid && isConsentChecked && isEmailValid);\n        formButton.classList.toggle('disabled', formButton.disabled);\n    }\n\n    async function sendDataForm() {\n        formButton.innerHTML = `\n    <span class=\"spinner\">\n      <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"spinner\">\n        <path d=\"M9.99992 1.66665C8.35174 1.66664 6.74058 2.15539 5.37017 3.07106C3.99976 3.98674 2.93165 5.28823 2.30092 6.81095C1.67019 8.33367 1.50516 10.0092 1.82671 11.6257C2.14825 13.2422 2.94192 14.7271 4.10736 15.8925C5.2728 17.058 6.75766 17.8516 8.37416 18.1732C9.99067 18.4947 11.6662 18.3297 13.1889 17.699C14.7117 17.0682 16.0132 16.0001 16.9288 14.6297C17.8445 13.2593 18.3333 11.6482 18.3333 9.99998\" \n              stroke=\"#000000\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path>\n      <\/svg>\n    <\/span>\n  `;\n\n        formButton.classList.add('button-loading');\n        formButton.disabled = true;\n\n        \/\/ Tambahkan animasi spin\n        const style = document.createElement('style');\n        style.innerHTML = `\n    @keyframes spin {\n      from { transform: rotate(0deg); }\n      to { transform: rotate(360deg); }\n    }\n    .spinner svg {\n      animation: spin 1s linear infinite;\n    }\n  `;\n        document.head.appendChild(style);\n\n        if (formEmail && formEmail.value.trim() !== '' && !checkEmail(formEmail.value)) {\n            return;\n        } else {\n            var name = document.getElementById('formName').value;\n            var phone = document.getElementById('formPhone').value;\n            var emailField = document.getElementById('formEmail');\n            var email = emailField ? emailField.value : '';\n\n            \/\/ Mencari elemen .img-container yang memiliki kelas \"active\"\n            var activeContainer = document.querySelector('.img-container.active');\n            \/\/ Inisialisasi variabel merek (brand)\n            var brand = '';\n\n            if (activeContainer) {\n                \/\/ Jika ada elemen yang aktif, ambil data merek (brand)-nya\n                if (activeContainer) {\n                    \/\/ Ambil data merek (brand) dari elemen .img-container\n                    brand = activeContainer.querySelector('.brand-name').innerText;\n                }\n            } else {\n                var brand = document.getElementById('brand-input-ref') ? document.getElementById('brand-input-ref').value : '';\n            }\n\n\n            \/\/ Mendapatkan model yang dipilih dari dropdown\n            var textModel = document.getElementById('textModel') ? document.getElementById('textModel') : document.getElementById('model-input-ref');\n            var selectedModel = '';\n\n            if (textModel) {\n                selectedModel = textModel.value;\n            } else {\n                var usedBrand = document.getElementById('usedBrand');\n                var usedModel = document.getElementById('usedModel');\n\n                if (usedModel) {\n                    selectedModel = usedModel.value;\n                }\n\n                if (brand === \"Merek Lainnya\") {\n                    if (usedBrand) {\n                        brand = usedBrand.value;\n                    }\n                }\n            }\n\n            \/\/ Mendapatkan city yang dipilih dari dropdown\n            let selectorCity = document.getElementById('textCity');\n            let selectedCityId = null;\n            if (selectorCity !== null) {\n                selectedCityId = selectorCity.attributes.data.value;\n            }\n\n            \/\/ Objek untuk menyimpan data tambahan\n            var additionalData = {};\n\n            \/\/ Mendapatkan semua elemen dengan ID yang dimulai dengan \"formAdditional-\"\n            var additionalElements = document.querySelectorAll('[id^=\"formAdditional-\"]');\n\n            if (additionalElements) {\n                \/\/ Loop melalui setiap elemen tambahan dan simpan nilai dalam objek additionalData\n                additionalElements.forEach(function (element) {\n                    \/\/ Mendapatkan label dari ID\n                    var label = element.id.split('-')[1]; \/\/ Mengambil bagian belakang ID setelah tanda '-'\n\n                    \/\/ Menyimpan nilai dalam objek additionalData dengan menggunakan label dari ID\n                    additionalData[label] = element.value;\n                });\n            }\n\n            \/\/ Variabel untuk menyimpan nilai checkbox yang tercentang\n            var selectedCheckboxes = [];\n\n            \/\/ Mendapatkan semua elemen dengan tipe checkbox\n            var checkboxes = document.querySelectorAll('input[type=\"checkbox\"]');\n\n            \/\/ Loop melalui setiap checkbox dan cek apakah tercentang\n            let checkbox_title = '';\n            checkboxes.forEach(function (checkbox) {\n                if (checkbox.name.includes('consent')) {\n                    return;\n                }\n\n                if (checkbox.checked) {\n                    checkbox_title = checkbox.getAttribute('checkbox_title');\n                    \/\/ Mendapatkan nilai dari atribut name\n                    selectedCheckboxes.push(checkbox.name);\n                }\n            });\n\n            if (selectedCheckboxes.length > 0) {\n                selectedCheckboxes = selectedCheckboxes.filter(value => value.trim() !== \"\");\n\n                if (selectedCheckboxes.length > 0) {\n                    additionalData[checkbox_title] = selectedCheckboxes;\n                }\n            }\n\n            var selectedRadios = [];\n\n            \/\/ Mendapatkan semua elemen dengan tipe radio\n            var radios = document.querySelectorAll('input[type=\"radio\"]');\n\n            let radio_title = '';\n            radios.forEach(function (radio) {\n                if (radio.checked) {\n                    radio_title = radio.getAttribute('radio_title');\n                    \/\/ Mendapatkan nilai dari atribut name\n                    selectedRadios.push(radio.value);\n                }\n            });\n\n            if (selectedRadios.length > 0) {\n                additionalData[radio_title] = selectedRadios;\n            }\n\n            \/\/ Fungsi untuk mengambil nilai UTM parameters dari URL\n            function getUTMParameter(parameterName) {\n                var urlParams = new URLSearchParams(window.location.search);\n                return urlParams.get(parameterName) || ''; \/\/ Jika tidak ada nilai, kembalikan string kosong\n            }\n\n            \/\/ Variabel untuk menyimpan nilai-nilai UTM parameters\n            var utmCampaign = getUTMParameter('utm_campaign');\n            var utmMedium = getUTMParameter('utm_medium');\n            var utmSource = getUTMParameter('utm_source');\n            var utmContent = getUTMParameter('utm_content');\n            var utmAdset = getUTMParameter('utm_adset');\n            var utmTerm = getUTMParameter('utm_term');\n\n            \/\/ Variabel untuk menyimpan nilai pageURL dari URL saat ini\n            var pageURL = window.location.href;\n\n            \/\/ Membuat objek dengan data formulir, dan data tambahan\n            var formData = {\n                name: name,\n                phoneNumber: '+62' + phone,\n                email: email,\n                carBrand: brand,\n                ...(selectedCityId !== null && {\n                    cityId: selectedCityId\n                }),\n                carModelText: selectedModel,\n                utmCampaign: utmCampaign,\n                utmMedium: utmMedium,\n                utmSource: utmSource,\n                utmContent: utmContent,\n                adSet: utmAdset,\n                utmTerm: utmTerm,\n                promo: pageURL,\n                origination: categoryValue === 'used-car' ? 'SEVAFLPUC' :\n                    categoryValue === 'refinancing' ? 'SEVAFLPRC' :\n                        'SEVAFLPNC',\n                additionalData: additionalData,\n                isTncAccepted: true,\n                category: categoryValue,\n                promoSubscription: getMarketingConsentLp(),\n                isVerifyOtp: otpFlow\n            };\n\n            if (categoryValue === 'refinancing') {\n                formData.carYear = carYearRefinancing;\n                formData.location = locationRefinancing;\n            }\n\n            if (otpFlow) {\n                const externalLeads = await encryptData(formData, \"next_public_lead_payload_encryption_key\");\n                sessionStorage.setItem('external-leads', JSON.stringify(externalLeads));\n\n                if (waDirect) {\n                    const wa_direct_object = {\n                        isWaDirect: true,\n                        url: 'https:\/\/wa.me\/' + waNumber + '?text=' + waMessage\n                    };\n                    sessionStorage.setItem('redirect-wa', JSON.stringify(wa_direct_object));\n                } else {\n                    sessionStorage.removeItem('redirect-wa');\n                }\n                window.location.href = 'https:\/\/www.dev.sevaio.xyz\/otp';\n            } else {\n                sessionStorage.setItem('thankyouPageVisited', true);\n\n                const catLeads = categoryValue === 'new-car' ? 'new' :\n                    categoryValue === 'used-car' ? 'used-car' :\n                        categoryValue === 'refinancing' ? 'refinancing' : '';\n\n                const submitApiUrl = 'https:\/\/api.seva.id\/unverifiedLeads\/' + catLeads;\n\n                const tokenGuest = await getTokenGuest();\n\n                formData.categoryCode = formData.category.replace(\/-\/g, '_');\n                delete formData.category;\n\n                const headers = {\n                    \"torq-api-key\": 'task_runner_72cead13878406ca',\n                    \"content-type\": \"text\/plain\",\n                };\n\n                if (categoryValue === 'refinancing' || categoryValue === 'used-car') {\n                    headers[\"Authorization\"] = tokenGuest;\n                }\n\n                encryptData(formData, \"next_public_lead_payload_encryption_key\")\n                    .then((payload) => {\n                        fetch(submitApiUrl, {\n                            method: 'POST',\n                            headers: headers,\n                            body: payload\n                        })\n                            .then(response => response.json())\n                            .then(data => {\n                                if (waDirect) {\n                                    window.open('https:\/\/wa.me\/' + waNumber + '?text=' + waMessage, '_blank');\n                                }\n                                setTimeout(() => {\n                                    window.location.href = 'https:\/\/www.dev.sevaio.xyz\/thank-you';\n                                }, 1000);\n                            })\n                            .catch(error => {\n                                console.error('Error:', error);\n                            });\n                    })\n                    .catch((error) => {\n                        console.error(\"Terjadi kesalahan:\", error);\n                    });\n            }\n\n        }\n\n\n        dataLayer.push({\n            'event': 'web_form_landing_page_submit_button_click'\n        });\n    }\n\n    let trigerCsvElements = null;\n    let trigerCityElements = null;\n    let trigerNewCarElements = null;\n\n    let listCsvElements = null;\n    let listCityElements = null;\n    let listNewCarElements = null;\n\n    let dropdownCsvElements = null;\n\n    setTimeout(() => {\n        trigerCsvElements = document.querySelectorAll('[trigerCsv]');\n        trigerCityElements = document.querySelectorAll('[trigerCity]');\n        trigerNewCarElements = document.querySelectorAll('[trigerNewCar]');\n\n        listCsvElements = document.querySelectorAll('[list-csv]');\n        listCityElements = document.querySelectorAll('[list-city]');\n        listNewCarElements = document.querySelectorAll('[list-new-cars]');\n\n\n        dropdownCsvElements = document.querySelectorAll('[dropdownCsv]');\n\n        document.addEventListener('click', (event) => {\n            \/\/ Check if the click is inside any of the dropdown-related elements\n            const isInsideDropdown = Array.from(dropdownCsvElements).some(dropdown => dropdown.contains(event.target)) ||\n                Array.from(listCsvElements).some(list => list.contains(event.target)) ||\n                Array.from(listCityElements).some(list => list.contains(event.target)) ||\n                Array.from(listNewCarElements).some(list => list.contains(event.target)) ||\n                Array.from(trigerCsvElements).some(el => el.contains(event.target)) ||\n                Array.from(trigerCityElements).some(el => el.contains(event.target)) ||\n                Array.from(trigerNewCarElements).some(el => el.contains(event.target));\n\n            if (isInsideDropdown) {\n                return;\n            } else {\n                listCsvElements.forEach(listCsv => {\n                    if (listCsv.style.display === 'block') {\n                        trigerCsvElements.forEach(el => {\n                            if (el.classList.contains('rotated')) {\n                                showDropdownValue(el);\n                            }\n                        });\n                    }\n                });\n                listCityElements.forEach(listCity => {\n                    if (listCity.style.display === 'block') {\n                        trigerCityElements.forEach(el => showDropdownCity(el));\n                    }\n                });\n                listNewCarElements.forEach(listNewCar => {\n                    if (listNewCar.style.display === 'block') {\n                        trigerNewCarElements.forEach(el => showDropdownModel(el));\n                    }\n                });\n            }\n        });\n\n        \/\/ Add click listeners to each trigerCsv element\n        trigerCsvElements.forEach((el) => {\n            el.addEventListener('click', () => {\n                showDropdownValue(el)\n            });\n        });\n    }, 2000);\n\n    function getMarketingConsentLp() {\n        var marketingConsentElements = document.getElementById(\"marketing-consent-lp\");\n        return marketingConsentElements.checked;\n    }\n\n    async function getTokenGuest() {\n        var name = document.getElementById('formName').value;\n        var phone = '+62' + document.getElementById('formPhone').value;\n\n        const data = {\n            fullName: name,\n            phoneNumber: phone\n        }\n\n        try {\n            const combinedDataForSignature = await decryptDataResponse() + ';' + JSON.stringify(data);\n            const headerSignatureValue = CryptoJS.AES.encrypt(\n                JSON.stringify(combinedDataForSignature),\n                await getEncryptionKeyWithKeyName('next_public_lead_payload_encryption_key')\n            ).toString();\n\n            const response = await fetch('https:\/\/api.seva.id\/auth\/token\/guest', {\n                method: 'GET',\n                headers: {\n                    'torq-api-key': 'task_runner_72cead13878406ca',\n                    'x-signature': headerSignatureValue,\n                    'Content-Type': 'application\/json'\n                },\n                \/\/ body: JSON.stringify(data)\n            });\n\n            const responseData = await response.json();\n            return responseData.token;\n        } catch (error) {\n            throw error;\n        }\n    }\n<\/script><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>SPESIAL CASHBACK hingga 3 Juta Rupiah Promo terbatas HANYA sampai dengan 31 Juli 2024, melalui kolaborasi FIFGROUP dengan SEVA by Astra.<\/p>\n","protected":false},"author":11,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-4098","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>FIFGROUP x SEVA - SEVA<\/title>\n<meta name=\"description\" content=\"Ingin tahu lebih lanjut tentang layanan SEVA? Jangan ragu untuk hubungi kami. Klik untuk cek selengkapnya.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.seva.id\/info\/lp-fifgroupxseva\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FIFGROUP x SEVA - SEVA\" \/>\n<meta property=\"og:description\" content=\"Ingin tahu lebih lanjut tentang layanan SEVA? Jangan ragu untuk hubungi kami. Klik untuk cek selengkapnya.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.seva.id\/info\/lp-fifgroupxseva\" \/>\n<meta property=\"og:site_name\" content=\"SEVA\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-12T03:12:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.seva.id\/info\/wp-content\/uploads\/2024\/06\/KV-FIF-x-SEVA-Promo-June-2024-1029-x-453-01-1024x451.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.seva.id\/info\/lp-fifgroupxseva\",\"url\":\"https:\/\/www.seva.id\/info\/lp-fifgroupxseva\",\"name\":\"FIFGROUP x SEVA - SEVA\",\"isPartOf\":{\"@id\":\"https:\/\/www.seva.id\/info\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.seva.id\/info\/lp-fifgroupxseva#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.seva.id\/info\/lp-fifgroupxseva#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.seva.id\/info\/wp-content\/uploads\/2024\/06\/KV-FIF-x-SEVA-Promo-June-2024-1029-x-453-01-1024x451.jpg\",\"datePublished\":\"2024-06-07T09:19:51+00:00\",\"dateModified\":\"2024-11-12T03:12:39+00:00\",\"description\":\"Ingin tahu lebih lanjut tentang layanan SEVA? Jangan ragu untuk hubungi kami. Klik untuk cek selengkapnya.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.seva.id\/info\/lp-fifgroupxseva#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.seva.id\/info\/lp-fifgroupxseva\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.seva.id\/info\/lp-fifgroupxseva#primaryimage\",\"url\":\"https:\/\/www.seva.id\/info\/wp-content\/uploads\/2024\/06\/KV-FIF-x-SEVA-Promo-June-2024-1029-x-453-01-1024x451.jpg\",\"contentUrl\":\"https:\/\/www.seva.id\/info\/wp-content\/uploads\/2024\/06\/KV-FIF-x-SEVA-Promo-June-2024-1029-x-453-01-1024x451.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.seva.id\/info\/lp-fifgroupxseva#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.seva.id\/info\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"FIFGROUP x SEVA\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.seva.id\/info\/#website\",\"url\":\"https:\/\/www.seva.id\/info\/\",\"name\":\"SEVA\",\"description\":\"Promo Jelas dari Awal Cicilan Kredit Mobil Mulai dari 0%!\",\"alternateName\":\"SEVA\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.seva.id\/info\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"FIFGROUP x SEVA - SEVA","description":"Ingin tahu lebih lanjut tentang layanan SEVA? Jangan ragu untuk hubungi kami. Klik untuk cek selengkapnya.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.seva.id\/info\/lp-fifgroupxseva","og_locale":"en_US","og_type":"article","og_title":"FIFGROUP x SEVA - SEVA","og_description":"Ingin tahu lebih lanjut tentang layanan SEVA? Jangan ragu untuk hubungi kami. Klik untuk cek selengkapnya.","og_url":"https:\/\/www.seva.id\/info\/lp-fifgroupxseva","og_site_name":"SEVA","article_modified_time":"2024-11-12T03:12:39+00:00","og_image":[{"url":"https:\/\/www.seva.id\/info\/wp-content\/uploads\/2024\/06\/KV-FIF-x-SEVA-Promo-June-2024-1029-x-453-01-1024x451.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.seva.id\/info\/lp-fifgroupxseva","url":"https:\/\/www.seva.id\/info\/lp-fifgroupxseva","name":"FIFGROUP x SEVA - SEVA","isPartOf":{"@id":"https:\/\/www.seva.id\/info\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.seva.id\/info\/lp-fifgroupxseva#primaryimage"},"image":{"@id":"https:\/\/www.seva.id\/info\/lp-fifgroupxseva#primaryimage"},"thumbnailUrl":"https:\/\/www.seva.id\/info\/wp-content\/uploads\/2024\/06\/KV-FIF-x-SEVA-Promo-June-2024-1029-x-453-01-1024x451.jpg","datePublished":"2024-06-07T09:19:51+00:00","dateModified":"2024-11-12T03:12:39+00:00","description":"Ingin tahu lebih lanjut tentang layanan SEVA? Jangan ragu untuk hubungi kami. Klik untuk cek selengkapnya.","breadcrumb":{"@id":"https:\/\/www.seva.id\/info\/lp-fifgroupxseva#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.seva.id\/info\/lp-fifgroupxseva"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.seva.id\/info\/lp-fifgroupxseva#primaryimage","url":"https:\/\/www.seva.id\/info\/wp-content\/uploads\/2024\/06\/KV-FIF-x-SEVA-Promo-June-2024-1029-x-453-01-1024x451.jpg","contentUrl":"https:\/\/www.seva.id\/info\/wp-content\/uploads\/2024\/06\/KV-FIF-x-SEVA-Promo-June-2024-1029-x-453-01-1024x451.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.seva.id\/info\/lp-fifgroupxseva#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.seva.id\/info\/"},{"@type":"ListItem","position":2,"name":"FIFGROUP x SEVA"}]},{"@type":"WebSite","@id":"https:\/\/www.seva.id\/info\/#website","url":"https:\/\/www.seva.id\/info\/","name":"SEVA","description":"Promo Jelas dari Awal Cicilan Kredit Mobil Mulai dari 0%!","alternateName":"SEVA","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.seva.id\/info\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/www.seva.id\/info\/wp-json\/wp\/v2\/pages\/4098","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.seva.id\/info\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.seva.id\/info\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.seva.id\/info\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.seva.id\/info\/wp-json\/wp\/v2\/comments?post=4098"}],"version-history":[{"count":20,"href":"https:\/\/www.seva.id\/info\/wp-json\/wp\/v2\/pages\/4098\/revisions"}],"predecessor-version":[{"id":4702,"href":"https:\/\/www.seva.id\/info\/wp-json\/wp\/v2\/pages\/4098\/revisions\/4702"}],"wp:attachment":[{"href":"https:\/\/www.seva.id\/info\/wp-json\/wp\/v2\/media?parent=4098"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}