Accueil
/
Magasin
/
Snowsports
/
Nordic Skiing
/
Wax
Start Natural Cork with Felt
C$12.99
Natural cork with felt One side features felt
En stock : 12 article(s)
Quantité :
1
Ajouter
Ajouter au Panier
Passer la commande
Partagez votre achat avec vos amis
Partager
Partager
Épingler
Avis clients
Avis de clients vérifiés uniquement
Aucun avis pour le moment. Vous pouvez acheter ce produit et être le premier à laisser un avis.
Start Natural Cork with Felt
Détails du produit
UPC:
6418016050270
Brand:
Start
Passer au contenu principal
Get 20% OFF ANY shoes SUMMER20OFF | Get 25% OFF apparel SUMMER25OFF
Menu
Give us a Call!
EN
FR
document.addEventListener('DOMContentLoaded', function() { const headerInner = document.querySelector('.ins-header_inner'); if (!headerInner) { console.warn('Header inner container not found. Check your theme structure.'); return; } // Find or create search container let searchWrap = document.querySelector('.ins-header_search-wrap') || document.createElement('div'); searchWrap.classList.add('ins-header_search-wrap', 'custom-search-container'); searchWrap.style.display = 'block !important'; // Ensure visibility // Create or select form and input let searchForm = searchWrap.querySelector('form') || document.createElement('form'); searchForm.action = '/search'; searchForm.method = 'GET'; searchForm.classList.add('custom-search-form'); searchForm.setAttribute('role', 'search'); // Accessibility let searchInput = searchWrap.querySelector('input[type="text"]') || document.createElement('input'); searchInput.type = 'text'; searchInput.name = 'q'; // Fallback for form submit searchInput.placeholder = 'Search products...'; searchInput.classList.add('ins-header_search-field', 'custom-search-input'); searchInput.setAttribute('aria-label', 'Search products'); // Accessibility searchInput.autocomplete = 'off'; // Prevent browser suggestions interfering // Create results dropdown let searchResults = searchWrap.querySelector('#search-results') || document.createElement('div'); searchResults.id = 'search-results'; searchResults.classList.add('custom-search-results'); searchResults.style.display = 'none'; searchResults.setAttribute('aria-live', 'polite'); // Accessibility for screen readers // Append elements if newly created searchForm.appendChild(searchInput); searchWrap.appendChild(searchForm); searchWrap.appendChild(searchResults); // Insert left of logo const logoCenter = headerInner.querySelector('.ins-header_center'); if (logoCenter) { headerInner.insertBefore(searchWrap, logoCenter); } else { headerInner.prepend(searchWrap); // Fallback to start of header } // Debounce function to limit API calls function debounce(func, delay) { let timeout; return function(...args) { clearTimeout(timeout); timeout = setTimeout(() => func.apply(this, args), delay); }; } // Live search handler const performSearch = debounce(function() { const query = searchInput.value.trim(); if (query.length < 3) { searchResults.style.display = 'none'; return; } fetch(`/products.json?word=${encodeURIComponent(query)}`) .then(response => { if (!response.ok) throw new Error('API response error'); return response.json(); }) .then(data => { searchResults.innerHTML = ''; // Clear previous const products = data.products || []; if (products.length > 0) { searchResults.style.display = 'block'; products.slice(0, 10).forEach(product => { // Limit to 10 results const resultItem = document.createElement('div'); resultItem.classList.add('search-result-item'); resultItem.innerHTML = `
${product.title}
${product.price ? `
- $${product.price}
` : ''}
`; searchResults.appendChild(resultItem); }); } else { searchResults.style.display = 'none'; } }) .catch(error => { console.error('Live search error:', error); searchResults.style.display = 'none'; }); }, 300); // 300ms debounce searchInput.addEventListener('input', performSearch); // Hide dropdown on outside click document.addEventListener('click', function(event) { if (!searchWrap.contains(event.target)) { searchResults.style.display = 'none'; } }); // Form submit fallback (if no live select) searchForm.addEventListener('submit', function(event) { const query = searchInput.value.trim(); if (!query) { event.preventDefault(); alert('Please enter a search term.'); } }); });