var dontHideSelects = true; /*@cc_on @*/ /*@if (@_jscript_version < 5.7) var dontHideSelects = false; @end @*/ var alignLastRight = false; function initMainNavItem(id, items) { if (document.getElementById) { if (items && items.length > 0) { var item = document.getElementById(id); var dropdown = document.createElement('ul'); if (!item) return; for (var i = 0; i < items.length; i++) { var li = document.createElement('li'); var a = document.createElement('a'); var text = document.createTextNode(items[i].text); a.href = items[i].href; a.onclick = function() { intern = true; }; a.appendChild(text); li.appendChild(a); dropdown.appendChild(li); } item.appendChild(dropdown); } } } var focusedListItem = null; function cssjsmenu(menuid) { if (!document.getElementById) return; var offset = navigator.userAgent.indexOf('Opera'); if (offset != -1 && parseInt('0' + navigator.userAgent.substr(offset + 6), 10) < 7) return; if ( navigator.userAgent.indexOf('MSIE') != -1 && navigator.userAgent.indexOf('Mac') != -1 ) return; var menudiv = document.getElementById(menuid); if (!menudiv) return; menudiv = menudiv.getElementsByTagName("UL")[0]; if (!menudiv) return; menudiv.onmouseover = function (e) { this.className = this.className + " hovered"; }; menudiv.onmouseout = function (e) { this.className = this.className.replace(/ ?hovered/, ""); }; var child = menudiv.firstChild; while (child) { if (child.nodeName == 'LI') { child.onmouseover = function (e) { if (focusedListItem) hideMenu(e, focusedListItem); this.className = this.className + " hovered"; return showMenu(e, this); }; child.onmouseout = function (e) { this.className = this.className.replace(/ ?hovered/, ""); return hideMenu(e, this); }; var a = child.getElementsByTagName("A")[0]; if (a && a.parentNode == child) { a.onfocus = function (e) { if (focusedListItem == this.parentNode) return false; if (focusedListItem) hideMenu(e, focusedListItem); focusedListItem = this.parentNode; return showMenu(e, this.parentNode); }; } } child = child.nextSibling; } return; } function showMenu(e, parent) { var child = parent.getElementsByTagName("UL")[0] if (!child) { return false; } var point = getPageXY(parent); if (alignLastRight && !parent.nextSibling) var x = point.x - child.offsetWidth + parent.offsetWidth; else var x = point.x; var y = point.y + parent.offsetHeight - 1; setPageXY(child, x, y); child.style.visibility = 'visible'; if (!dontHideSelects) hideSelectElements(false, x, y, child.offsetWidth, child.offsetHeight); return false; } function hideMenu(e, parent) { var relatedTarget = null; if (e) { relatedTarget = e.relatedTarget; if (!relatedTarget && navigator.product == 'Gecko' && navigator.platform.indexOf('Linux') != -1) relatedTarget = e.originalTarget; } else if (window.event) { relatedTarget = window.event.toElement; } if (elementContains(parent, relatedTarget)) return false; var child = parent.getElementsByTagName("UL")[0] if (!child) return false; child.style.visibility = 'hidden'; if (!dontHideSelects) hideSelectElements(true); return false; } function elementContains(elmOuter, elmInner) { while (elmInner && elmInner != elmOuter) elmInner = elmInner.parentNode; return (elmInner == elmOuter); } 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'; } var arrayOfSelects = null; function hideSelectElements(visible, menuX, menuY, menuWidth, menuHeight) { if (!document.getElementsByTagName) return; if (!arrayOfSelects) arrayOfSelects = document.getElementsByTagName("SELECT"); if (arrayOfSelects && arrayOfSelects.length) { for (var i = 0; i < arrayOfSelects.length; i++) { if (arrayOfSelects[i] && arrayOfSelects[i].style) { if (!visible) { var selectPos = getPageXY(arrayOfSelects[i]); intersect = ( (menuX < selectPos.x + arrayOfSelects[i].offsetWidth) && (menuY < selectPos.y + arrayOfSelects[i].offsetHeight) && (menuX + menuWidth > selectPos.x) && (menuY + menuHeight > selectPos.y) ); } arrayOfSelects[i].style.visibility = (visible || !intersect ? "visible" : "hidden") } } } }