neverending.
[heroik.git] / heroik.js
index 401268b..88b1d32 100644 (file)
--- a/heroik.js
+++ b/heroik.js
@@ -30,11 +30,7 @@ function scrollToId (id) {
 function open (event) {
     var href = this.href;
     var target = this.target === "_parent" ? window.parent : window;
-
-    if (this.getAttribute('href')[0] === "#")
-        scrollToId(this.getAttribute('href').slice(1));
-    else
-        target.location.href = this.href;
+    target.location.href = this.href;
     event.preventDefault();
 }
 
@@ -44,6 +40,10 @@ window.addEventListener('load', function () {
     scrollToId(location.hash.slice(1));
 });
 
+window.addEventListener('hashchange', function () {
+    scrollToId(location.hash.slice(1));
+});
+
 window.addEventListener('DOMContentLoaded', function () {
     if (navigator.standalone)
         document.body.className += ' standalone';
@@ -58,6 +58,10 @@ function choice (seq) {
     return seq[(Math.random() * seq.length) | 0];
 }
 
+function not (f) {
+    return function () { return !f.apply(this, arguments); };
+}
+
 function contains (element) {
     return this.indexOf(element) >= 0;
 }