A few small tweaks
[jkinsey.net.git] / js / script.js
CommitLineData
d7edfd55 1window.addEventListener('load', function() {
d7edfd55 2 var links = document.getElementById("links").children[0].children;
e29d9cc4 3 var home = document.getElementsByClassName("home");
e29d9cc4 4 var menu = document.getElementById("menu");
aa933c49 5 var content = document.getElementById("content");
b0fbfd4f 6 var body = document.getElementsByTagName("body")[0];
e29d9cc4 7
9f0253f6 8 function menuOperator(node, position, token="") {
aa933c49
JK
9 menu.setAttribute("class", position);
10 for(var i = 0; i < links.length; i++) {
11 links[i].children[0].removeAttribute("class");
12 }
13 node.setAttribute("class", "selected " + token);
14 for(var i = 0; i < content.children.length; i++) {
15 content.children[i].setAttribute("class", "hidden")
16 }
17 var name = node.getAttribute("data-name");
18 if(name) {
19 var article = document.getElementById(name);
20 article.setAttribute("class", "selected");
21 }
b0fbfd4f
JK
22 var color = node.getAttribute("data-color");
23 if(color) {
24 body.setAttribute("class", color);
25 }
aa933c49
JK
26 window.history.pushState("object or string", "Title", node.href);
27 }
28
29 for(var i = 0; i < links.length - 1; i++) {
30 links[i].children[0].onclick = function(event) {
9f0253f6
JK
31 event.preventDefault();
32 var node = event.currentTarget;
33 menuOperator(node, "top");
e29d9cc4 34 };
d7edfd55 35 }
aa933c49
JK
36 for(var i = 0; i < home.length; i++) {
37 home[i].onclick = function(event) {
9f0253f6
JK
38 event.preventDefault();
39 var node = event.currentTarget;
40 menuOperator(node, "middle", "home");
aa933c49
JK
41 }
42 }
d7edfd55 43}, false);