{"id":14,"date":"2024-12-16T19:47:56","date_gmt":"2024-12-16T19:47:56","guid":{"rendered":"https:\/\/tuningchip.se\/?page_id=14"},"modified":"2025-02-11T10:01:55","modified_gmt":"2025-02-11T10:01:55","slug":"breakdance-14","status":"publish","type":"page","link":"https:\/\/tuningchip.se\/en\/breakdance-14\/","title":{"rendered":"Breakdance &#8211; 14"},"content":{"rendered":"<section class=\"bde-section-14-100 bde-section\">\n  \n  \n\t\n\n\n\n<div class=\"section-container\"><div class=\"bde-code-block-14-101 bde-code-block\">\n\n  <div id=\"car-dropdowns\">\n    <select id=\"make-dropdown\">\n        <option value=\"\">V\u00e4lj m\u00e4rke...<\/option>\n    <\/select>\n\n    <select id=\"model-dropdown\" disabled>\n        <option value=\"\">V\u00e4lj modell...<\/option>\n    <\/select>\n\n    <select id=\"year-dropdown\" disabled>\n        <option value=\"\">V\u00e4lj generation...<\/option>\n    <\/select>\n\n    <select id=\"motor-dropdown\" disabled>\n        <option value=\"\">V\u00e4lj motor...<\/option>\n    <\/select>\n\n    <select id=\"bransle-dropdown\" disabled>\n        <option value=\"\">V\u00e4lj br\u00e4nsle...<\/option>\n    <\/select>\n\n    <button id=\"submit-button\" disabled>SEE RESULTS<\/button>\n<\/div>\n\n\n\n<\/div><div class=\"bde-code-block-14-102 bde-code-block\">\n\n  \n\n<script>\n   document.addEventListener('DOMContentLoaded', function () {\n    const makeDropdown = document.getElementById('make-dropdown');\n    const modelDropdown = document.getElementById('model-dropdown');\n    const yearDropdown = document.getElementById('year-dropdown');\n    const motorDropdown = document.getElementById('motor-dropdown');\n    const bransleDropdown = document.getElementById('bransle-dropdown');\n    const submitButton = document.getElementById('submit-button');\n\n    submitButton.disabled = true;\n    let selectedPostId = null;\n\n    \/\/ Fetch and populate Makes\n    fetchTerms('marke', makeDropdown, '1. V\u00e4lj m\u00e4rke...');\n\n    makeDropdown.addEventListener('change', function () {\n        resetDropdowns([modelDropdown, yearDropdown, motorDropdown, bransleDropdown]);\n        fetchFilteredTerms({ marke: this.value }, 'model', modelDropdown, '2. V\u00e4lj modell...');\n    });\n\n    modelDropdown.addEventListener('change', function () {\n        resetDropdowns([yearDropdown, motorDropdown, bransleDropdown]);\n        fetchFilteredTerms({ marke: makeDropdown.value, model: this.value }, 'arsmodell', yearDropdown, '3. V\u00e4lj generation...');\n    });\n\n    yearDropdown.addEventListener('change', function () {\n        resetDropdowns([motorDropdown, bransleDropdown]);\n        fetchFilteredTerms({ marke: makeDropdown.value, model: modelDropdown.value, arsmodell: this.value }, 'motor', motorDropdown, '4. V\u00e4lj motor...');\n    });\n\n    motorDropdown.addEventListener('change', function () {\n        resetDropdowns([bransleDropdown]);\n        fetchFilteredTerms({\n            marke: makeDropdown.value,\n            model: modelDropdown.value,\n            arsmodell: yearDropdown.value,\n            motor: this.value\n        }, 'bransle', bransleDropdown, '5. V\u00e4lj br\u00e4nsle...');\n    });\n\n    bransleDropdown.addEventListener('change', function () {\n        const params = {\n            marke: makeDropdown.value,\n            model: modelDropdown.value,\n            arsmodell: yearDropdown.value,\n            motor: motorDropdown.value,\n            bransle: this.value,\n        };\n\n        fetchFilteredPosts(params);\n    });\n\n    submitButton.addEventListener('click', function () {\n        if (selectedPostId) {\n            window.location.href = `https:\/\/www.tuningchip.se\/?p=${selectedPostId}`;\n        }\n    });\n\n    \/\/ Helper: Fetch terms for a taxonomy\n    function fetchTerms(taxonomy, dropdown, placeholder) {\n        fetch(`https:\/\/www.tuningchip.se\/wp-json\/wp\/v2\/${taxonomy}?per_page=100`)\n            .then(response => response.json())\n            .then(data => populateDropdown(dropdown, placeholder, data));\n    }\n\n    \/\/ Helper: Fetch filtered terms based on post matches\n    function fetchFilteredTerms(filters, taxonomy, dropdown, placeholder) {\n        let query = `https:\/\/www.tuningchip.se\/wp-json\/wp\/v2\/bilar?per_page=100`;\n        Object.keys(filters).forEach(key => {\n            if (filters[key]) query += `&${key}=${filters[key]}`;\n        });\n\n        fetch(query)\n            .then(response => response.json())\n            .then(posts => {\n                const termIds = new Set();\n                posts.forEach(post => {\n                    if (post[taxonomy]) {\n                        post[taxonomy].forEach(term => termIds.add(term));\n                    }\n                });\n\n                if (termIds.size > 0) {\n                    fetch(`https:\/\/www.tuningchip.se\/wp-json\/wp\/v2\/${taxonomy}?include=${[...termIds].join(',')}`)\n                        .then(response => response.json())\n                        .then(data => populateDropdown(dropdown, placeholder, data));\n                }\n            });\n    }\n\n    \/\/ Helper: Fetch final posts and validate\n    function fetchFilteredPosts(params) {\n        let query = `https:\/\/www.tuningchip.se\/wp-json\/wp\/v2\/bilar?per_page=1`;\n        Object.keys(params).forEach(key => {\n            if (params[key]) query += `&${key}=${params[key]}`;\n        });\n\n        fetch(query)\n            .then(response => response.json())\n            .then(data => {\n                if (data.length > 0) {\n                    selectedPostId = data[0].id;\n                    submitButton.disabled = false;\n                } else {\n                    selectedPostId = null;\n                    submitButton.disabled = true;\n                }\n            });\n    }\n\n    \/\/ Helper: Populate dropdown\n    function populateDropdown(dropdown, placeholder, data) {\n        dropdown.innerHTML = `<option value=\"\">${placeholder}<\/option>`;\n        data.forEach(term => {\n            dropdown.innerHTML += `<option value=\"${term.id}\">${term.name}<\/option>`;\n        });\n        dropdown.disabled = false;\n    }\n\n    \/\/ Helper: Reset dropdowns\n    function resetDropdowns(dropdowns) {\n        dropdowns.forEach(dropdown => {\n            dropdown.innerHTML = `<option value=\"\">${dropdown.options[0].text}<\/option>`;\n            dropdown.disabled = true;\n        });\n        submitButton.disabled = true;\n    }\n});\n\n\n<\/script>\n\n\n\n<\/div><\/div>\n<\/section><section class=\"bde-section-14-103 bde-section\">\n  \n  \n\t\n\n\n\n<div class=\"section-container\"><h1 class=\"bde-heading-14-104 bde-heading\">\nHeading 1\n<\/h1><h2 class=\"bde-heading-14-105 bde-heading\">\nHeading 2\n<\/h2><h2 class=\"bde-heading-14-106 bde-heading bde-preset-b0512ee5-fd0d-40fd-b439-d50923b8c154\">\nHeading 2 regular\n<\/h2><h3 class=\"bde-heading-14-107 bde-heading\">\nHeading 3\n<\/h3><h4 class=\"bde-heading-14-108 bde-heading\">\nHeading 4\n<\/h4><h4 class=\"bde-heading-14-109 bde-heading bde-preset-9b757338-8f42-482c-be38-96a77d3c821d\">\nSub heading 1\n<\/h4><h4 class=\"bde-heading-14-110 bde-heading bde-preset-c87e24c7-1646-478b-a7a8-a81c39726782\">\nSub heading 2\n<\/h4><div class=\"bde-text-14-111 bde-text bde-preset-ed8c0f78-019a-4b49-b0b4-ba38dd4e81be\">\nIngress\n<\/div><div class=\"bde-text-14-112 bde-text bde-preset-4fa166f4-b81f-4281-a7a3-d5aa9d4da769\">\nIngress Bold\n<\/div><div class=\"bde-text-14-113 bde-text bde-preset-b8b1492e-d214-4eb9-a12d-81f117096f3c\">\nBody regular\n<\/div><div class=\"bde-text-14-114 bde-text bde-preset-ac461263-39ec-46f7-9035-d8554df1ff98\">\nBody Plus size regular\n<\/div><div class=\"bde-text-14-115 bde-text bde-preset-36bc2f00-9449-4402-9935-e5f922aed1bf\">\nBody medium\n<\/div><div class=\"bde-text-14-116 bde-text bde-preset-fe728f88-0eb7-4398-a275-82d294b9e234\">\nBody plus size medium\n<\/div><div class=\"bde-text-14-117 bde-text bde-preset-378178f0-9081-44e3-80e5-8b9e9d94e06d\">\nBody small\n<\/div><div class=\"bde-text-14-118 bde-text bde-preset-cc7615a1-5a3f-4b49-aa7e-b785773076b6\">\nBody small bold\n<\/div><div class=\"bde-button-14-119 bde-button\">\n    \n                                    \n    \n    \n    \n    \n            \n            <button type=\"button\" class=\"button-atom button-atom--primary bde-button__button\"  >\n    \n        <span class=\"button-atom__text\">Click Here<\/span>\n\n        \n        \n            <\/button>\n    \n\n\n<\/div><div class=\"bde-button-14-120 bde-button\">\n    \n                                    \n    \n    \n    \n    \n            \n            <button type=\"button\" class=\"button-atom button-atom--secondary bde-button__button\"  >\n    \n        <span class=\"button-atom__text\">Click Here<\/span>\n\n        \n        \n            <\/button>\n    \n\n\n<\/div><div class=\"bde-button-14-121 bde-button bde-preset-44b5d0e3-d364-4be3-8ad7-01879b510d8b\">\n    \n                                    \n    \n    \n    \n    \n            \n            <button type=\"button\" class=\"button-atom button-atom--custom bde-button__button\"  >\n    \n        <span class=\"button-atom__text\">Click Here<\/span>\n\n        \n        \n            <\/button>\n    \n\n\n<\/div><\/div>\n<\/section>","protected":false},"excerpt":{"rendered":"<p>V\u00e4lj m\u00e4rke&#8230; V\u00e4lj modell&#8230; V\u00e4lj generation&#8230; V\u00e4lj motor&#8230; V\u00e4lj br\u00e4nsle&#8230; SE RESULTAT Heading 1 Heading 2 Heading 2 regular Heading 3 Heading 4 Sub heading 1 Sub heading 2 Ingress Ingress Bold Body regular Body Plus size regular Body medium Body plus size medium Body small Body small bold Click Here Click Here Click Here<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_breakdance_hide_in_design_set":false,"_breakdance_tags":"","footnotes":""},"class_list":["post-14","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/tuningchip.se\/en\/wp-json\/wp\/v2\/pages\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tuningchip.se\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tuningchip.se\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tuningchip.se\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tuningchip.se\/en\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":19,"href":"https:\/\/tuningchip.se\/en\/wp-json\/wp\/v2\/pages\/14\/revisions"}],"predecessor-version":[{"id":6892,"href":"https:\/\/tuningchip.se\/en\/wp-json\/wp\/v2\/pages\/14\/revisions\/6892"}],"wp:attachment":[{"href":"https:\/\/tuningchip.se\/en\/wp-json\/wp\/v2\/media?parent=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}