9 adımın 1. adımı

Neyi finanse etmek istiyorsunuz?

Talebi başka bir kişiyle birlikte mi oluşturuyorsunuz?

Hangi tür bir gayrimenkul söz konusu?

Gayrimenkulü nasıl kullanacaksınız?

Halihazırda belirli bir gayrimenkulünüz var mı?

Gayrimenkulün büyüklüğü

Kira gelirleri

Finansal temel bilgiler

Kişisel bilgiler

Seçiniz…BayBayan
Seçiniz…ÇalışanSerbest meslek sahibiMemurEmekli

İkinci kişinin bilgileri

Seçiniz…BayBayan

Sorularınız için size nasıl ulaşabiliriz?

Finanzirung bewerten (#10)
/* CSS: ОБЩИЕ СТИЛИ */ #finanzierung-quiz-app, #finanzierung-quiz-app * { box-sizing: border-box !important; } .finanzierung-form { max-width: 650px; margin: 0 auto; padding: 30px; background: #fff; } /* СКРЫТИЕ ПО УМОЛЧАНИЮ */ #fluent-container { display: none !important; } #fluent-container.show-form { display: block !important; } .quiz-step { display: none !important; } .quiz-step.active { display: block !important; animation: fadeIn 0.4s ease; } /* ПРОГРЕСС-БАР */ .progress-container { margin-bottom: 30px; } .progress-bar { height: 8px; background: #eee; border-radius: 0; overflow: hidden; } .progress-fill { height: 100%; background: var(–global-palette15, #007cba); width: 0%; transition: width 0.4s ease; } .progress-text { display: block; margin-top: 8px; font-size: 13px; color: #888; text-align: right; } /* ТИПОГРАФИКА И ИНПУТЫ */ .quiz-title { font-size: 26px; font-weight: 700; color: #1a1a1a; margin-bottom: 24px; line-height: 1.2; } .quiz-label { font-weight: 600; font-size: 15px; margin-bottom: 8px; display: block; color: #333; } .quiz-input { width: 100% !important; padding: 16px 20px !important; border: 1px solid var(–global-palette15, #007cba) !important; border-radius: 0 !important; font-size: 16px !important; margin-bottom: 10px; background: #fff; } .quiz-input.error { border-color: #dc3545 !important; background-color: #fff8f8 !important; } /* СЕТКА С ИКОНКАМИ */ .radio-images-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-bottom: 24px; } .radio-image-label { cursor: pointer; border: 2px solid #e1e5e9; padding: 20px; text-align: center; transition: 0.3s; display: flex; flex-direction: column; align-items: center; justify-content: center; } .radio-image-label input { display: none; } .radio-image-content img { width: 50px; height: 50px; margin-bottom: 12px; filter: grayscale(100%); opacity: 0.5; } .radio-image-content span { display: block; font-size: 14px; font-weight: 600; color: #333; } .radio-image-label:has(input:checked) { border-color: var(–global-palette15, #007cba) !important; background: #f0f7ff; } .radio-image-label input:checked + .radio-image-content img { filter: none; opacity: 1; } /* КНОПКИ */ .btn-row { display: flex !important; gap: 12px !important; margin-top: 24px !important; width: 100% !important; } .btn-row .quiz-btn { flex: 1 !important; } .btn-full-width .quiz-btn { width: 100% !important; margin-top: 24px; } .quiz-btn-primary { background-color: var(–global-palette15, #007cba) !important; color: #fff !important; padding: 18px 24px !important; border: none !important; border-radius: 0 !important; font-size: 16px !important; font-weight: 600 !important; cursor: pointer; } .quiz-btn-secondary { background-color: #6c757d !important; color: #fff !important; padding: 18px 24px !important; border: none !important; border-radius: 0 !important; font-size: 16px !important; font-weight: 600 !important; cursor: pointer; } /* ГРИД ДАННЫХ */ .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; } .form-group.full-width { grid-column: span 2; } .radio-group { display: flex; flex-direction: column; gap: 10px; } .radio-label { border: 1px solid #ddd; padding: 15px; cursor: pointer; display: flex; align-items: center; } .radio-label input { margin-right: 15px; } .radio-label:has(input:checked) { border-color: var(–global-palette15, #007cba); background: #f0f7ff; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } let quizData = {}; let currentStep = 1; let hasSecondPerson = false; let isRental = false; let isFinished = false; function updateUI() { const fill = document.getElementById(‘progress-fill’); const txt = document.getElementById(‘progress-text’); // РАСЧЕТ ОБЩЕГО КОЛИЧЕСТВА ШАГОВ // 9 базовых (1,2,3,4,5,6,8,9 + Финальный) let total = 9; if (isRental) total++; // Шаг 7 if (hasSecondPerson) total++; // Шаг 10 // РАСЧЕТ ТЕКУЩЕГО ВИЗУАЛЬНОГО ШАГА let visualStep = currentStep; // Если мы на финальной форме if (isFinished) { visualStep = total; } else { // Если пропущен шаг 7, корректируем счетчик для шагов после него if (!isRental && currentStep >= 8) visualStep–; } const progress = (visualStep / total) * 100; if(fill) fill.style.width = progress + ‘%’; if(txt) txt.textContent = `Schritt ${visualStep} von ${total}`; } function validateStep(s) { const stepEl = document.getElementById(‘step’ + s); let isValid = true; stepEl.querySelectorAll(‘.quiz-input’).forEach(el => el.classList.remove(‘error’)); const radios = stepEl.querySelectorAll(‘input[type=”radio”]’); if (radios.length > 0) { const name = radios[0].name; if (!stepEl.querySelector(`input[name=”${name}”]:checked`)) isValid = false; } stepEl.querySelectorAll(‘input[type=”number”], input[type=”text”], input[type=”date”], select’).forEach(el => { if (!el.value.trim()) { el.classList.add(‘error’); isValid = false; } }); if (!isValid) alert(“Bitte füllen Sie alle markierten Felder aus.”); return isValid; } function collectData(s) { const stepEl = document.getElementById(‘step’ + s); if(!stepEl) return; stepEl.querySelectorAll(‘input[type=”radio”]:checked’).forEach(el => { quizData[el.name] = el.value; if (el.name === ‘zweite_person’) { hasSecondPerson = (el.value === ‘ja’); updateUI(); // Пересчитываем счетчик сразу при выборе } if (el.name === ‘nutzung’) { isRental = (el.value === ‘vermietung’); updateUI(); // Пересчитываем счетчик сразу при выборе } }); stepEl.querySelectorAll(‘input[type=”number”], input[type=”text”], input[type=”date”], select’).forEach(el => { if(el.id) quizData[el.id] = el.value; }); } function nextStep(s) { if (!validateStep(s)) return; collectData(s); if (s === 6 && !isRental) { showStep(8); } else if (s === 9) { if (hasSecondPerson) showStep(10); else finishQuiz(); } else if (s === 10) { finishQuiz(); } else { showStep(s + 1); } } function prevStep(s) { if (isFinished) { isFinished = false; document.getElementById(‘fluent-container’).classList.remove(‘show-form’); document.getElementById(‘quiz-container’).style.display = ‘block’; if (hasSecondPerson) showStep(10); else showStep(9); return; } if (s === 8 && !isRental) showStep(6); else if (s > 1) showStep(s – 1); } function showStep(s) { document.querySelectorAll(‘.quiz-step’).forEach(el => el.classList.remove(‘active’)); document.getElementById(‘step’ + s).classList.add(‘active’); currentStep = s; updateUI(); window.scrollTo({ top: 0, behavior: ‘smooth’ }); } function finishQuiz() { isFinished = true; document.getElementById(‘quiz-container’).style.display = ‘none’; const fCont = document.getElementById(‘fluent-container’); fCont.classList.add(‘show-form’); updateUI(); setTimeout(() => { const form = fCont.querySelector(‘form’); if (form) { for (let key in quizData) { let input = form.querySelector(`[name=”${key}”]`); if (input) { input.value = quizData[key]; input.dispatchEvent(new Event(‘change’, { bubbles: true })); } } } }, 600); window.scrollTo({ top: 0, behavior: ‘smooth’ }); } document.addEventListener(‘DOMContentLoaded’, updateUI);