Judd UK/wikiminjs

function loadStyleSheet(e){if(document.createStyleSheet)document.createStyleSheet(e);else{var t=document.createElement("link");t.href=e,t.rel="stylesheet",t.type="text/css",document.getElementsByTagName("head")[0].appendChild(t)}}function listen(e,t,n){return document.addEventListener?document.addEventListener(e,t,n):document.attachEvent("on"+e,t)}function unlisten(e,t){return document.addEventListener?document.removeEventListener(e,t):document.detachEvent("on"+e,t)}function AJAX(e,t){var n;n=new XMLHttpRequest,n.onreadystatechange=function(){4==n.readyState&&t(n)},n.open("GET",e,!0),n.send()}function createindex(){list=[],AJAX("https://static.igem.org/mediawiki/2017/c/c1/Judd_UK_Pagelist.txt",function(e){var t=qsa(".JC #content-body p");e.responseText.split("\n").forEach(function(e,n){if(done)for(var l=new RegExp(" "+e+"[^A-Z0-9-_]","i"),r=0;r<t.length;r++)t[r].innerHTML=t[r].innerHTML.replace(l,function(){return r=t.length," <a href='£"+e.replace(/\s+/g,"-").replace(/[^a-z0-9-_]+/gi,"")+"'>"+e+"</a> "});list[n]=e,qs("#site-index ul").innerHTML+="
  • <a href='£"+e.replace(/\s+/g,"-").replace(/[^a-z0-9-_]+/gi,"")+"'>"+e+"</a>
  • "})})}function newPage(e){e=window.e||e;var t=e.target.getAttribute("href");if(null!==t&&("£"==t[0]||"#"==t[0])){if("#"==t[0])try{return qs(".JC #content-body "+t).scrollIntoView({behavior:"smooth",block:"start",inline:"nearest"}),void e.preventDefault()}catch(n){return}e.preventDefault(),t=t.substring(1),t!=page&&(loadPage(t),window.history.pushState(null,null,"?"+t),page=t)}}function loadPage(e){qs(".JC bar-loader").style.display="block",qs(".JC #content-container").style.visibility="hidden",AJAX("https://static.igem.org/mediawiki/2017/2/20/Judd_UK-"+e+".txt",function(e){if(200==e.status){html.innerHTML=e.responseText,qs(".JC #content-body").innerHTML="",qs(".JC #content-index ol").innerHTML="",qsa("[data-selector]").forEach(function(e){var t=html.content.querySelector(e.dataset.selector);t?e.innerHTML=e.dataset.text?t.innerText:t.outerHTML:e.innerHTML=""}),html.content.querySelectorAll("h2, h3").forEach(function(e,t){"H2"==e.tagName?qs(".JC #content-index ol").innerHTML+='
  • <a href="#'+e.innerHTML.replace(/\s+/g,"-").replace(/[^A-Z0-9-_]+/gi,"")+"-"+t+'">'+e.innerHTML+"</a>
  • ":qs(".JC #content-index ol").lastChild.querySelector("ol")?qs(".JC #content-index ol").lastChild.querySelector("ol").innerHTML+='
  • <a href="#'+e.innerHTML.replace(/\s+/g,"-").replace(/[^A-Z0-9-_]+/gi,"")+"-"+t+'">'+e.innerHTML+"</a>
  • ":qs(".JC #content-index ol").lastChild.innerHTML+='
    1. <a href="#'+e.innerHTML.replace(/\s+/g,"-").replace(/[^A-Z0-9-_]+/gi,"")+"-"+t+'">'+e.innerHTML+"</a>
    "}),html.content.querySelectorAll("div h2, div h3").forEach(function(e,t){e.id=e.innerHTML.replace(/\s+/g,"-").replace(/[^A-Z0-9-_]+/gi,"")+"-"+t});var t=html.content.querySelectorAll("div p");list.forEach(function(e){for(var n=new RegExp(" "+e+"[^A-Z0-9-_]","i"),l=0;l<t.length;l++)t[l].innerHTML=t[l].innerHTML.replace(n,function(){return l=t.length," <a href='£"+e.replace(/\s+/g,"-").replace(/[^a-z0-9-_]+/gi,"")+"'>"+e+"</a> "})}),qs(".JC #content-body").innerHTML=html.content.querySelector("div")?html.content.querySelector("div").innerHTML:"",done=!0,qs(".JC bar-loader").style.display="none",qs(".JC #content-container").style.visibility="visible"}else loadPage("404")})}var list=null,done=!1,qs=document.querySelector.bind(document),qsa=document.querySelectorAll.bind(document),html=qs(".JC #content-template"),page=decodeURIComponent((new RegExp("[?|&]([^&;]+?)(&|#|;|$)").exec(location.search)||[null,""])[1].replace(/\+/g,"%20"))||"Page-1",mouseDetected=!1;loadPage(page),createindex(),listen("click",newPage,!1),listen("mousemove",function(){mouseDetected&&(qs("#topstyles").innerHTML=""),mouseDetected=!0,unlisten("mousemove",arguments.callee)},!1),setTimeout(function(){qs("#topstyles").innerHTML="#O1{left:-75%!important;opacity:1!important}#O2{left:-25%!important;opacity:1!important}#O3{left:25%!important;opacity:1!important}#O4{left:75%!important;opacity:1!important}"},0),setTimeout(function(){mouseDetected?qs("#topstyles").innerHTML="":mouseDetected=!0},4e3),loadStyleSheet("https://fonts.googleapis.com/css?family=Raleway:300,400");