var sticky = document.getElementsByClassName("sticky")[0]; var startTop; var navElms = new Array(); const uvod = document.getElementById(introId); var elements = new Array(); var questionContainers = new Array(); if(exists(uvod)) { var table = document.getElementById("myContent"); addItem(introLabel, introId, table); var myId; var div; var i = 1; while((myId = exerciseBaseId + i) && exists(div = document.getElementById(myId))) { addItem(exerciseBaseLabel + i, myId, table); i++; } addItem(creditLabel, creditId, table); addItems(credit, table); addItem(examLabel, examId, table); addItems(exam, table); addItem(conclusionLabel, conclusionId, table); } else if(typeof(questionCount) !== "undefined") { for(var i = 0; i < questionCount; i++) { elements[i] = document.getElementById("q" + (i+1)); } navElms = document.getElementById("myContent").getElementsByTagName("a"); } if(elements.length > 0) { const isTd = navElms[0].nodeName.toLowerCase() == "td"; startTop = sticky.offsetTop; window.onscroll = function(event) { var articleTop = document.getElementById("content").offsetTop; updateContent(); var currentValue = getCurrent(); for(var i = 0; i < elements.length; i++) { var topValue = elements[i].offsetTop + articleTop; var ind = isTd ? i*2 : i; var elm1 = navElms[ind]; if(currentValue >= topValue && currentValue <= topValue+elements[i].offsetHeight) { if (isTd) { elm1.style.visibility = "visible"; navElms[ind+1].setAttribute("class", "bold"); } else { if(elm1.getAttribute("class").indexOf("Bold") == -1) { elm1.setAttribute("class", "squareBold"); } } } else { if (isTd) { elm1.removeAttribute("style"); navElms[ind+1].removeAttribute("class"); } else { elm1.setAttribute("class", elm1.getAttribute("class").replace("Bold", "")); } } } }; window.onresize = updateMenu; if(window.onload == null) { window.onload = updateMenu; } else { var txt = window.onload.toString(); var t = "window.onload = " + txt.substring(0, txt.lastIndexOf("}")) + " updateMenu()\n}"; eval(t); } } function exists(value) { return value != null && value !== undefined; } function addItem(label, id, element) { var itemElement = document.getElementById(id); if(exists(itemElement) && exists(label) && exists(id)) { elements[elements.length] = itemElement; createHrefTr(label, id, element); } } function addItems(items, element) { if(exists(items)) { for(var i = 0; i < items.length; i++) { addItem(items[i].label, items[i].id, element); } } } function updateMenu() { var sticky = document.getElementsByClassName("sticky")[0]; var menuToggle = document.getElementById("menu-toggle"); var siteHeaderMenu = document.getElementById("site-header-menu"); var destination; var value = myGetComputedStyle(menuToggle, "display"); var height; var position; var background; var menuTop; var overflow; var menuContentTop; var width; var windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; if(value == "none") { destination = document.getElementsByClassName(exists(uvod) ? "textwidget custom-html-widget" : "widget phpeverywherewidget")[0]; sticky.removeAttribute("style"); height = ""; position = "static"; background = ""; menuTop = ""; overflow = "visible"; menuContentTop = ""; width = ""; } else { var page = document.getElementById("page"); destination = document.getElementById("site-header-menu"); var pageTop = page.offsetTop; menuToggle.style.right = pageTop + "px"; menuToggle.style.zIndex = "10"; var menuHeght = menuToggle.offsetHeight; siteHeaderMenu.style.right = pageTop + "px"; siteHeaderMenu.style.zIndex = "10"; sticky.style.display = "block"; menuContentTop = (pageTop == 0 ? 14 : 0); height = (windowHeight - 2*pageTop - menuHeght - menuContentTop) + "px"; position = "fixed"; background = "white"; menuTop = menuHeght + "px"; overflow = "auto"; width = (page.innerWidth || page.clientWidth) + "px"; menuContentTop = (-menuContentTop) + "px"; } menuToggle.style.position = position; siteHeaderMenu.style.position = position; siteHeaderMenu.style.height = height; siteHeaderMenu.style.background = background; siteHeaderMenu.style.top = menuTop; siteHeaderMenu.style.overflow = overflow; siteHeaderMenu.style.width = width; if(exists(destination)) { destination.appendChild(sticky); } menuToggle.style.top = menuContentTop; updateContent(); } function updateContent() { var currentValue = getCurrent(); if (currentValue > startTop && myGetComputedStyle(document.getElementById("menu-toggle"), "display") == "none") { sticky.style.position = 'fixed'; sticky.style.top = '0px'; sticky.style.width = document.getElementById("secondary").clientWidth + "px"; } else { sticky.style.position = 'static'; sticky.style.top = ''; sticky.style.width = ""; } } function getCurrent() { return document.documentElement.scrollTop || window.pageYOffset || window.scrollY; } function createHrefTr(text, url, table) { var tr = document.createElement("tr"); var td1 = document.createElement("td"); var td2 = document.createElement("td"); td1.setAttribute("class", "td1"); td1.appendChild(document.createTextNode("►")); tr.appendChild(td1); navElms[navElms.length] = td1; var a = document.createElement("a"); a.setAttribute("href", "#" + url); a.appendChild(document.createTextNode(text)); td2.appendChild(a); tr.appendChild(td2); navElms[navElms.length] = td2; table.appendChild(tr); } function myGetComputedStyle(element, property) { var value = null; value = eval("getComputedStyle(element, null)." + property + ";"); return value; } function myClose(element) { var parent = element.parentNode.parentNode; setCookie("warning", "OFF", 7); parent.parentNode.removeChild(parent); } function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires="+ d.toUTCString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; }