// Cloud section ===================== old school code divider ================= function rn(from, to) { return ~~(Math.random() * (to - from + 1)) + from; } function rs() { return arguments[rn(1, arguments.length) - 1]; } function boxShadows(max) { let ret = []; for (let i = 0; i < max; ++i) { ret.push(` ${ rn(1, 100) }vw ${ rn(1, 100) }vh ${ rn(20, 40) }vmin ${ rn(1, 20) }vmin ${ rs('#F52D75', '#CCBD4F', '#32497F', '#EB4377') } `) } return ret.join(','); } const cloud = document.querySelector('#cloud'); function update() { cloud.style.boxShadow = boxShadows(120); } // Filter section ===================== old school code divider ================ filterSelection("all") function filterSelection(c) { var i; var allpublications = document.getElementsByClassName("filter"); if (c == "all") { for (i = 0; i < allpublications.length; i++) { addClass(allpublications[i], "show"); } } else { for (i = 0; i < allpublications.length; i++) { removeClass(allpublications[i], "show"); if (allpublications[i].className.indexOf(c) > -1) { addClass(allpublications[i], "show"); } } } } function addClass(element, name) { var i, arr1, arr2; arr1 = element.className.split(" "); arr2 = name.split(" "); for (i = 0; i < arr2.length; i++) { if (arr1.indexOf(arr2[i]) == -1) {element.className += " " + arr2[i];} } } function removeClass(element, name) { var i, arr1, arr2; arr1 = element.className.split(" "); arr2 = name.split(" "); for (i = 0; i < arr2.length; i++) { while (arr1.indexOf(arr2[i]) > -1) { arr1.splice(arr1.indexOf(arr2[i]), 1); } } element.className = arr1.join(" "); } window.addEventListener('load', update);