// combined config.js and cssjsmenu.js for performance reasons // to save a cache check and an inline script // config.js checkForUpgrade(); function hide_dropdowns(what){ if (window.navigator.userAgent.indexOf('MSIE 6.0') != -1) if (what=="in") { var anchors = document.getElementsByTagName("select"); for (var i=0; i= 0 && rvValue < 1.0)) { var updateMessageShown = ndeReadCookie('upgrade'); if (!updateMessageShown) { ndeCreateCookie('upgrade','1', 90); // check if cookie written. If not, don't redirect if (ndeReadCookie('upgrade')) { document.location = '/upgrade.html'; } } } } function printAlert() { alert('Thanks to the use of a print-media stylesheet, this page is already printer-friendly! Just print the article from a CSS-capable browser to get the print styles on paper.'); } function init() { cssjsmenu('navbar'); cssjsmenu('nde-config'); if (document.getElementById) { var kill = document.getElementById('hoverJS'); kill.disabled = true; } } // csjsmenu.js function elementContains(elmOuter, elmInner) { while (elmInner && elmInner != elmOuter) { elmInner = elmInner.parentNode; } if (elmInner == elmOuter) { return true; } return false; } function getPageXY(elm) { var point = { x: 0, y: 0 }; while (elm) { point.x += elm.offsetLeft; point.y += elm.offsetTop; elm = elm.offsetParent; } return point; } function setPageXY(elm, x, y) { var parentXY = {x: 0, y: 0 }; if (elm.offsetParent) { parentXY = getPageXY(elm.offsetParent); } elm.style.left = (x - parentXY.x) + 'px'; elm.style.top = (y - parentXY.y) + 'px'; } /* ------------------------------------------------------------ */ /* file boundary */ function cssjsmenu(menuid) { var i; var j; var node; var child; var parent; // if the browser doesn't even support // document.getElementById, give up now. if (!document.getElementById) { return true; } // check for downlevel browsers // Opera 6, IE 5/Mac are not supported var version = ''; var offset; offset = navigator.userAgent.indexOf('Opera'); if (offset != -1) { version = parseInt('0' + navigator.userAgent.substr(offset + 6), 10); if (version < 7) { return true; } offset = navigator.userAgent.indexOf('Version/'); version = parseInt('0' + navigator.userAgent.substr(offset + 8), 10); if (version >= 12 && navigator.userAgent.indexOf('Windows') != -1) version = 'Opera12win'; } offset = navigator.userAgent.indexOf('MSIE'); if (offset != -1) { if (navigator.userAgent.indexOf('Mac') != -1) { return true; } } var menudiv = document.getElementById(menuid); // ul var ul = new Array(); for (i = 0; i < menudiv.childNodes.length; i++) { node = menudiv.childNodes[i]; if (node.nodeName.toUpperCase() == 'UL') { ul[ul.length] = node; } } // ul > li var ul_gt_li = new Array(); for (i = 0; i < ul.length; i++) { node = ul[i]; for (j = 0; j < node.childNodes.length; j++) { child = node.childNodes[j]; if (child.nodeName.toUpperCase() == 'LI') { ul_gt_li[ul_gt_li.length] = child; child.style.display = 'inline'; child.style.listStyle = 'none'; if (version != 'Opera12win') child.style.position = 'static'; } } } // ul > li > ul var ul_gt_li_gt_ul = new Array(); for (i = 0; i < ul_gt_li.length; i++) { node = ul_gt_li[i]; for (j = 0; j < node.childNodes.length; j++) { child = node.childNodes[j]; if (child.nodeName.toUpperCase() == 'UL') { ul_gt_li_gt_ul[ul_gt_li_gt_ul.length] = child; child.style.position = 'absolute'; if (version != 'Opera12win') child.style.left = '-13em'; child.style.visibility = 'hidden'; // attach hover to parent li parent = child.parentNode; parent.onmouseover = function (e) { var i; var child; var point; // stop the pure css hover effect this.style.paddingBottom = '0'; for (i = 0; i < this.childNodes.length; i++) { child = this.childNodes[i]; if (child.nodeName.toUpperCase() == 'UL') { point = getPageXY(this); if (version != 'Opera12win') setPageXY(child, point.x, point.y + this.offsetHeight); child.style.visibility = 'visible'; } } return false; }; parent.onmouseout = function (e) { var relatedTarget = null; if (e) { relatedTarget = e.relatedTarget; // work around Gecko Linux only bug where related target is null // when clicking on menu links or when right clicking and moving // into a context menu. if (navigator.product == 'Gecko' && navigator.platform.indexOf('Linux') != -1 && !relatedTarget) { relatedTarget = e.originalTarget; } } else if (window.event) { relatedTarget = window.event.toElement; } if (elementContains(this, relatedTarget)) { return false; } var i; var child; for (i = 0; i < this.childNodes.length; i++) { child = this.childNodes[i]; if (child.nodeName.toUpperCase() == 'UL') { child.style.visibility = 'hidden'; } } return false; }; } } } return true; }