var StyleStr = ""; var ToolBar_Supported = false; var Frame_Supported = false; var DoInstrumentation = false; var HTMLStr = ""; //alert(navigator.userAgent); if (navigator.userAgent.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Windows") != -1 && navigator.appVersion.substring(0,1) > 3) { ToolBar_Supported = true; StyleStr = ""; } if (ToolBar_Supported) { var newLineChar = String.fromCharCode(10); var char34 = String.fromCharCode(34); var LockRIMenu = false; var LockICPMenu = false; var LastRIMenu = ""; var CurICPMenu = ""; var IsRIMenu = false; var IsMenuDropDown = true; var HTMLStr; var x = 0; var y = 0; var x2 = 0; var y2 = 0; var RIMenuWidth; var ToolbarMinWidth; var ToolbarMenu; var ToolbarBGColor; var ToolbarLoaded = false; var aDefRIColor = new Array(3); var aDefICPColor = new Array(3); var aCurRIColor = new Array(3); var aCurICPColor = new Array(3); // Output style sheet and toolbar ID document.write(StyleStr); document.write(""); // Build toolbar template HTMLStr = "
" + "
" + "
" + "
" + "
" + "
" + "
" + "
" + "
" + "
" + "
" + "
" + "
" + "
" + "" + "
"; // Define event handlers window.onresize = resizeToolbar; document.onmouseover = hideMenu; // Intialize global variables ToolbarBGColor = "#808080"; // toolbar background color aDefRIColor[1] = aCurRIColor[1] = "blue"; // bgcolor; aDefRIColor[1] = aCurRIColor[1] = "white"; // text font color aDefRIColor[2] = aCurRIColor[2] = "red"; // mouseover font color aDefICPColor[0] = aCurICPColor[0] = "#6699CC"; // bgcolor; aDefICPColor[1] = aCurICPColor[1] = "white"; // text font color aDefICPColor[2] = aCurICPColor[2] = "red"; // mouseover font color } // The hard-coded numbers in functions - drawToolbar() & resizeToolbar() // correspond to the dimension of the four gif files: // ICP_BANNER: 60h x 250w // ADS_BANNER: 40h x 200w // RIC_BANNER: 40h x 112w // Curve: 20h x 18w function drawToolbar() { HTMLStr += "
"; document.write(HTMLStr); ToolbarLoaded = true; RIMenuWidth = Math.max(idRIMenuPane.offsetWidth, (200+112)); ToolbarMinWidth = (250+18) + RIMenuWidth; idToolbar.style.backgroundColor = ToolbarBGColor; idRIMenuPane.style.backgroundColor = aDefRIColor[0]; idICPMenuPane.style.backgroundColor = aDefICPColor[0]; resizeToolbar(); } function resizeToolbar() { if (ToolBar_Supported == false) return; w = Math.max(ToolbarMinWidth, document.body.clientWidth) - ToolbarMinWidth; idRIMenuCurve.style.left = (50+w); idRIMenuPane.style.left = (50+w+18); idRIMenuPane.style.width = RIMenuWidth; idADSBanner.style.left = (w+18); idRICBanner.style.left = (w+0+0); idRICBanner.style.width = (RIMenuWidth - 200); idICPMenuPane.style.width = ToolbarMinWidth + w; } function setToolbarBGColor(color) { ToolbarBGColor = color; if (ToolbarLoaded == true) idToolbar.style.backgroundColor = ToolbarBGColor; } function setDefaultRIMenuColor(bgColor, fontColor, mouseoverColor) { if (bgColor != "") aDefRIColor[0] = bgColor; if (fontColor != "") aDefRIColor[1] = fontColor; if (mouseoverColor != "") aDefRIColor[2] = mouseoverColor; } function setDefaultICPMenuColor(bgColor, fontColor, mouseoverColor) { if (bgColor != "") aDefICPColor[0] = bgColor; if (fontColor != "") aDefICPColor[1] = fontColor; if (mouseoverColor != "") aDefICPColor[2] = mouseoverColor; } function setICPMenuColor(MenuIDStr, bgColor, fontColor, mouseoverColor) { if (ToolbarLoaded == false) return; // Reset previous ICP Menu color if any if (CurICPMenu != "") { PrevID = CurICPMenu.substring(4); CurICPMenu = ""; setICPMenuColor(PrevID, aDefICPColor[0], aDefICPColor[1], aDefICPColor[2]); } var id = "AM_" + "OBS_" + MenuIDStr; var thisMenu = document.all(id); if (thisMenu != null) { CurICPMenu = "OBS_" + MenuIDStr; aCurICPColor[0] = bgColor; aCurICPColor[1] = fontColor; aCurICPColor[2] = mouseoverColor; // Change menu color if (bgColor != "") thisMenu.style.backgroundColor = bgColor; if (fontColor != "") thisMenu.style.color = fontColor; // Change subMenu color id = "OBS_" + MenuIDStr; thisMenu = document.all(id); if (thisMenu != null) { if (bgColor != "") thisMenu.style.backgroundColor = bgColor; if (fontColor != "") { i = 0; id = "AS_" + "OBS_" + MenuIDStr; thisMenu = document.all.item(id,i); while (thisMenu != null) { thisMenu.style.color = fontColor; i += 1; thisMenu = document.all.item(id,i); } } } } } /**** Banner functions **** ****/ function setAds(Gif,Url,AltStr) { setBanner(Gif,Url,AltStr,"",""); } function setICPBanner(Gif,Url,AltStr) { setBanner(Gif,Url,AltStr,"",""); } function setRIBanner(Gif,Url,AltStr) { tempGif = "" + Gif; setBanner(tempGif,Url,AltStr,"",""); } function setBanner(BanGif, BanUrl, BanAltStr, BanBegTag, BanEndTag) { begPos = HTMLStr.indexOf(BanBegTag); endPos = HTMLStr.indexOf(BanEndTag) + BanEndTag.length; SubStr = HTMLStr.substring(begPos, endPos); SrcStr = ""; if (BanUrl != "") SrcStr += ""; SrcStr += "" + BanAltStr + ""; if (BanUrl != "") SrcStr += ""; SrcStr = BanBegTag + SrcStr + BanEndTag; HTMLStr = HTMLStr.replace(SubStr, SrcStr); } /**** Add Menu Function *** ****/ function addICPMenu(MenuIDStr, MenuDisplayStr, MenuHelpStr, MenuURLStr) { if (LockICPMenu == true) return; if (addICPMenu.arguments.length > 4) TargetStr = addICPMenu.arguments[4]; else TargetStr = "_top"; tempID = "OBS_" + MenuIDStr; addMenu(tempID, MenuDisplayStr, MenuHelpStr, MenuURLStr, TargetStr, true); } function addRIMenu(MenuIDStr, MenuDisplayStr, MenuHelpStr, MenuURLStr) { if (LockICPMenu == true) return; TargetStr = "_top"; tempID = "RI_" + MenuIDStr; addMenu(tempID, MenuDisplayStr, MenuHelpStr, MenuURLStr, TargetStr, false); LastRIMenu = tempID; } function addMenu(MenuIDStr, MenuDisplayStr, MenuHelpStr, MenuURLStr, TargetStr, bICPMenu) { cStyle = bICPMenu? "ICPMenu" : "RIMenu"; cColor0 = bICPMenu? aDefICPColor[0] : aDefRIColor[0]; cColor1 = bICPMenu? aDefICPColor[1] : aDefRIColor[1]; cColor2 = bICPMenu? aDefICPColor[2] : aDefRIColor[2]; tagStr = bICPMenu? "" : ""; MenuStr = newLineChar; if (bICPMenu == false && LastRIMenu != "") MenuStr += ""; MenuStr += "" + " " + MenuDisplayStr + " "; if (bICPMenu) MenuStr += " |"; MenuStr += tagStr; HTMLStr = HTMLStr.replace(tagStr, MenuStr); } /**** Add SubMenu Function **** ****/ function addICPSubMenu(MenuIDStr, SubMenuStr, SubMenuURLStr) { if (addICPSubMenu.arguments.length > 3) TargetStr = addICPSubMenu.arguments[3]; else TargetStr = "_top"; tempID = "OBS_" + MenuIDStr; addSubMenu(tempID,SubMenuStr,SubMenuURLStr,TargetStr,true); } function addRISubMenu(MenuIDStr, SubMenuStr, SubMenuURLStr) { TargetStr = "_top"; tempID = "RI_" + MenuIDStr; addSubMenu(tempID,SubMenuStr,SubMenuURLStr,TargetStr,false); } function addSubMenu(MenuIDStr, SubMenuStr, SubMenuURLStr, TargetStr, bICPMenu) { cStyle = bICPMenu? "ICPMenu" : "RIMenu"; cColor0 = bICPMenu? aDefICPColor[0] : aDefRIColor[0]; cColor1 = bICPMenu? aDefICPColor[1] : aDefRIColor[1]; cColor2 = bICPMenu? aDefICPColor[2] : aDefRIColor[2]; var MenuPos = MenuIDStr.toUpperCase().indexOf("MENU"); if (MenuPos == -1) { MenuPos = MenuIDStr.length; } InstrumentStr = MenuIDStr.substring(0 , MenuPos) + " | " + SubMenuStr;; URLStr = formatURL(SubMenuURLStr, InstrumentStr); var LookUpTag = ""; var sPos = HTMLStr.indexOf(LookUpTag); if (sPos <= 0) { HTMLStr += newLineChar + newLineChar + ""; } else { TempStr = newLineChar + "" + " " + SubMenuStr + "
" + LookUpTag; HTMLStr = HTMLStr.replace(LookUpTag, TempStr); } } /**** Add SubMenuLine Functions **** ****/ function addICPSubMenuLine(MenuIDStr) { tempID = "OBS_" + MenuIDStr; addSubMenuLine(tempID,true); } function addRISubMenuLine(MenuIDStr) { tempID = "RI_" + MenuIDStr; addSubMenuLine(tempID,false); } function addSubMenuLine(MenuIDStr, bICPMenu) { var LookUpTag = ""; var sPos = HTMLStr.indexOf(LookUpTag); if (sPos > 0) { cColor = bICPMenu? aDefICPColor[1] : aDefRIColor[1]; TempStr = newLineChar + "
" + LookUpTag; HTMLStr = HTMLStr.replace(LookUpTag, TempStr); } } /**** Event Functions **** ****/ // Change menu mouseover / mouseout color function mouseMenu(id, MenuIDStr) { IsRIMenu = (MenuIDStr.toUpperCase().indexOf("RI_") != -1); IsMouseout = (id.toUpperCase().indexOf("OUT") != -1); if (IsMouseout) { color = IsRIMenu? aDefRIColor[1] : aDefICPColor[1]; if (MenuIDStr == CurICPMenu && aCurICPColor[1] != "") color = aCurICPColor[1]; } else { color = IsRIMenu? aDefRIColor[2] : aDefICPColor[2]; if (MenuIDStr == CurICPMenu && aCurICPColor[2] != "") color = aCurICPColor[2]; } window.event.srcElement.style.color = color; } function doMenu(MenuIDStr) { var thisMenu = document.all(MenuIDStr); if (ToolbarMenu == null || thisMenu == null || thisMenu == ToolbarMenu) { window.event.cancelBubble = true; return false; } // Reset dropdown menu window.event.cancelBubble = true; ToolbarMenu.style.display = "none"; showElement("SELECT"); showElement("OBJECT"); ToolbarMenu = thisMenu; IsRIMenu = (MenuIDStr.toUpperCase().indexOf("RI_") != -1); // Set dropdown menu display position x = window.event.srcElement.offsetLeft + window.event.srcElement.offsetParent.offsetLeft; if (MenuIDStr == LastRIMenu) { x += (window.event.srcElement.offsetWidth - 200); x2 = x + 200; } else { x2 = x + window.event.srcElement.offsetWidth; } y = (IsRIMenu)? (idRow1.offsetHeight) : (idRow1.offsetHeight + idRow2.offsetHeight + idRow3.offsetHeight); thisMenu.style.top = y; thisMenu.style.left = x; thisMenu.style.clip = "rect(0 0 0 0)"; thisMenu.style.display = "block"; // delay 2 millsecond to allow the value of ToolbarMenu.offsetHeight be set window.setTimeout("showMenu()", 2); return true; } function showMenu() { if (ToolbarMenu != null) { IsMenuDropDown = (Frame_Supported && IsRIMenu == false)? false : true; if (IsMenuDropDown == false) { y = (y - ToolbarMenu.offsetHeight - idRow3.offsetHeight); if (y < 0) y = 0; ToolbarMenu.style.top = y; } y2 = y + ToolbarMenu.offsetHeight; ToolbarMenu.style.clip = "rect(auto auto auto auto)"; hideElement("SELECT"); hideElement("OBJECT"); } } function hideMenu() { if (ToolbarMenu != null && ToolbarMenu != StartMenu) { // Don't hide the menu if the mouse move between the menu and submenus cY = event.clientY + document.body.scrollTop; if ( (event.clientX >= x && event.clientX <= x2 && event.clientX != (x+1)) && ((IsMenuDropDown == true && cY > (y-10) && cY <= y2) || (IsMenuDropDown == false && cY >= y && cY <= (y2+10)) )) { window.event.cancelBubble = true; return; } ToolbarMenu.style.display = "none"; ToolbarMenu = StartMenu; window.event.cancelBubble = true; showElement("SELECT"); showElement("OBJECT"); } } function keepMenu() { window.event.cancelBubble = true; } function hideElement(elmID) { // Hide any element that overlaps with the dropdown menu for (i = 0; i < document.all.tags(elmID).length; i++) { obj = document.all.tags(elmID)[i]; // Find the element's offsetTop and offsetLeft relative to the BODY tag. objLeft = obj.offsetLeft; objTop = obj.offsetTop; objParent = obj.offsetParent; while (objParent.tagName.toUpperCase() != "BODY") { objLeft += objParent.offsetLeft; objTop += objParent.offsetTop; objParent = objParent.offsetParent; } // Adjust the element's offsetTop relative to the dropdown menu objTop = objTop - y; if (x > (objLeft + obj.offsetWidth) || objLeft > (x + ToolbarMenu.offsetWidth)) ; else if (objTop > ToolbarMenu.offsetHeight) ; else if (IsRIMenu && (y + ToolbarMenu.offsetHeight) <= 80) ; else { obj.style.visibility = "hidden"; } } } function showElement(elmID) { // Display any element that was hiddend for (i = 0; i < document.all.tags(elmID).length; i++) document.all.tags(elmID)[i].style.visibility = ""; } function formatURL(URLStr, InstrumentStr) { var tempStr = URLStr; if (DoInstrumentation && URLStr != "" ) { var ParamPos1 = URLStr.indexOf("?"); var ParamPos2 = URLStr.lastIndexOf("?"); var ParamPos3 = URLStr.toLowerCase().indexOf("target="); if (ParamPos1 == -1) tempStr = "?RICANY="; else if (ParamPos1 == ParamPos2 && ParamPos3 == -1) tempStr = "&RICANY="; else if (ParamPos1 == ParamPos2 && ParamPos3 != -1) tempStr = "?RICANY="; else if (ParamPos1 < ParamPos2) tempStr = "&RICANY="; tempStr = URLStr + tempStr + InstrumentStr; } return tempStr; } function Lock(FunctionName ) { var FName = FunctionName.toUpperCase(); if ( FName == "ADDICPMenu" ) { LockICPMenu = true; } else if ( FName == "ADDRIMenu" ) { LockRIMenu = true; } }