# This is a clever little hack: elements.fooBar is the element with id="foo-bar". It uses document.getElementById on
# first access, but then saves it for fast access later.
elements = new Proxy {}, get: (target, p) ->
if typeof p is 'string' and not (p of target)
target[p] = document.getElementById p.replace /[A-Z]/g, (s) -> '-' + s.toLowerCase()
target[p]