(Mostly) finished adding content; fixed event catching in the menuOperator function
[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
JK
7 var menuLoc = parseInt(getComputedStyle(menu).getPropertyValue("top"));
8
9f0253f6 9 function menuOperator(node, position, token="") {
aa933c49
JK
10 menu.setAttribute("class", position);
11 for(var i = 0; i < links.length; i++) {
12 links[i].children[0].removeAttribute("class");
13 }
14 node.setAttribute("class", "selected " + token);
15 for(var i = 0; i < content.children.length; i++) {
16 content.children[i].setAttribute("class", "hidden")
17 }
18 var name = node.getAttribute("data-name");
19 if(name) {
20 var article = document.getElementById(name);
21 article.setAttribute("class", "selected");
22 }
b0fbfd4f
JK
23 var color = node.getAttribute("data-color");
24 if(color) {
25 body.setAttribute("class", color);
26 }
aa933c49
JK
27 window.history.pushState("object or string", "Title", node.href);
28 }
29
30 for(var i = 0; i < links.length - 1; i++) {
31 links[i].children[0].onclick = function(event) {
9f0253f6
JK
32 event.preventDefault();
33 var node = event.currentTarget;
34 menuOperator(node, "top");
e29d9cc4 35 };
d7edfd55 36 }
aa933c49
JK
37 for(var i = 0; i < home.length; i++) {
38 home[i].onclick = function(event) {
9f0253f6
JK
39 event.preventDefault();
40 var node = event.currentTarget;
41 menuOperator(node, "middle", "home");
aa933c49
JK
42 }
43 }
d7edfd55 44}, false);