var TB_contentDiv = null; var TB_ItemsAtRight = false; var TB_MenuSrc = 'window'; var TB_Menus = new Array(); function TB_Menu(oItemArray, oParentItem, sParentItem ,iLevel){ var m = document.createElement("DIV"); // get ID m.prefix = "TB"; m.id = (oParentItem == null) ? m.prefix : m.prefix + sParentItem; // "TB" + "_0_1" m.className = (oParentItem == null) ? "TB_MenuRoot" : "TB_Menu"; m.parentItem = (oParentItem == null) ? null : oParentItem; m.isActive = (oParentItem == null) ? true : false; m.activeItem = null; if (oParentItem == null){ var mTABLE = document.createElement("TABLE"); mTABLE.setAttribute("align", "left"); mTABLE.setAttribute("border", "0"); mTABLE.setAttribute("cellPadding", "0"); mTABLE.setAttribute("cellSpacing", "0"); var mTBODY = document.createElement("TBODY"); var mTR = document.createElement("TR"); for (var i = 0; i < oItemArray.length; i++){ var mTD = document.createElement("TD"); mTD.appendChild(new TB_Item(oItemArray[i] /*oItemPropertiesArray*/, m /*oParentMenu*/, i/*iParentMenu*/, iLevel/*iLevel*/)); mTR.appendChild(mTD); } mTBODY.appendChild(mTR); mTABLE.appendChild(mTBODY); m.appendChild(mTABLE); }else{ for (var i = 0; i < oItemArray.length; i++){ m.appendChild(new TB_Item(oItemArray[i] /*oItemPropertiesArray*/, m /*oParentMenu*/, i/*iParentMenu*/, iLevel/*iLevel*/)); } } m.style.zIndex = 50 - TB_Menus.length; // DO IT SMARTER! TB_Menus[TB_Menus.length] = m; return m; } function TB_Item(oItemPropertiesArray, oParentMenu, iParentMenu, iLevel){ var mi = document.createElement("DIV"); mi.level = iLevel; // isHeader mi.style.width = "78"; mi.parentMenu = oParentMenu; mi.isSeperator = false; // get ID var prefix = (arguments[4]) ? "TB_R_I" : "TB_I"; var postfix = mi.parentMenu.id.replace(eval("/" + mi.parentMenu.prefix + "/"), "") + "_" + iParentMenu; // "TB" + "_" + "0_1" + "_" + 0 mi.id = prefix + postfix; if ((oItemPropertiesArray[1].toUpperCase() == "NONE")){ mi.className = "TB_ItemDisabled"; }else { mi.className = (mi.id == 'TB_I_0') ? "TB_HeaderLow" : "TB_HeaderHigh"; } //alert(iLevel + ": " + mi.parentMenu.prefix + "|" + postfix + " : " + mi.id); if (oItemPropertiesArray[0].toUpperCase() == "SEPERATOR") { mi.innerHTML = '
'; mi.isSeperator = true; } else if (oItemPropertiesArray[2] == 1) { if (mi.level != 0) { mi.innerHTML = oItemPropertiesArray[0] + '4'; } else { mi.innerHTML = oItemPropertiesArray[0]; } } else { mi.innerHTML = oItemPropertiesArray[0]; } mi.link = (oItemPropertiesArray[1] == "" || oItemPropertiesArray[1].toUpperCase() == "NONE") ? null : oItemPropertiesArray[1]; if (oItemPropertiesArray[2] == 0) { mi.menu = null; } else if (oItemPropertiesArray[2] == 1) { var sItemArray = (arguments[4]) ? mi.parentMenu.id + "_R_" + iParentMenu : mi.parentMenu.id + "_" + iParentMenu; var oItemArray = eval(TB_MenuSrc + "." + sItemArray); if (oItemArray) mi.menu = new TB_Menu(oItemArray, mi, postfix, ++iLevel) else{ alert("Error: Menu'" + sItemArray + "' not defined"); return; } } // start: Event Handlers mi.onselectstart = function(){return false;} mi.onclick = function(){ for(i=0; i<6; i++) { TB_HighHeader(document.getElementById("TB_I_" + i)); } TB_LowHeader(mi); TB_ExecLink(mi); } // end: Event Handlers return mi; } function TB_Deactivate(oItem){ if (oItem.menu && oItem.menu.isActive && oItem.menu.activeItem) TB_Deactivate(oItem.menu.activeItem); if (oItem.menu && oItem.menu.isActive){ oItem.menu.isActive = false; oItem.menu.style.visibility = "hidden"; } oItem.parentMenu.activeItem = null; (oItem.level == 0) ? TB_FlatHeader(oItem) : TB_FlatItem(oItem); return; } function TB_Activate(oItem){ if (oItem.menu){ oItem.menu.isActive = true; /* if (oItem.level == 0 && document.getElementById(TB_contentDiv)){ document.getElementById(TB_contentDiv).style.visibility = "hidden"; //document.getElementById(TB_contentDiv).style.display = "none"; } */ if (oItem.level == 0){ //tglDivVisibility(); } var y = (oItem.level == 0) ? getPageOffsetTop(oItem) + oItem.offsetHeight + 2 : getPageOffsetTop(oItem); oItem.menu.style.top = y + "px"; var x = (oItem.level == 0) ? getPageOffsetLeft(oItem) + 1 : getPageOffsetLeft(oItem) + oItem.offsetWidth - 4; oItem.menu.style.width = ((oItem.level == 0) ? Math.max(oItem.menu.offsetWidth, oItem.offsetWidth) : oItem.menu.offsetWidth) + "px"; if ((x + parseInt(oItem.menu.style.width) > document.body.clientWidth) && oItem.level == 0) x = getPageOffsetLeft(oItem) + oItem.offsetWidth - parseInt(oItem.menu.style.width); oItem.menu.style.left = x + "px"; oItem.menu.style.visibility = "visible"; } oItem.parentMenu.activeItem = oItem; (oItem.level == 0) ? TB_LowHeader(oItem) : TB_HighItem(oItem); return; } function TB_ExecLink(oItem){ if (oItem.link && oItem.link != ""){ //alert(oItem.link); if (oItem.link.toUpperCase().indexOf("JAVASCRIPT:") != -1){ eval(oItem.link.replace(/^JAVASCRIPT:/, "")); }else { document.getElementById("frmTable").src = oItem.link; //document.location.href = oItem.link; } }else return false; } function TB_HighHeader(oItem){ oItem.className = "TB_HeaderHigh"; } function TB_LowHeader(oItem){ oItem.className = "TB_HeaderLow"; } function TB_FlatHeader(oItem){ oItem.className = "TB_HeaderFlat"; } function TB_HighItem(oItem){ oItem.className = "TB_ItemHigh"; } function TB_FlatItem(oItem){ oItem.className = "TB_ItemFlat"; } function getPageOffsetLeft(obj) { return obj.offsetLeft + (obj.offsetParent ? getPageOffsetLeft(obj.offsetParent) : 0); } function getPageOffsetTop(obj) { return obj.offsetTop + (obj.offsetParent ? getPageOffsetTop(obj.offsetParent) : 0); } function TB_handleMousedown(){ if (window.TB_MenuBar && TB_MenuBar.activeItem && (event.srcElement.className.indexOf("TB") == -1 || event.srcElement.className == "TB_MenuRoot") && (parseInt(event.x) < parseInt(document.body.clientWidth) && // mouse pointer not on scroll bars parseInt(event.y) < parseInt(document.body.clientHeight))) TB_Deactivate(TB_MenuBar.activeItem); } document.attachEvent('onmousedown', TB_handleMousedown); function TB_Resize(){ if (window.menubarHolder) { document.getElementById("tabbarHolder").style.width = Math.max(parseInt(document.body.clientWidth) - (((arguments.length > 0) && (typeof(arguments[0]) == 'number')) ? arguments[0] : 0), 500)+ 'px'; } } window.attachEvent('onresize', TB_Resize); function TB_windowOpen(sLink) { var sUniqueString = new Date(); sUniqueString = sUniqueString.toString().replace(/\s+|:|\+/g, ""); var oWin = window.open(sLink, sUniqueString, 'toolbar=0,menubar=0,resizable=1,scrollbars=1,height=530,width=750,left=10, top=10'); oWin = null; }