More results…
const tabKeys = Object.keys(tabUrls); let panelsCache; let navTabsCache;
const getTabKey = (tabLink) => { const heading = tabLink.querySelector(‘.fusion-tab-heading’); const text = (heading ? heading.textContent : ”).toLowerCase().replace(/[^a-z0-9]/g, ”); return tabKeys.includes(text) ? text : null; };
const fixTabHrefs = () => { document.querySelectorAll(‘.nav-tabs a.tab-link[id^=”fusion-tab-“]’).forEach(link => { const key = getTabKey(link); if (key && link.getAttribute(‘href’)?.startsWith(‘#tab-‘)) { link.href = tabUrls[key]; link.removeAttribute(‘data-toggle’); } }); };
const setMaxHeight = () => { panelsCache = panelsCache || document.querySelectorAll(‘.tab-pane’); let maxHeight = 0;
panelsCache.forEach(panel => { const wasActive = panel.classList.contains(‘active’); panel.classList.add(‘active’, ‘in’); panel.style.cssText = ‘position:absolute;visibility:hidden;min-height:auto’;
maxHeight = Math.max(maxHeight, panel.scrollHeight);
panel.style.cssText = ”; if (!wasActive) panel.classList.remove(‘active’, ‘in’); });
document.documentElement.style.setProperty(‘–js-nav-content-max-ht’, `${maxHeight}px`); };
const handleTabHover = (e) => { let tabLink = e.target; if (!tabLink.id?.startsWith(‘fusion-tab-‘)) { if (tabLink.parentElement?.id?.startsWith(‘fusion-tab-‘)) { tabLink = tabLink.parentElement; } else return; }
// Cache DOM queries for better performance on frequent hover events navTabsCache = navTabsCache || document.querySelectorAll(‘.nav-tabs li’); panelsCache = panelsCache || document.querySelectorAll(‘.tab-pane’);
navTabsCache.forEach(li => li.classList.remove(‘active’));
let li = tabLink; while (li && li.tagName !== ‘LI’) li = li.parentElement; if (li) li.classList.add(‘active’);
const key = getTabKey(tabLink); const tabIndex = key ? tabKeys.indexOf(key) : -1; if (tabIndex >= 0) { panelsCache.forEach(panel => panel.classList.remove(‘active’, ‘in’)); panelsCache[tabIndex]?.classList.add(‘active’, ‘in’); } };
document.addEventListener(‘DOMContentLoaded’, () => { fixTabHrefs(); setTimeout(setMaxHeight, 1000); document.addEventListener(‘mouseenter’, handleTabHover, true); document.addEventListener(‘click’, e => { if (e.target.closest(‘[id^=”fusion-tab-“]’)) e.stopImmediatePropagation(); }, true); });
window.TabMapper = { tabUrls };Toggle NavigationProductsLandscapePet SystemsPutting GreensPlayground TurfInstall AccessoriesTigerTurf ProductsEverlast ProductsEmerald Artificial GreeneryLandscape Our Products View All Landscape products Cascade SeriesCatalinaCatalina ProCloverDesigner Color Turf SeriesDiamond SeriesEmerald SeriesEverglade SeriesLush SeriesMajesticMalibu SeriesMarquee Pro NaturalMultipurposeNature’s BestNylon Premier LawnPlatinum SeriesPlayground SeriesRiviera ProSequoia SeriesSierra SeriesTacoma SeriesVenice SeriesVersaPlayPet Systems Our Products View All Pet Turf products Everlast Pet TurfPet TurfVersaPlay Putting Greens Our Products View All Putting Greens Nylon Putt 2-ToneNylon Tee Line 1-TonePoly Putt 2-Tone DarkTiger Putt SeriesTrue Putt Playground Turf Our Products View All Playground Turf AllPlay XPDiamond Pro FescueDiamond Pro SpringEverglade Fescue ProEverglade Spring ProPet TurfPlayground FescuePlayground SpringSierra ProVersaPlay Install Accessories Our Products View All Install Products Bases & LinersBorders & EdgingGolf AccessoriesSeaming ProductsTurf Infills & AdditivesTurf Deodorizer TigerTurf Products Our Products View All TigerTurf Products CloverDiamond SeriesEverglade SeriesLush SeriesMajesticMarquee Pro NaturalNylon Premier LawnNylon Putt 2-ToneNylon Tee Line 1-TonePet TurfPlatinum SeriesPlayground SeriesSierra SeriesTiger Putt SeriesTrue PuttVersaPlay Everlast Products Our Products View All Everlast Products Cascade SeriesCatalinaCatalina ProDesigner Color Turf SeriesEmerald SeriesEverlast Pet TurfMalibu SeriesMultipurposeNature’s BestPoly Putt 2-Tone DarkRiviera ProSequoia SeriesTacoma SeriesVenice Series Emerald Artificial Greenery Our Products View All Emerald Artificial Greenery Products 2-Tone FicusFernPurple BuxusSequoiaYellow Boxwood LandscapeCascade SeriesCatalinaCatalina ProCloverDesigner Color Turf SeriesDiamond SeriesEmerald SeriesEverglade SeriesLush SeriesMajesticMalibu SeriesMarquee Pro NaturalMultipurposeNature’s BestNylon Premier LawnPlatinum SeriesPlayground SeriesRiviera ProSequoia SeriesSierra SeriesTacoma SeriesVenice SeriesVersaPlayPet SystemsEverlast Pet TurfPet TurfVersaPlayPutting GreensNylon Putt 2-ToneNylon Tee Line 1-TonePoly Putt 2-Tone DarkTiger Putt SeriesTrue PuttPlayground TurfAllPlay XPDiamond Pro FescueDiamond Pro SpringEverglade Fescue ProEverglade Spring ProPet TurfPlayground FescuePlayground SpringSierra ProVersaPlayInstall AccessoriesTigerTurf ProductsCloverDiamond SeriesEverglade SeriesLush SeriesMajesticMarquee Pro NaturalNylon Premier LawnNylon Putt 2-ToneNylon Tee Line 1-TonePet TurfPlatinum SeriesPlayground SeriesSierra SeriesTiger Putt SeriesTrue PuttVersaPlayEverlast ProductsCascade SeriesCatalinaCatalina ProDesigner Color Turf SeriesEmerald SeriesEverlast Pet TurfMalibu SeriesMultipurposeNature’s BestPoly Putt 2-Tone DarkRiviera ProSequoia SeriesTacoma SeriesVenice SeriesEmerald Artificial Greenery2-Tone FicusFernPurple BuxusSequoiaYellow BoxwoodResources Resources View All Resources Maintenance & Care How to take care of your turf Enviromental Impact Our pledge to taking care of our planet Terminology & FAQs Learn what terms mean Installing Artificial Grass Our tried and true steps for installation Product Information Learn about our turf in depth Technology What goes into our Turf Maintenance & CareEnvironmental ImpactTerminology & FAQsInstalling Artificial GrassProduct InformationTechnologyCompany Company View All Company Info About SGW Learn more about SGW Certifications IPEMA, CAD Details, & More Warranties Our Industry Leading Warranties Ask An Expert See if we’ve answered your questions Media Assets and helpful things Blog News around the warehouse About SGWCertificationsWarrantiesAsk An ExpertMediaBlogContact Contact Contact SGW Get in touch with an SGW Representative New Customer Form Become a partner today Partner Order Form Order your products now Credit Card Authorization Submit your information Contact SGWCredit Card AuthorizationCustomer FormOrder Form Homeowners Installers