(function(gogo){ let loading = false; let elContent; let elMain; function loadContent(href, ignoreHistory = false) { if(!loading) { loading = true; gogo.ajax(href, 'GET') .then((response) => { if('error' in response) { replaceContent(response.error); } if('content' in response) { replaceContent(response.content); if(!ignoreHistory) { window.history.pushState(null, '', href); } } loading = false; }); } } function replaceContent(content) { if(elContent) { elContent.innerHTML = content; elMain.scrollTo(0, 0); showAddresses() } } function showAddresses() { let a = 'fristi'; let b = 'subcon.town'; let c = 'akkos.fritu.re'; gogo.getAll('.em').forEach( element => { element.innerHTML = a + '@' + b; element.setAttribute('href', 'mailto:' + a + '@' + b); }); gogo.getAll('.fv').forEach( element => { element.innerHTML = a + '@' + c; }); } window.addEventListener('load', function(){ elContent = gogo.get('.content'); elMain = gogo.get('main'); gogo.get('.container').addEventListener('click', event => { if(!event.target.classList.contains('page-link')) return; loadContent(event.target.getAttribute('href')); event.preventDefault(); }); showAddresses(); }); window.addEventListener('popstate', event => { loadContent(document.location, true); }); })(gogo);