Parallax-Element

Meißen Götterfelsen (MATE Theme für Contao)
Meißen Albrechtsburg Juchhöh  (MATE Theme für Contao)

Parallax-Element mit Überschrift

Meißen Kleinmarkt (MATE Theme für Contao)

Parallax-Element mit Überschrift und Text

929 wurde die Burg Meißen und die Markgrafschaft Meißen auf dem Bergsporn über der Elbe gegründet. Meißen gehört zu den am nördlichsten gelegenen Weinanbaugebieten in Deutschland und befindet sich mitten im Herzen der Sächsischen Weinstraße.

Meißen Rathaus Weihnachtsmarkt (MATE Theme für Contao)

Parallax-Element mit Überschrift, Text und Link

929 wurde die Burg Meißen und die Markgrafschaft Meißen auf dem Bergsporn über der Elbe gegründet. Meißen gehört zu den am nördlichsten gelegenen Weinanbaugebieten in Deutschland und befindet sich mitten im Herzen der Sächsischen Weinstraße.

document.addEventListener('DOMContentLoaded', () => { const form = document.querySelector('.room-booking-manager form'); const startInput = form.querySelector('input[name="start"]'); const endInput = form.querySelector('input[name="end"]'); const statusDisplay = document.createElement('div'); // Für Feedback-Texte statusDisplay.className = 'availability-check-msg'; form.appendChild(statusDisplay); const checkAvailability = async () => { const roomId = form.querySelector('input[name="room_id"]:checked')?.value; const start = startInput.value; const end = endInput.value; // Nur prüfen, wenn alle Daten vorhanden sind if (!roomId || !start || !end) return; statusDisplay.innerHTML = 'Prüfe Verfügbarkeit...'; statusDisplay.style.color = '#666'; try { const response = await fetch('/share/check-room', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ roomId, start, end }) }); const result = await response.json(); if (result.available) { statusDisplay.innerHTML = '✔ Raum ist verfügbar!'; statusDisplay.style.color = 'green'; form.querySelector('button[type="submit"]').disabled = false; } else { statusDisplay.innerHTML = '✖ ' + result.message; statusDisplay.style.color = 'red'; form.querySelector('button[type="submit"]').disabled = true; } } catch (error) { console.error('Fehler beim Check:', error); } }; // Events registrieren [startInput, endInput].forEach(el => el.addEventListener('change', checkAvailability)); form.querySelectorAll('input[name="room_id"]').forEach(el => el.addEventListener('change', checkAvailability)); });