// --- 1. תצוגה מקדימה של התמונה שנבחרה ---
document.getElementById('imageInput').onchange = evt => {
    const [file] = evt.target.files;
    if (file) {
        const preview = document.getElementById('imagePreview');
        preview.src = URL.createObjectURL(file);
        preview.style.display = 'block';
    }
};

// --- 2. ניהול המפה (Leaflet) ---
// שליחת נתונים מה-PHP ל-JS דרך משתנים גלובליים (הוגדרו ב-upload.php)
const initLat = document.getElementById('item_lat').value || 32.0853;
const initLng = document.getElementById('item_lng').value || 34.7818;

var map = L.map('map').setView([initLat, initLng], 15);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    attribution: '© OpenStreetMap'
}).addTo(map);

var marker = L.marker([initLat, initLng], {draggable: true}).addTo(map);

// --- 3. עדכון מיקום ידני במידה והמשתמש מקליד כתובת ---
async function updateLocationFromInputs() {
    const city = document.getElementById('city').value;
    const street = document.getElementById('street').value;
    const num = document.getElementById('h_num').value;

    if(city && street && num) {
        const q = `${street} ${num}, ${city}, Israel`;
        try {
            const res = await fetch(`https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(q)}`);
            const data = await res.json();
            if(data.length > 0) {
                const {lat, lon, display_name} = data[0];
                map.setView([lat, lon], 16);
                marker.setLatLng([lat, lon]);
                
                // עדכון השדות הנסתרים
                document.getElementById('item_lat').value = lat;
                document.getElementById('item_lng').value = lon;
                document.getElementById('item_address').value = display_name;
            }
        } catch (e) { console.error("Error fetching location", e); }
    }
}

// מאזינים לשדות הכתובת
document.querySelectorAll('#city, #street, #h_num').forEach(input => {
    input.addEventListener('blur', updateLocationFromInputs);
});

// הצגת/הסתרת אזור המפה
document.getElementById('toggleLocation').onchange = function() {
    const manualSection = document.getElementById('manual-location');
    manualSection.style.display = this.checked ? 'block' : 'none';
    if(this.checked) {
        setTimeout(() => { map.invalidateSize(); }, 200); 
    }
};

// עדכון קואורדינטות אם המשתמש גורר את הסמן ידנית במפה
marker.on('dragend', function() {
    const position = marker.getLatLng();
    document.getElementById('item_lat').value = position.lat;
    document.getElementById('item_lng').value = position.lng;
}); 