document.addEventListener('DOMContentLoaded', function() { // ---------- MOBILNI MENI ---------- const mainNav = document.querySelector('.main-nav'); const body = document.body; // Ustvari overlay element const overlay = document.createElement('div'); overlay.className = 'menu-overlay'; document.body.appendChild(overlay); if (menuToggle && mainNav) { menuToggle.addEventListener('click', function() { menuToggle.classList.toggle('active'); mainNav.classList.toggle('active'); overlay.classList.toggle('active'); body.classList.toggle('menu-open'); }); // Zapri meni ob kliku na overlay overlay.addEventListener('click', function() { menuToggle.classList.remove('active'); mainNav.classList.remove('active'); overlay.classList.remove('active'); body.classList.remove('menu-open'); }); // Zapri meni ob kliku na povezavo mainNav.querySelectorAll('a').forEach(link => { link.addEventListener('click', function() { menuToggle.classList.remove('active'); mainNav.classList.remove('active'); overlay.classList.remove('active'); body.classList.remove('menu-open'); }); }); } // Zapri meni ob resize-u okna window.addEventListener('resize', function() { if (window.innerWidth > 768) { menuToggle.classList.remove('active'); mainNav.classList.remove('active'); overlay.classList.remove('active'); body.classList.remove('menu-open'); } }); // ---------- PLAVAJOČI GUMB ZA POVPRAŠEVANJE ---------- // Ustvarimo nov HTML element za plavajoči gumb const floatingButton = document.createElement('a'); floatingButton.className = 'floating-inquiry-btn'; floatingButton.href = '/inquiry/'; floatingButton.innerHTML = ' Custom Journey Inquiry'; // Dodamo gumb v body document.body.appendChild(floatingButton); // Če obstaja popup element na strani, bomo uporabili ta obstoječi element let inquiryPopup = document.getElementById('inquiry-popup'); // Če popup ne obstaja na trenutni strani, ga ustvarimo if (!inquiryPopup) { // Ustvarimo nov popup inquiryPopup = document.createElement('div'); inquiryPopup.id = 'inquiry-popup'; inquiryPopup.className = 'inquiry-popup'; // Vsebina popupa inquiryPopup.innerHTML = `
×

Custom Journey Inquiry

`; // Dodamo style, če ga še ni if (!document.getElementById('inquiry-popup-styles')) { const popupStyles = document.createElement('style'); popupStyles.id = 'inquiry-popup-styles'; popupStyles.textContent = ` /* Popup Styles */ .inquiry-popup { display: none; position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0, 0, 0, 0.6); opacity: 0; transition: opacity 0.3s ease; } .inquiry-popup.active { display: block; opacity: 1; } .inquiry-popup-content { background-color: white; margin: 5% auto; padding: 2rem; border-radius: 12px; width: 90%; max-width: 600px; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2); transform: translateY(-20px); transition: transform 0.3s ease; position: relative; } .inquiry-popup.active .inquiry-popup-content { transform: translateY(0); } .inquiry-close { position: absolute; top: 1.2rem; right: 1.5rem; font-size: 2rem; color: #aaa; cursor: pointer; transition: color 0.3s ease; } .inquiry-close:hover { color: var(--accent); } .inquiry-popup h3 { margin-top: 0; margin-bottom: 1.5rem; color: var(--dark); font-size: 1.8rem; text-align: center; } .inquiry-form .form-group { margin-bottom: 1.2rem; } .inquiry-form .half { width: 49%; display: inline-block; } .inquiry-form .form-group:nth-child(3) { margin-right: 2%; } .inquiry-form label { display: block; margin-bottom: 0.5rem; color: #555; font-weight: 500; } .inquiry-form input, .inquiry-form textarea { width: 100%; padding: 0.8rem; border: 1px solid #ddd; border-radius: 4px; font-size: 1rem; transition: border-color 0.3s ease; } .inquiry-form input:focus, .inquiry-form textarea:focus { border-color: var(--accent); outline: none; } .inquiry-form .btn-submit { width: 100%; padding: 1rem; background-color: var(--accent); color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 1.1rem; font-weight: 600; transition: background-color 0.3s ease; margin-top: 1rem; } .inquiry-form .btn-submit:hover { background-color: var(--accent-dark); } body.popup-open { overflow: hidden; } @media (max-width: 768px) { .inquiry-popup-content { padding: 1.5rem; margin: 10% auto; width: 95%; } .inquiry-form .half { width: 100%; display: block; } .inquiry-form .form-group:nth-child(3) { margin-right: 0; } } `; document.head.appendChild(popupStyles); } // Dodamo popup v body document.body.appendChild(inquiryPopup); // Pridobimo varnostni nonce preko AJAX klica fetch(inquiry_ajax_object.ajax_url, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: 'action=get_inquiry_nonce' }) .then(response => response.json()) .then(data => { if (data.success) { document.getElementById('inquiry_security').value = data.data; } }) .catch(error => { console.error('Error fetching nonce:', error); }); } // Poskrbimo, da je popup začetno skrit inquiryPopup.classList.remove('active'); document.body.classList.remove('popup-open'); // Dodamo "click" poslušalec za odpiranje popupa floatingButton.addEventListener('click', function() { inquiryPopup.classList.add('active'); document.body.classList.add('popup-open'); }); // Pridobimo referenco na elemente v popupu const inquiryClose = inquiryPopup.querySelector('.inquiry-close'); const inquiryForm = inquiryPopup.querySelector('#custom-inquiry-form'); // Zapri popup (X gumb) inquiryClose.addEventListener('click', function() { inquiryPopup.classList.remove('active'); document.body.classList.remove('popup-open'); }); // Zapri popup (klik izven obrazca) inquiryPopup.addEventListener('click', function(e) { if (e.target === inquiryPopup) { inquiryPopup.classList.remove('active'); document.body.classList.remove('popup-open'); } }); // Zapri popup (tipka ESC) document.addEventListener('keydown', function(e) { if (e.key === 'Escape' && inquiryPopup.classList.contains('active')) { inquiryPopup.classList.remove('active'); document.body.classList.remove('popup-open'); } }); // Pošlji obrazec inquiryForm.addEventListener('submit', function(e) { e.preventDefault(); // Prikaži indikator nalaganja const submitBtn = inquiryForm.querySelector('.btn-submit'); const originalBtnText = submitBtn.textContent; submitBtn.textContent = 'Sending...'; submitBtn.disabled = true; // Pridobi podatke iz obrazca const formData = new FormData(inquiryForm); const nonce = document.getElementById('inquiry_security').value; formData.append('security', nonce); console.log('Sending form data to AJAX endpoint...'); // Pošlji AJAX zahtevek fetch(inquiry_ajax_object.ajax_url, { method: 'POST', body: formData }) .then(response => { console.log('Response status:', response.status); if (!response.ok) { throw new Error('Network response was not ok: ' + response.status); } return response.json(); }) .then(data => { console.log('Response data:', data); // Ponastavi gumb submitBtn.textContent = originalBtnText; submitBtn.disabled = false; if (data.success) { // Uspešno poslano alert(data.data); inquiryForm.reset(); inquiryPopup.classList.remove('active'); document.body.classList.remove('popup-open'); } else { // Napaka console.error('Form submission error:', data); alert(data.data || 'There was an error sending your inquiry. Please try again.'); } }) .catch(error => { // Ponastavi gumb submitBtn.textContent = originalBtnText; submitBtn.disabled = false; console.error('Error during form submission:', error); alert('There was an error sending your inquiry: ' + error.message); }); }); });