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 += "
";
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 += "";
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 +
"
" + 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;
}
}