function populateSearchResults(results, selectedOption) {
const searchResultsContainer = document.getElementById('searchResults');
searchResultsContainer.innerHTML = '';
if (results.length === 0) {
searchResultsContainer.innerHTML = '
Nessun risultato trovato
';
return;
}
results.forEach(item => {
const div = document.createElement('div');
div.className = 'search-result';
div.innerHTML = `
${item.nome}
Palina: ${item.palina}, Target ID: ${item.targetID}
`;
div.addEventListener('click', () => {
const url = `fermata.html?palina=${encodeURIComponent(item.palina)}&targetID=${encodeURIComponent(item.targetID)}&selectedOption=${encodeURIComponent(selectedOption)}`;
window.open(url, '_blank');
});
searchResultsContainer.appendChild(div);
});
}
function filterOptions(query, data) {
const q = query.toLowerCase();
return data.filter(item =>
(item.nome || '').toLowerCase().includes(q) ||
(item.palina || '').toLowerCase().includes(q) ||
(item.targetID || '').toLowerCase().includes(q)
);
}
let allOptions = [];
let currentSelectedOption = '';
const searchBar = document.getElementById('searchBar');
searchBar.addEventListener('input', function() {
const query = searchBar.value;
const filteredOptions = filterOptions(query, allOptions);
populateSearchResults(filteredOptions, currentSelectedOption);
});
document.getElementById('bacino').addEventListener('change', function(event) {
const selectedOption = event.target.value;
currentSelectedOption = selectedOption;
if (!selectedOption) {
allOptions = [];
document.getElementById('searchResults').innerHTML = '';
return;
}
const resultsContainer = document.getElementById('searchResults');
resultsContainer.innerHTML = 'Caricamento lista fermate in corso...
';
fetch(`https://api.vichingo455.freeddns.org/fermateapi/bacino?selectedOption=${selectedOption}`)
.then(res => res.json())
.then(data => {
allOptions = data;
populateSearchResults(allOptions, selectedOption);
})
.catch(err => {
resultsContainer.innerHTML = 'Errore nel caricamento delle fermate.
';
console.error('Errore:', err);
});
});