// Aktuelles Jahr im Footer setzen document.getElementById('year').textContent = new Date().getFullYear(); // URL-Parameter für Erfolgs-/Fehlermeldungen prüfen (Kontaktformular) document.addEventListener('DOMContentLoaded', () => { const urlParams = new URLSearchParams(window.location.search); // Erfolgsmeldung anzeigen if (urlParams.get('success') === '1') { const successAlert = document.getElementById('alertSuccess'); if (successAlert) { successAlert.classList.remove('d-none'); // Formular leeren const form = document.getElementById('contactForm'); if (form) form.reset(); // Nach oben scrollen window.scrollTo({ top: 0, behavior: 'smooth' }); } } // Fehlermeldung anzeigen if (urlParams.get('error') === '1') { const errorAlert = document.getElementById('alertError'); if (errorAlert) { errorAlert.classList.remove('d-none'); const reason = urlParams.get('reason'); if (reason === 'rate_limit') { errorAlert.innerHTML = ' Zu viele Anfragen! Bitte warten Sie einen Moment, bevor Sie erneut versuchen.'; } // Nach oben scrollen window.scrollTo({ top: 0, behavior: 'smooth' }); } } // Kontaktformular: Maschine aus URL Parameter vorausfüllen const maschine = urlParams.get('maschine'); const maschineInput = document.getElementById('maschine'); if (maschine && maschineInput) { maschineInput.value = decodeURIComponent(maschine); } // Submit-Button Feedback const contactForm = document.getElementById('contactForm'); if (contactForm) { contactForm.addEventListener('submit', function() { const submitBtn = document.getElementById('submitBtn'); if (submitBtn) { submitBtn.disabled = true; submitBtn.innerHTML = 'Wird gesendet...'; } }); } // Maschinen laden loadMaschinen(); }); // Maschinen laden und anzeigen async function loadMaschinen() { try { const response = await fetch('data/maschinen.json'); const data = await response.json(); // Baumaschinen anzeigen displayMaschinen(data.baumaschinen, 'baumaschinen-container'); // Gartengeräte anzeigen displayMaschinen(data.gartengeraete, 'gartengeraete-container'); } catch (error) { console.error('Fehler beim Laden der Maschinen:', error); } } // Maschinen-Karten erstellen und anzeigen function displayMaschinen(maschinen, containerId) { const container = document.getElementById(containerId); if (!container) return; container.innerHTML = ''; maschinen.forEach(maschine => { const card = createMaschinenCard(maschine); container.appendChild(card); }); } // Einzelne Maschinen-Karte erstellen function createMaschinenCard(maschine) { const col = document.createElement('div'); col.className = 'col-md-6 col-lg-4'; // Besonderheiten als Liste let besonderheitenHTML = ''; if (maschine.besonderheiten && maschine.besonderheiten.length > 0) { besonderheitenHTML = '
${maschine.preisMehrtagig}
`; } // Bild HTML let imageHTML = ''; if (maschine.image) { imageHTML = `${maschine.beschreibung}
${specsHTML} ${besonderheitenHTML}