Visit the UK's leading advanced engineering exhibition

Register your interest to attend Advanced Engineering 2026

Boost your business growth by meeting with the most relevant decision-makers in the industry.

Simply fill in the form below, and a member of the team will be in touch to discuss your objectives and options.

At Easyfairs, we take your privacy seriously and will only use the information we collect or receive about you in accordance with our privacy policy. If you change your mind you can unsubscribe at any time.

Thank you for your submission

We have received your submission and a member of the team will be in touch shortly. If you have any questions please don’t hesitate to reach out to a member of the team via our Contact Us page.

(function() { function setTabContext(tabName) { localStorage.setItem('activeTabContext', tabName); console.log('*** SUCCESS: Tab context saved:', tabName); } // Global Click Listener document.addEventListener("click", function(event) { // DIAGNOSTIC LOG: Print out what element was actually clicked const clickedEl = event.target; console.log('Clicked element:', clickedEl, '| ID:', clickedEl.id, '| Parent ID:', clickedEl.parentElement ? clickedEl.parentElement.id : 'none'); // Look for the tabs (handling both "top-tab-X" and "#top-tab-X" typos) const tab1Click = event.target.closest('[id="top-tab-1"], [id="#top-tab-1"]'); const tab2Click = event.target.closest('[id="top-tab-2"], [id="#top-tab-2"]'); if (tab1Click) { setTabContext('tab1'); applyTabHighlights('tab1'); } else if (tab2Click) { setTabContext('tab2'); applyTabHighlights('tab2'); } // Track navigation right before leaving page if (event.target.closest('a')) { const activeTab = document.querySelector('.active-tab'); if (activeTab) { const id = activeTab.getAttribute('id'); if (id.includes('1')) setTabContext('tab1'); if (id.includes('2')) setTabContext('tab2'); } } }, true); function applyTabHighlights(forcedTab) { const tabToHighlight = forcedTab || localStorage.getItem('activeTabContext') || 'tab1'; // Target elements with or without the accidental hashtag typo const allTab1s = document.querySelectorAll('[id="top-tab-1"], [id="#top-tab-1"]'); const allTab2s = document.querySelectorAll('[id="top-tab-2"], [id="#top-tab-2"]'); allTab1s.forEach(el => el.classList.remove('active-tab')); allTab2s.forEach(el => el.classList.remove('active-tab')); if (tabToHighlight === 'tab1') { allTab1s.forEach(el => el.classList.add('active-tab')); } else if (tabToHighlight === 'tab2') { allTab2s.forEach(el => el.classList.add('active-tab')); } } document.addEventListener("DOMContentLoaded", function() { applyTabHighlights(); }); window.addEventListener('load', function() { applyTabHighlights(); }); })();