(function () {
/* ========= 1) CONFIG ========= */
var TAB_MAP = {
revolution: '1760967628360-6',
freestyle: '1760967628556-5',
landing: '1760967628666-4',
gymnast: '1760967629393-0'
};
// Optional: run only on the stock-sale page
// if (!/\/stock-sale\/?$/.test(location.pathname)) return;
var SCROLL_OFFSET = 80; // adjust for sticky header height
/* ========= 2) HELPERS ========= */
function qs(sel, ctx) { return (ctx || document).querySelector(sel); }
function qsa(sel, ctx) { return Array.prototype.slice.call((ctx || document).querySelectorAll(sel)); }
function findTabLinkByFixedId(fixedId) {
// WPBakery tab links typically use #tab- or #
var selector =
'.vc_tta-tabs-list a[href="#tab-' + fixedId + '"], ' +
'.vc_tta-tabs-list a[href="#' + fixedId + '"]';
return qs(selector);
}
function getTabsContainerFromLink(link) {
return link ? link.closest('.vc_tta') : null;
}
function scrollToTabs(container) {
if (!container) return;
var top = container.getBoundingClientRect().top + window.pageYOffset - SCROLL_OFFSET;
window.scrollTo({ top: top, behavior: 'smooth' });
}
function friendlyToFixed(hash) {
// if it's one of our friendly names, map it
if (TAB_MAP[hash]) return TAB_MAP[hash];
// if a fixed id was used directly (with or without 'tab-' prefix), normalize it
return hash.replace(/^tab-/, '');
}
function fixedToFriendly(fixedId) {
// reverse lookup for updating the URL hash on click
for (var k in TAB_MAP) if (TAB_MAP[k] === fixedId) return k;
return null;
}
/* ========= 3) CORE LOGIC ========= */
function activateTabFromHash() {
var raw = window.location.hash.replace('#', '');
if (!raw) return;
var fixedId = friendlyToFixed(raw);
var link = findTabLinkByFixedId(fixedId);
if (link) {
// Click the tab link to activate it
link.click();
scrollToTabs(getTabsContainerFromLink(link));
}
}
function attachClickHandlers() {
// Keep URL hash in sync when user clicks between tabs
qsa('.vc_tta-tabs-list a').forEach(function (a) {
a.addEventListener('click', function (e) {
// Extract fixed id from href (#tab- or #)
var href = (a.getAttribute('href') || '').replace('#', '');
var fixedId = href.replace(/^tab-/, '');
var friendly = fixedToFriendly(fixedId) || fixedId; // fallback to fixed if no friendly
if (friendly) {
// Update hash without jumping
history.replaceState(null, '', '#' + friendly);
}
});
});
}
/* ========= 4) WAIT FOR TABS, THEN INIT ========= */
function waitForTabsAndInit(retries) {
retries = retries || 40; // ~2s @ 50ms
if (qs('.vc_tta-tabs-list a')) {
attachClickHandlers();
activateTabFromHash();
window.addEventListener('hashchange', activateTabFromHash);
return;
}
if (retries > 0) {
setTimeout(function () { waitForTabsAndInit(retries - 1); }, 50);
}
}
// Kick off when DOM is ready
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', waitForTabsAndInit);
} else {
waitForTabsAndInit();
}
})();Skip to main content
4 The Love of Movement is one of the biggest freerun events in the world and their Summer 2016 edition was held The Hague. We were invited to join the event and we went all out by bringing our 10×10 BigAirBag REVOLUTION, our 5x4FOAM PIT BigAirBag, and our brand new Max Air high performance trampoline!
Both BigAirBags were used to try the craziest tricks on and everyone progressed and learned new tricks quickly. The new trick was then often practiced on our Max Air trampoline and when it was mastered there, they could take it to the streets. The combination of our BigAirBag and trampoline offered the perfect setup to progress quickly.
Our FOAM PIT BigAirBag was setup inside with a scaffold structure and 10×10 REVOLUTION outside with a scissor lift for jumps up to 20 meter.
Some of the best freerunners showed up to throw the craziest moves, check out the video to see what they did!