/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Boiler Plate - Master Script FileCopyright ÔøΩ 2002 Javadoa Technologies. All rights reserved.Refer to copyright.htmlfor additional copyright information.Created: 13 Aug 2002Updated:Revision History:0.01	Preliminary version. KA, 13 Aug 2002~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *//* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~WARNINGS:- ALWAYS escape forward slash characters in document.write state-ments (or variables that will be passed to document.write state-ments) with single backslash characters!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Declare variables:var loggedIn;var defaultPageOrientation;var defaultPageType;var isHomePage;var folderDepth;var lastMeaningfulContentChangeDate;var containsExpandOMaticContent;var numberOfSideMenuItems;var sideMenuVPosition;// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Set variables:var offline = true;var showHidden = false;//var printVersion = false;var tableBorders= false;var tableBorderSize = '0';var imageBorders= false;var imageBorderSize = '0';var imageRolloversEnabled = true;// Set a path variable to account for a product's folder depth:var folderDepthPathOffset = '';for (loop01 = 0; loop01 < folderDepth; loop01++) { folderDepthPathOffset += '..\/'; };// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Page initialization:function pageInitialization() {//imageLoad();window.focus();if (HM_IsMenu) HM_f_StartIt();if (printVersion) printPage();};// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Browser and platform detection:/* Much of the browser detection code below is from Netscape Develo-per's Edge, copyright (c) Netscape Communications 1999 (who havekindly granted permission to reuse and distribute). */// Convert all characters to lowercase to simplify testing:var agent = navigator.userAgent.toLowerCase();// Determine browser version:var is_major = parseInt(navigator.appVersion);// NOTE: On IE5, this return 4, so use is_ie5up to detect IE5.var is_minor = parseFloat(navigator.appVersion);//alert(is_major + ':' + is_minor);var is_nav  = ((agent.indexOf('mozilla')!=-1) && (agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1) && (agent.indexOf('opera')== -1) && (agent.indexOf('webtv')==-1));//if (is_nav){alert('Netscape 5');};var is_nav2 = (is_nav && (is_major == 2));var is_nav3 = (is_nav && (is_major == 3));var is_nav4 = (is_nav && (is_major == 4));var is_nav4up = (is_nav && (is_major >= 4));var is_navonly = (is_nav && ((agent.indexOf(";nav") != -1) || (agent.indexOf("; nav") != -1)));var is_nav4r04 = (is_nav && (is_minor == 4.04));var is_nav5 = (is_nav && (is_major == 5));	// This returns true for Netscape 6!//if (is_nav4up){alert('Netscape 4+');};//if (is_nav5){alert('Netscape 5+');};var is_nav6 = is_nav5;var is_nav5up = (is_nav && (is_major >= 5));var is_nav6up = is_nav5up;//if (is_nav6){alert('Netscape 6');};//if (is_nav6up){alert('Netscape 6+');};var is_ie = (agent.indexOf("msie") != -1);var is_ie3 = (is_ie && (is_major < 4));var is_ie4 = (is_ie && (is_major == 4) && (agent.indexOf("msie 5.0")==-1) && (agent.indexOf("msie 5.5")==-1) && (agent.indexOf("msie 6.0")==-1));var is_ie4up = (is_ie  && (is_major >= 4));var is_ie4r5 = (is_ie && (is_major == 4) && (agent.indexOf("msie 4.5")!=-1));var is_ie5 = (is_ie && (is_major == 4) && (agent.indexOf("msie 5.0")!=-1));var is_ie5r5 = (is_ie && (is_major == 4) && (agent.indexOf("msie 5.5")!=-1));var is_ie6 = (is_ie && (is_major == 4) && (agent.indexOf("msie 6.0")!=-1));var is_ie5up = (is_ie  && (is_ie5 || is_ie5r5 || is_ie6));// JavaScript version check (useful to workaround Nav3 bug in which Nav3// loads <script language="javascript1.2">):var is_js;if (is_nav2 || is_ie3) is_js = 1.0;else if (is_nav3) is_js = 1.1;else if ((is_nav4 && (is_minor <= 4.05)) || is_ie4) is_js = 1.2;else if ((is_nav4 && (is_minor > 4.05)) || is_ie5) is_js = 1.3;else if (is_nav5) is_js = 1.4;else if (is_nav && (is_major > 5)) is_js = 1.4;else if (is_ie && (is_major > 5)) is_js = 1.3;// Determine platform:var is_win   = ( (agent.indexOf("win")!=-1) || (agent.indexOf("16bit")!=-1) );var is_win95 = ((agent.indexOf("win95")!=-1) || (agent.indexOf("windows 95")!=-1));// Is this a 16 bit compiled version?var is_win16 = ((agent.indexOf("win16")!=-1) || (agent.indexOf("16bit")!=-1) || (agent.indexOf("windows 3.1")!=-1) || (agent.indexOf("windows 16-bit")!=-1) );var is_win31 = ((agent.indexOf("windows 3.1")!=-1) || (agent.indexOf("win16")!=-1) || (agent.indexOf("windows 16-bit")!=-1));var is_win98 = ((agent.indexOf("win98")!=-1) || (agent.indexOf("windows 98")!=-1));var is_winnt4 = (((agent.indexOf("winnt")!=-1) || (agent.indexOf("windows nt")!=-1)) && (agent.indexOf("windows nt 5.0")==-1));var is_win2000 = (((agent.indexOf("winnt")!=-1) || (agent.indexOf("windows nt")!=-1)) && (agent.indexOf("windows nt 5.0")!=-1));var is_win32 = (is_win95 || is_winnt4 || is_win98 || is_win2000 || ((is_major >= 4) && (navigator.platform == "Win32")) || (agent.indexOf("win32")!=-1) || (agent.indexOf("32bit")!=-1));var is_mac    = (agent.indexOf("mac")!=-1);//if(is_mac){alert("Mac");}var is_mac68k = (is_mac && ((agent.indexOf("68k")!=-1) || (agent.indexOf("68000")!=-1)));var is_macppc = (is_mac && ((agent.indexOf("ppc")!=-1) || (agent.indexOf("powerpc")!=-1)));// Determine if it is a "new" browser, i.e. version 5+:var is_new = (is_ie5up || is_nav5up);// Is this valid browser/platform combo for Expand-O-Matic functionality:var is_v4 = (is_nav4 || is_ie4up) ? 1 : 0;// var is_ExpandOMaticCapableBrowser = ((is_ie4up && !is_mac) || (is_nav5up)) ? 1 : 0;var is_ExpandOMaticCapableBrowser = (is_ie4up || is_nav5up) ? 1 : 0;// if (is_ExpandOMaticCapableBrowser) alert('The browser you are using purports to be\nExpand-O-Matic capable... we\'ll see.');// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Browser and platform warning messages:if (is_nav4r04) { alert('WARNING!\n\nThere are problems with Netscape v4.04 that     \nwill prevent you from using it to browse this site.     \n\nPlease consider upgrading to Netscape v4.5+,     \n(preferably Netscape v6), or try switching to \nanother web browser.     \n\n'); }else if (is_nav4) { /*alert('WARNING!\n\nDue to some of Netscape 4\'s severe limitations,     \nwe regret to admit that there are elements of     \nof this web site that do not display as well as     \nwe would like.     \n\nPlease consider upgrading to Netscape v6,     \nor try switching to another web browser.     \n\n');*/ };// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Parse query string to determine page display modes:function splitSearchStringContent(pageConfigParameterString, text) {pageConfigParameterArray = pageConfigParameterString.split(text);pageConfigParameterIndex = pageConfigParameterArray.length;};var defaultSearchStringContent = '';var searchStringContent = (location.search) ? location.search.substring(1,location.search.length) : defaultSearchStringContent;// alert('searchStringContent = ' + searchStringContent + '\n\nlocation.search = ' + location.search);if (searchStringContent != '') {splitSearchStringContent(searchStringContent, '?');for (loop01 = 0; loop01 < pageConfigParameterArray.length; loop01++) {if (pageConfigParameterArray[loop01] == 'pageOrientation=landscape') { var defaultPageOrientation = 'landscape'; };if (pageConfigParameterArray[loop01] == 'pageOrientation=portrait') { var defaultPageOrientation = 'portrait'; };if (pageConfigParameterArray[loop01] == 'pageType=BPNoSideMenu') { var defaultPageType = 'BPNoSideMenu'; };if (pageConfigParameterArray[loop01] == 'pageType=BPSecondaryWindow') { var defaultPageType = 'BPSecondaryWindow'; };if (pageConfigParameterArray[loop01] == 'tableBorders=on') { var tableBorders = true; var tableBorderSize = '1'; };if (pageConfigParameterArray[loop01] == 'imageBorders=on') { var imageBorders = true; var imageBorderSize = '1'; };if (pageConfigParameterArray[loop01] == 'printVersion=true') { var printVersion = true; };if (pageConfigParameterArray[loop01] == 'showHidden=true') { var showHidden = true; };};};// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Code to write links to browser, platform, and case-specific CSS files:document.write('<link href="' + folderDepthPathOffset + 'bp_page_layout.css" rel="StyleSheet" type="text\/css">');if (is_ie4up) {document.write('<link href="' + folderDepthPathOffset + 'bp_ie.css" rel="StyleSheet" type="text\/css">');if (is_mac) {document.write('<link href="' + folderDepthPathOffset + 'bp_ie_mac.css" rel="StyleSheet" type="text\/css">');if (is_ie4r5) document.write('<link href="' + folderDepthPathOffset + 'bp_ie_v4r5_mac.css" rel="StyleSheet" type="text\/css">');if (is_ie5) document.write('<link href="' + folderDepthPathOffset + 'bp_ie_v5_mac.css" rel="StyleSheet" type="text\/css">');};} else if (is_nav4up) {document.write('<link href="' + folderDepthPathOffset + 'bp_netscape.css" rel="StyleSheet" type="text\/css">');if (is_mac) document.write('<link href="' + folderDepthPathOffset + 'bp_netscape_mac.css" rel="StyleSheet" type="text\/css">');else if (is_nav5up) document.write('<link href="' + folderDepthPathOffset + 'bp_netscape_v6.css" rel="StyleSheet" type="text\/css">');} else {document.write('<link href="' + folderDepthPathOffset + 'bp_ie.css" rel="StyleSheet" type="text\/css">');};if (offline == true) { document.write('<link href="' + folderDepthPathOffset + 'bp_offline.css" rel="StyleSheet" type="text\/css">'); };// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Heirarchical menu code:// Define common menu display characteristics:var heirarchicalMenuPadding = 3;var heirarchicalMenuTextFontFamily = 'Verdana, Helvetica, Arial, sans-serif';var heirarchicalMenuTextSize = 7;if ((is_nav) && (is_mac)) { heirarchicalMenuTextSize = 7; };var heirarchicalMenuTextBold = true;var heirarchicalMenuTextItalic = false;var heirarchicalMenuBorderSize = '1';var heirarchicalMenuBorderStyle = 'solid';var heirarchicalMenuSeparatorColor = '#cccccc';var heirarchicalMenuSeparatorSize = '1';// Define header menu display characteristics:var headerMenuHOffset = 0;var headerMenuVOffset = 156;var headerMenuWidth = 150;var headerMenuBackgroundColor = '#EAEAEA';var headerMenuBackgroundHoverColor = '#FFFFFF';var headerMenuTextColor = '#2B4A45';var headerMenuTextHoverColor = '#007764';var headerMenuBorderColor = '#2B4A45';// Define "PG" menu display characteristics:HM_PG_ItemPadding = heirarchicalMenuPadding;HM_PG_FontFamily = heirarchicalMenuTextFontFamily;HM_PG_FontSize = heirarchicalMenuTextSize;HM_PG_FontBold = heirarchicalMenuTextBold;HM_PG_FontItalic = heirarchicalMenuTextItalic;HM_PG_BorderWidth = heirarchicalMenuBorderSize;HM_PG_SeparatorSize = heirarchicalMenuSeparatorSize;HM_PG_SeparatorColor = heirarchicalMenuSeparatorColor;HM_PG_ImageSrc = folderDepthPathOffset + 'images\/expanding_arrow_collapsed.gif';HM_PG_ImageSrcLeft = folderDepthPathOffset + 'images\/expanding_arrow_collapsed.gif';HM_PG_ImageSize = 11;HM_PG_ImageHorizSpace = 0;HM_PG_ImageVertSpace = 0;HM_PG_KeepHilite = true;HM_PG_ClickStart = 0;HM_PG_ClickKill = false;HM_PG_ChildOverlap = 7;if ((is_ie)) { HM_PG_ChildOverlap = HM_PG_ChildOverlap - 3; };HM_PG_ChildOffset = 2;if (is_nav5up) {HM_PG_ChildOverlap = -323; HM_PG_ChildOffset = 161;}HM_PG_ChildPerCentOver = null;HM_PG_TopSecondsVisible = .5;HM_PG_StatusDisplayBuild = 0;HM_PG_StatusDisplayLink = 0;HM_PG_UponDisplay = null;HM_PG_UponHide = null;HM_PG_RightToLeft = false;HM_PG_ShowLinkCursor = 1;HM_PG_NSFontOver = true;// Initialize heirarchical menu functions:if(window.event + '' == 'undefined') { event = null; };function HM_f_PopUp(){ return false};function HM_f_PopDown(){ return false};popUp = HM_f_PopUp;popDown = HM_f_PopDown;// Browser and DOM variables for the menu scripts:HM_DOM = (document.getElementById) ? true : false;HM_NS4 = (document.layers) ? true : false;HM_IE = (document.all) ? true : false;HM_IE4 = HM_IE && !HM_DOM;HM_Mac = is_mac;HM_IE4M = HM_IE4 && HM_Mac;HM_IsMenu = (HM_DOM || HM_NS4 || (HM_IE4 && !HM_IE4M));HM_BrowserString = HM_NS4 ? 'NS4' : HM_DOM ? 'DOM' : 'IE4';// External menu content array script file links:document.write('<scr' + 'ipt src="' + folderDepthPathOffset + 'bp_header_menu.js" language="javascript1.2" type="text/javascript"><\/scr' + 'ipt>');// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Code for determining monitor setting:var windowInnerWidth = '';var colourDepthInBits = '';var screenWidth = screen.width;var screenHeight = screen.height;if (is_nav) {colourDepthInBits = screen.pixelDepth;windowInnerWidth = window.innerWidth;} else {var colourDepthInBits = screen.colorDepth;var windowInnerWidth = screenWidth;// Hey, why would "windowInnerWidth = document.body.offsetWidth"// cause IE grief? That's SUPPOSED to work! >:~(};// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Internal style sheets (browser, platform, and case-specific internal// style sheet definitions):var internalStyleSheetHTML = '<style type="text\/css"><!-- ';internalStyleSheetHTML += ' span.outdatedBrowserContent, span.textBasedBrowserContent { display: none; } #popupLayer01, #popupLayer02, #popupLayer03, #popupLayer04, #popupLayer05, #popupLayer06, #popupLayer07, #popupLayer08, #popupLayer09, #popupLayer10, #popupLayer11, #popupLayer12, #popupLayer13, #popupLayer14, #popupLayer15, #popupLayer16, #popupLayer17, #popupLayer18, #popupLayer19, #popupLayer20, #toolTipLayer01, #toolTipLayer02, #toolTipLayer03, #toolTipLayer04, #toolTipLayer05, #toolTipLayer06, #toolTipLayer07, #toolTipLayer08, #toolTipLayer09, #toolTipLayer10, #toolTipLayer11, #toolTipLayer12, #toolTipLayer13, #toolTipLayer14, #toolTipLayer15, #toolTipLayer16, #toolTipLayer17, #toolTipLayer18, #toolTipLayer19, #toolTipLayer20 { visibility: hidden; position: absolute; left: 0px; top: 0px; z-index: 100; } ';if ((defaultPageOrientation == 'landscape') || (printVersion)) { internalStyleSheetHTML += ' h1, h2, h3, h4, h5, h6, p, ol, ul, hr.footer { margin-right: 15px; } '; };if ((!is_nav4) && (imageBorders)) { internalStyleSheetHTML += ' img { border: 1px red dotted; } '; };if (is_nav4) { internalStyleSheetHTML += ' table.BPMasterTable { margin-top: 0px; } img.Netscape4Sucks { margin-top: -28px; } p.Netscape4Sucks { margin-top: 10px; } '; };if ((is_ie5) && (is_mac)) { internalStyleSheetHTML += ' img.Netscape4Sucks { margin-top: -28px; } #BPNavBar { top: -18px; }'; };if ((is_nav4) && (!printVersion)) { internalStyleSheetHTML += ' td.BPHeaderTable01 { background-image: url(' + folderDepthPathOffset + '_images\/gui\/top_bar_bg.gif); } td.BPHeaderTable02 { background-image: url(' + folderDepthPathOffset + '_images\/gui\/top_bar_bg.gif); } td.BPMasterTableSide { background-image: url(' + folderDepthPathOffset + '_images\/side\/side_menu_bg.gif);'; };if (fileName == 'copyright.html') { internalStyleSheetHTML += ' a.copyright { color: black; text-decoration: none; } a.copyright:visited { color: black; } '; };if (printVersion) {internalStyleSheetHTML += ' body, ol, p, td, th, ul { background-color: white; color: black; } ';internalStyleSheetHTML += ' table.BPMasterTable, td.BPMasterTableHeader { background-color: white; } ';internalStyleSheetHTML += ' td.BPHeaderTable01 { background-color: transparent; background-image: url(' + folderDepthPathOffset + '_images\/blank\/blank_transparent.gif); } td.BPHeaderTable02 { background-color: transparent; background-image: url(_images\/blank\/blank_transparent.gif); } td.BPMasterTableSide { background-color: transparent; background-image: url(' + folderDepthPathOffset + '_images\/blank\/blank_transparent.gif); } ';};//if ((is_ie4) && (is_mac)) {//   internalStyleSheetHTML += ' span.headerHeirarchicalMenuIE4Mac { background-color: ' + headerMenuBackgroundColor + '; } #HM_Menu1, #HM_Menu2, #HM_Menu3, #HM_Menu4, #HM_Menu5 { position: absolute; visibility: hidden; } span.headerHeirarchicalMenuIE4Mac { width: ' + headerMenuWidth + '; } ';//};internalStyleSheetHTML += ' --><\/style>';document.write(internalStyleSheetHTML);// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Document Object Model code:if (document.all) {var documentObject = 'document.all.';var styleObject = '.style';} else if (document.layers) {var documentObject = 'document.';var styleObject = '';} else if (document.getElementById) {var documentObject = 'document.getElementById.';var styleObject = '.style';};function determineDOM(elementName) {DOMObjectHandler = eval(documentObject + elementName + styleObject);// alert('The DOMObjectHandler variable is set to:\n\n   "' + DOMObjectHandler + '"');};// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Code for embedding content in HTML pages:function writeHTMLContent(HTMLContentString) {// Usage: writeHTMLContent([variable] or ['HTML-marked-up content string'])document.write(HTMLContentString);};// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Code for toggling highlighting on and off:isHighlightingToggled = false;function toggleHighlighting() {if (is_mac) { alert('Sadly, the "toggleHighlighting" function\ndoesn\'t work on the Mac (yet)...'); }else if (is_nav4) { alert('Sadly, the "toggleHighlighting" function\ndoesn\'t work for Netscape (yet)...'); }if (!is_ExpandOMaticCapableBrowser) { return; };spanHighlighting = document.all.tags('span');for (i = 0; i < spanHighlighting.length; i++) {if (spanHighlighting(i).className == 'highlighted') { spanHighlighting(i).style.backgroundColor = (isHighlightingToggled) ? 'yellow' : 'transparent'; };if (spanHighlighting(i).className == 'highlighted02') { spanHighlighting(i).style.backgroundColor = (isHighlightingToggled) ? 'lime' : 'transparent'; };};isHighlightingToggled = !isHighlightingToggled;};// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Function for handling window resizing for Netscape 4 (not yet// implemented):function pageResizeHandler(init) {// Reloads the page if a Netscape v4 window is resized...if (init == true) with (navigator) {if (is_nav4) {// Do something...};} else if (innerWidth != document.pageWidth || innerHeight != document.pageHeight) {// Do something else...};};// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Code for printing a page:function printPage() {ExpandOMaticInitialization();if (containsExpandOMaticContent) { expandAll(); };if (!is_mac) {if (is_ie4) {alert('Press Ctrl+P to open the Print dialog box...');} else if (is_nav4 && ((is_win95) || (is_win98))) {alert('WARNING!\n\nPrinting this page from Netscape v4.x running    \non Windows 95/98 is a really BAD idea (unless\nyou get your paper for free, that is). And don\'t\nlet the print preview fool you!\n\nYou could disable JavaScript (Edit menu \>\nPreferences \> Advanced \> Enable JavaScript\ncheck-box) and then print the page; it\'s not as\nattractive, but at least that way it won\'t take\n20+ pages to print.  :- \(');} else { window.print(); }};};// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Code for creating secondary windows:function createSecondaryWindowSimple(secondaryWindowFileName, secondaryWindowWidth, secondaryWindowHeight) {// Usage: createSecondaryWindowSimple('filename.htm', X, Y)  ...where X = the window width in pixels, and Y = the window height in pixels.var secondaryWindowName = 'bp_secondary_window';var secondaryWindowConfig = 'width=' + secondaryWindowWidth + ',height=' + secondaryWindowHeight + ',toolbar=no,menubar=no,location=no,directories=no,status=no,scrollbars=no,resizable=no';secondaryWindow = window.open(secondaryWindowFileName, secondaryWindowName, secondaryWindowConfig);secondaryWindow.focus();if (!secondaryWindow.opener) { secondaryWindow.opener = self; };return false;};function createSecondaryWindowAdvanced(secondaryWindowFileName, secondaryWindowName, secondaryWindowWidth, secondaryWindowHeight, secondaryWindowParameters) {// Usage: createSecondaryWindowAdvanced('filename.htm', 'bp_secondary_window', X, Y, '[left=x],[top=y],[directories=yes|directories=no],[location=yes|location=no],[menubar=yes|menubar=no],[resizable=no|resizable=no],[scrollbars=yes|scrollbars=no],[status=yes|status=no],[toolbar=yes|toolbar=no]')  ...where X = the window width in pixels, and Y = the window height in pixels.var secondaryWindowConfig = 'width=' + secondaryWindowWidth + ',height=' + secondaryWindowHeight + ',' + secondaryWindowParameters;secondaryWindow = window.open(secondaryWindowFileName, secondaryWindowName, secondaryWindowConfig);secondaryWindow.focus();if (!secondaryWindow.opener) { secondaryWindow.opener = self; };return false;};function supressError() { return true; };function secondaryWindowLink(url) {// Usage: secondaryWindowLink('filename.htm')window.onerror = supressError;opener.location.href = url;// Uncomment the following line if you want the secondary window to close when you jump back to the main window:// setTimeout('self.close()',500);};function printSecondaryWindow() {printPage();};// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Code for trapping mouse position on-screen:var evt;var topVal;var leftVal;function trapMousePosition (evt, yOffset, xOffset) {if (is_nav) {topVal = eval(evt.pageY + yOffset); 	// alert(topVal);leftVal = eval(evt.pageX + xOffset); 	// alert(leftVal);};if (is_ie4up) {topVal = eval(event.y + yOffset); 	// alert('topVal = ' + topVal);leftVal = eval(event.x + xOffset); 	// alert('leftVal = ' + leftVal);};if (((is_ie4r5) && (is_mac)) || (is_ie5up)) {topVal = eval(event.y + document.body.scrollTop + yOffset);};// alert(topVal + ', ' + leftVal);return;};// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Code for creating popups:function displayPopupOrToolTipLayer(evt, currentElement) {//alert('currentElement = ' + currentElement + '\n\nevt = ' + evt);if ((is_nav4up && currentElement != 0) || (is_ie4up && currentElement != 0)) {var yDirectionPixelOffset = 15;var xDirectionPixelOffset = -145;if ((is_ie4r5) && (is_mac)) {// var yDirectionPixelOffset = -50;// var xDirectionPixelOffset = -340;};if ((is_nav5) && (currentElement != 0)) {state = document.getElementById(currentElement).style.visibility;} else if ((is_nav4 || is_ie4up) && (currentElement != 0)) {determineDOM(currentElement);state = DOMObjectHandler.visibility;};if (state == 'visible' || state == 'show') {if (is_nav5up) {document.getElementById(currentElement).style.visibility = 'hidden';} else {DOMObjectHandler.visibility = 'hidden';};} else {trapMousePosition (evt, yDirectionPixelOffset, xDirectionPixelOffset);if (leftVal < 2) { leftVal = 2; };var popupAndTooTipLayerWidth = 320;var scrollBarOffset = 25;if (leftVal > ((windowInnerWidth - popupAndTooTipLayerWidth) - 10)) { leftVal = ((windowInnerWidth - popupAndTooTipLayerWidth) - scrollBarOffset); };if ((is_nav5up) && (currentElement != 0)) {document.getElementById(currentElement).style.top = topVal;document.getElementById(currentElement).style.left = leftVal;document.getElementById(currentElement).style.visibility = 'visible';} else if ((is_nav4 || is_ie4up) && (currentElement != 0)) {DOMObjectHandler.top = topVal;DOMObjectHandler.left = leftVal;DOMObjectHandler.visibility = 'visible';};};};return false;};// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Code for hiding/displaying layers (note that in this version, the// 1st toggle works for Netscape, but not IE):var displayState = '';function changeElementVisibility(currentElement, changedState) {if (is_nav5) {displayState = document.getElementById(currentElement).style.visibility;if ((changedState == 'toggle') && (displayState == '')) {// alert('Toggle unknown state... assume it is currently visible.');document.getElementById(currentElement).style.visibility = 'hidden';} else if ((changedState == 'toggle') && (displayState != '')) {if (displayState == 'visible') {document.getElementById(currentElement).style.visibility = 'hidden';} else if (displayState == 'hidden') {document.getElementById(currentElement).style.visibility = 'visible';} else {alert('Huh?!? How come the displayState = "' + displayState + '"');};};if (changedState == ('show')) { document.getElementById(currentElement).style.visibility = 'visible'; };if (changedState == ('hide')) { document.getElementById(currentElement).style.visibility = 'hidden'; };displayState = document.getElementById(currentElement).style.visibility;// alert('displayState = ' + displayState);} else if ((is_nav4 || is_ie4up) && (currentElement != 0)) {determineDOM(currentElement);displayState = DOMObjectHandler.visibility;// alert('displayState = ' + displayState);if ((changedState == 'toggle') && (displayState == ('' || 'inherit' || undefined))) {if ((displayState == 'visible') || (displayState == 'show')) { DOMObjectHandler.visibility = 'visible'; }else { DOMObjectHandler.visibility = 'hidden'; };} else if ((changedState == 'toggle') && (displayState != ('' || 'inherit' || 'undefined'))) {if ((displayState == 'visible') || (displayState == 'show')) { DOMObjectHandler.visibility = 'hidden'; }else { DOMObjectHandler.visibility = 'visible'; };};if (changedState == ('show')) { DOMObjectHandler.visibility = 'visible'; };if (changedState == ('hide')) { DOMObjectHandler.visibility = 'hidden'; };};};// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Expand-O-Matic code:var isExpanded = false;function populateArrayOfExpandOMaticContent() {if (is_ie) ExpandOMaticDivArray = document.all.tags('div');else if (is_nav5up) ExpandOMaticDivArray = document.getElementsByTagName('div');// alert('ExpandOMaticDivArray = ' + ExpandOMaticDivArray + '\n\nExpandOMaticDivArray.length = ' + ExpandOMaticDivArray.length);return;	// return ExpandOMaticDivArray;};function getIndex(item) {if (!is_ExpandOMaticCapableBrowser); { return; };ind = null;populateArrayOfExpandOMaticContent();for (i = 0; i < ExpandOMaticDivArray.length; i++) {topicItem = ExpandOMaticDivArray(i);if (topicItem.id == item) {ind = i;break;};};return ind;	// NOTE: This line gives Netscape 4.04 grief...// ...an insurmountable amount of grief, as it turns out!};function ExpandOMaticInitialization() {if (!is_ExpandOMaticCapableBrowser) { return; };populateArrayOfExpandOMaticContent();for (i = 0; i < ExpandOMaticDivArray.length; i++) {if (ExpandOMaticDivArray(i).className == 'ExpandOMaticContent') {containsExpandOMaticContent = true;ExpandOMaticDivArray(i).style.display = 'none';};};// return;};function expandIt(item) {if (!is_ExpandOMaticCapableBrowser) { return; };// i = getIndex(item);i = item;populateArrayOfExpandOMaticContent();// alert('ExpandOMaticDivArray(i).className = ' + ExpandOMaticDivArray(i).className);whichIm = event.srcElement;if (ExpandOMaticDivArray(i).className == 'ExpandOMaticContent') {if ((ExpandOMaticDivArray(i).style.display == 'none') || (ExpandOMaticDivArray(i).style.display == '')) {ExpandOMaticDivArray(i).style.display = 'block';whichIm.src = folderDepthPathOffset + '_images\/gui\/expanding_arrow_expanded.gif';} else {ExpandOMaticDivArray(i).style.display = 'none';whichIm.src = folderDepthPathOffset + '_images\/gui\/expanding_arrow_collapsed.gif';};};};function expandAll() {if (!is_ExpandOMaticCapableBrowser) return;newSrc = (isExpanded) ? (folderDepthPathOffset + '_images\/gui\/expanding_arrow_collapsed.gif') : (folderDepthPathOffset + '_images\/gui\/expanding_arrow_expanded.gif');populateArrayOfExpandOMaticContent();for (i = 0; i < ExpandOMaticDivArray.length; i++) {if (ExpandOMaticDivArray(i).className == 'ExpandOMaticContent') {ExpandOMaticDivArray(i).style.display = (isExpanded) ? 'none' : 'block';};};imColl = document.images.item('imEx');for (i = 0; i < imColl.length; i++) {imColl(i).src = newSrc;};isExpanded = !isExpanded;};// onLoad = expandOMaticInitialization();// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Write links to page elements and rollover script files://function startRenderingPage() { };//function endRenderingPage() { };//document.write('<scr' + 'ipt src="' + folderDepthPathOffset + 'bp_rollovers.js" language="javascript1.2" type="text/javascript"><\/scr' + 'ipt>');document.write('<scr' + 'ipt src="' + folderDepthPathOffset + 'bp_page_elements.js" language="javascript1.2" type="text/javascript"><\/scr' + 'ipt>');// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// Debug messages://alert('The bp_master.js script file has loaded...');//alert(agent);
