File indexing completed on 2025-08-03 08:20:54
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 function MTMenuItem(text, url, target, tooltip, icon, openIcon) {
0016 this.text = text;
0017 this.url = url ? url : "";
0018 this.target = target ? target : (MTMDefaultTarget ? MTMDefaultTarget : "");
0019 this.tooltip = tooltip;
0020 this.icon = icon ? icon : "";
0021 this.openIcon = openIcon ? openIcon : "";
0022
0023 this.number = MTMNumber++;
0024
0025 this.parentNode = null;
0026 this.submenu = null;
0027 this.expanded = false;
0028 this.MTMakeSubmenu = MTMakeSubmenu;
0029 this.makeSubmenu = MTMakeSubmenu;
0030 this.addSubItem = MTMAddSubItem;
0031 MTMLastItem = this;
0032 }
0033
0034 function MTMakeSubmenu(menu, isExpanded, collapseIcon, expandIcon) {
0035 this.submenu = menu;
0036 this.expanded = isExpanded;
0037 this.collapseIcon = collapseIcon ? collapseIcon : "menu_folder_closed.gif";
0038 this.expandIcon = expandIcon ? expandIcon : "menu_folder_open.gif";
0039
0040 var i;
0041 for(i = 0; i < this.submenu.items.length; i++) {
0042 this.submenu.items[i].parentNode = this;
0043 if(this.submenu.items[i].expanded) {
0044 this.expanded = true;
0045 }
0046 }
0047 }
0048
0049 function MTMakeLastSubmenu(menu, isExpanded, collapseIcon, expandIcon) {
0050 this.items[this.items.length-1].makeSubmenu(menu, isExpanded, collapseIcon, expandIcon);
0051 }
0052
0053 function MTMAddSubItem(item) {
0054 if(this.submenu == null){
0055 this.MTMakeSubmenu(new MTMenu(), false, this.icon, this.openIcon);
0056 }
0057 this.submenu.MTMAddItem(item);
0058 }
0059
0060
0061
0062
0063
0064 function MTMenu() {
0065 this.items = new Array();
0066 this.MTMAddItem = MTMAddItem;
0067 this.addItem = MTMAddItem;
0068 this.makeLastSubmenu = MTMakeLastSubmenu;
0069 }
0070
0071 function MTMAddItem() {
0072 if(arguments[0].toString().indexOf("[object Object]") != -1) {
0073 this.items[this.items.length] = arguments[0];
0074 } else {
0075 this.items[this.items.length] = new MTMenuItem(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]);
0076 }
0077 }
0078
0079
0080
0081
0082
0083 function IconList() {
0084 this.items = new Array();
0085 this.addIcon = addIcon;
0086 }
0087
0088 function addIcon(item) {
0089 this.items[this.items.length] = item;
0090 }
0091
0092 function MTMIcon(iconfile, match, type) {
0093 this.file = iconfile;
0094 this.match = match;
0095 this.type = type;
0096 }
0097
0098
0099
0100
0101
0102 function MTMstyleRuleSet() {
0103 this.rules = new Array();
0104 this.addRule = MTMaddStyleRule;
0105 }
0106
0107 function MTMaddStyleRule(thisSelector, thisStyle) {
0108 this.rules[this.rules.length] = new MTMstyleRule(thisSelector, thisStyle);
0109 }
0110
0111 function MTMstyleRule(thisSelector, thisStyle) {
0112 this.selector = thisSelector;
0113 this.style = thisStyle;
0114 }
0115
0116
0117
0118
0119
0120
0121 function MTMBrowser() {
0122
0123 this.cookieEnabled = false;
0124 this.preHREF = "";
0125 this.MTMable = false;
0126 this.cssEnabled = true;
0127 this.browserType = "other";
0128 this.majVersion = null;
0129 this.DOMable = null;
0130
0131
0132 this.menuFrame = null;
0133 this.document = null;
0134 this.head = null;
0135 this.menuTable = null;
0136
0137
0138 this.setDocument = MTMsetDocument;
0139 this.getFrames = MTMgetFrames;
0140 this.appendElement = MTMappendElement;
0141 this.resolveURL = MTMresolveURL;
0142
0143 if(navigator.userAgent.indexOf("Opera") != -1) {
0144 if(navigator.appName == "Opera") {
0145 this.majVersion = parseInt(navigator.appVersion);
0146 } else {
0147 this.majVersion = parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("Opera")+6));
0148 }
0149 if(this.majVersion >= 5) {
0150 this.MTMable = true;
0151 this.browserType = "O";
0152 }
0153 } else if(navigator.appName == "Netscape" && navigator.userAgent.indexOf("WebTV") == -1) {
0154 this.MTMable = true;
0155 this.browserType = "NN";
0156 if(parseInt(navigator.appVersion) == 3) {
0157 this.majVersion = 3;
0158 this.cssEnabled = false;
0159 } else if(parseInt(navigator.appVersion) >= 4) {
0160 this.majVersion = parseInt(navigator.appVersion) == 4 ? 4 : 5;
0161 if(this.majVersion >= 5) {
0162 this.DOMable = true;
0163 }
0164 }
0165 } else if(navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) >= 4) {
0166 this.MTMable = true;
0167 if(navigator.userAgent.toLowerCase().indexOf("mac") != -1) {
0168 this.browserType = "NN";
0169 this.majVersion = 4;
0170 this.DOMable = false;
0171 } else {
0172 this.browserType = "IE";
0173 this.majVersion = navigator.appVersion.indexOf("MSIE 6.") != -1 ? 6 : (navigator.appVersion.indexOf("MSIE 5.") != -1 ? 5 : 4);
0174 if(this.majVersion >= 5) {
0175 this.DOMable = true;
0176 }
0177 }
0178 }
0179 this.preHREF = location.href.substring(0, location.href.lastIndexOf("/") +1)
0180 }
0181
0182 function MTMsetDocument(menuFrame) {
0183
0184
0185 this.menuFrame = menuFrame;
0186 this.document = menuFrame.document;
0187
0188 if(this.DOMable) {
0189 this.head = this.browserType == "IE" ? this.document.all.tags('head')[0] : this.document.getElementsByTagName('head').item(0);
0190 }
0191 }
0192
0193 function MTMresolveURL(thisURL, testLocal) {
0194
0195
0196 var absoluteArray = new Array("http://", "https://", "mailto:", "ftp://", "telnet:", "news:", "gopher:", "nntp:", "javascript:", "file:");
0197
0198 var tempString = "", i;
0199 for(i = 0; i < absoluteArray.length; i++) {
0200 if(thisURL.indexOf(absoluteArray[i]) == 0) {
0201 tempString = thisURL;
0202 break;
0203 }
0204 }
0205 if(testLocal) {
0206 return(tempString == "" ? true : false);
0207 }
0208
0209 if(!tempString) {
0210 if(thisURL.indexOf("/") == 0) {
0211 tempString = location.protocol + "//" + location.hostname + thisURL;
0212 } else if(thisURL.indexOf("../") == 0) {
0213 tempString = this.preHREF;
0214 do {
0215 thisURL = thisURL.substr(3);
0216 tempString = tempString.substr(0, tempString.lastIndexOf("/", tempString.length-2) +1);
0217 } while(thisURL.indexOf("../") == 0);
0218 tempString += thisURL;
0219 } else {
0220 tempString = this.preHREF + thisURL;
0221 }
0222 }
0223 return(tempString);
0224 }
0225
0226
0227
0228
0229
0230 var MTMLinkedJSURL, MTMLinkedSS, MTMSSHREF, MTMLinkedInitFunction, MTMDOCTYPE, MTMcontentType, MTMHeader, MTMFooter, MTMrightClickMessage, MTMDefaultTarget, MTMTimeOut = 5;
0231 var MTMuseScrollbarCSS, MTMscrollbarBaseColor, MTMscrollbarFaceColor, MTMscrollbarHighlightColor, MTMscrollbarShadowColor, MTMscrollbar3dLightColor, MTMscrollbarArrowColor, MTMscrollbarTrackColor, MTMscrollbarDarkShadowColor;
0232 var MTMUseCookies, MTMCookieName, MTMCookieDays, MTMTrackedCookieName;
0233 var MTMCodeFrame = "code", MTMenuFrame = "menu", MTMTableWidth = "100%", MTMenuImageDirectory = "icons/";
0234 var MTMUseToolTips = true, MTMEmulateWE, MTMAlwaysLinkIfWE = true, MTMSubsGetPlus = "Submenu", MTMSubsAutoClose;
0235 var MTMBackground = "", MTMBGColor = "#ffffff", MTMTextColor = "#000000", MTMLinkColor = "#330099", MTMTrackColor = "#000000", MTMAhoverColor = "#990000", MTMSubExpandColor = "#666699", MTMSubClosedColor = "#666699", MTMSubTextColor = "#000000";
0236 var MTMenuText = "Site contents:", MTMRootIcon = "menu_new_root.gif", MTMRootColor = "#000000";
0237 var MTMRootFont = MTMenuFont = "Arial, Helvetica, sans-serif";
0238 var MTMRootCSSize = MTMenuCSSize = "84%";
0239 var MTMRootFontSize = MTMenuFontSize = "-1";
0240
0241
0242
0243
0244
0245
0246 var MTMLoaded = false;
0247 var MTMLevel;
0248 var MTMBar = new Array();
0249 var MTMIndices = new Array();
0250
0251 var MTMUA = new MTMBrowser();
0252
0253 var MTMExtraCSS = new MTMstyleRuleSet();
0254 var MTMstyleRules;
0255
0256 var MTMLastItem;
0257 var MTMClickedItem = false;
0258 var MTMExpansion = false;
0259
0260 var MTMNumber = 1;
0261 var MTMTrackedItem;
0262 var MTMTrack = false;
0263 var MTMFrameNames;
0264
0265 var MTMFirstRun = true;
0266 var MTMCurrentTime = 0;
0267 var MTMUpdating = false;
0268 var MTMWinSize, MTMyval, MTMxval;
0269 var MTMOutputString = "";
0270
0271 var MTMCookieString = "";
0272 var MTMCookieCharNum = 0;
0273 var MTMTCArray, MTMTrackedCookie;
0274
0275
0276
0277
0278
0279 function MTMgetFrames() {
0280 if(this.MTMable) {
0281 MTMFrameNames = new Array();
0282 for(i = 0; i < parent.frames.length; i++) {
0283 MTMFrameNames[i] = parent.frames[i].name;
0284 if(parent.frames[i].name == MTMenuFrame) {
0285 this.setDocument(parent.frames[i]);
0286 }
0287 }
0288 }
0289 }
0290
0291
0292
0293
0294
0295 function MTMSubAction(SubItem) {
0296
0297 SubItem.expanded = (SubItem.expanded) ? false : true;
0298 if(SubItem.expanded) {
0299 MTMExpansion = true;
0300 }
0301
0302 MTMClickedItem = SubItem;
0303
0304 if(MTMTrackedItem && MTMTrackedItem != SubItem.number) {
0305 MTMTrackedItem = false;
0306 }
0307
0308 if(MTMEmulateWE || SubItem.url == "" || !SubItem.expanded) {
0309 setTimeout("MTMDisplayMenu()", 10);
0310 return false;
0311 } else {
0312 if(SubItem.target == "_blank" || !MTMUA.resolveURL(SubItem.url, true) || (SubItem.target.indexOf("_") != 0 && MTMTrackTarget(SubItem.target) == false)) {
0313 setTimeout("MTMDisplayMenu()", 10);
0314 }
0315 return true;
0316 }
0317 }
0318
0319 function MTMStartMenu(thisEvent) {
0320 if(MTMUA.browserType == "O" && MTMUA.majVersion == 5) {
0321 parent.onload = MTMStartMenu;
0322 if(thisEvent) {
0323 return;
0324 }
0325 }
0326 MTMLoaded = true;
0327 if(MTMFirstRun) {
0328 if(MTMCurrentTime++ == MTMTimeOut) {
0329 setTimeout("MTMDisplayMenu()",10);
0330 } else {
0331 setTimeout("MTMStartMenu()",100);
0332 }
0333 }
0334 }
0335
0336 function MTMDisplayMenu() {
0337 if(MTMUA.MTMable && !MTMUpdating) {
0338 MTMUpdating = true;
0339 MTMLevel = 0;
0340
0341 if(MTMFirstRun) {
0342 MTMUA.getFrames();
0343
0344 if(MTMUseCookies) {
0345 MTMFetchCookies();
0346 if(MTMTrackedCookie) {
0347 MTMTCArray = MTMTrackedCookie.split("::");
0348 MTMTrackedItem = MTMTCArray[0];
0349 if(parent.frames[MTMTCArray[1]]) {
0350 parent.frames[MTMTCArray[1]].location = MTMTCArray[2];
0351 }
0352 MTMTCArray = null;
0353 }
0354 }
0355 }
0356 if(MTMTrack) { MTMTrackedItem = MTMTrackExpand(menu); }
0357
0358 if(MTMExpansion && MTMSubsAutoClose) { MTMCloseSubs(menu); }
0359
0360 if(MTMUA.DOMable) {
0361 if(MTMFirstRun) {
0362 MTMinitializeDOMDocument();
0363 }
0364 } else if(MTMFirstRun || MTMUA.browserType != "IE") {
0365 MTMUA.document.open("text/html", "replace");
0366 MTMOutputString = (MTMDOCTYPE ? (MTMDOCTYPE + "\n") : '') + "<html><head>\n";
0367 if(MTMcontentType) {
0368 MTMOutputString += '<meta http-equiv="Content-Type" content="' + MTMcontentType + '">\n';
0369 }
0370 if(MTMLinkedSS) {
0371 MTMOutputString += '<link rel="stylesheet" type="text/css" href="' + MTMUA.preHREF + MTMSSHREF + '">\n';
0372 } else {
0373 MTMUA.document.writeln(MTMOutputString);
0374 MTMOutputString = "";
0375 MTMcreateStyleSheet();
0376 }
0377 if(MTMUA.browserType == "IE" && MTMrightClickMessage) {
0378 MTMOutputString += '<scr' + 'ipt type="text/javascript">\nfunction MTMcatchRight() {\nif(event && (event.button == 2 || event.button == 3)) {\nalert("' + MTMrightClickMessage + '");\nreturn false;\n}\nreturn true;\n}\n\ndocument.onmousedown = MTMcatchRight;\n';
0379 MTMOutputString += '<\/scr' + 'ipt>\n';
0380 }
0381 MTMOutputString += '</head>\n<body ';
0382 if(MTMBackground != "") {
0383 MTMOutputString += 'background="' + MTMUA.preHREF + MTMenuImageDirectory + MTMBackground + '" ';
0384 }
0385 MTMOutputString += 'bgcolor="' + MTMBGColor + '" text="' + MTMTextColor + '" link="' + MTMLinkColor + '" vlink="' + MTMLinkColor + '" alink="' + MTMLinkColor + '">\n';
0386 MTMUA.document.writeln(MTMOutputString + (MTMHeader ? MTMHeader : "") + '\n<table border="0" cellpadding="0" cellspacing="0" width="' + MTMTableWidth + '" id="mtmtable">\n');
0387 }
0388
0389 if(!MTMFirstRun && (MTMUA.DOMable || MTMUA.browserType == "IE")) {
0390 if(!MTMUA.menuTable) {
0391 MTMUA.menuTable = MTMUA.document.all('mtmtable');
0392 }
0393
0394 while(MTMUA.menuTable.rows.length > 1) {
0395 MTMUA.menuTable.deleteRow(1);
0396 }
0397 }
0398
0399 MTMOutputString = '<img src="' + MTMUA.preHREF + MTMenuImageDirectory + MTMRootIcon + '" align="left" border="0" vspace="0" hspace="0">';
0400 if(MTMUA.cssEnabled) {
0401 MTMOutputString += '<span id="root"> ' + MTMenuText + '</span>';
0402 } else {
0403 MTMOutputString += '<font size="' + MTMRootFontSize + '" face="' + MTMRootFont + '" color="' + MTMRootColor + '">' + MTMenuText + '</font>';
0404 }
0405 if(MTMFirstRun || (!MTMUA.DOMable && MTMUA.browserType != "IE")) {
0406 MTMAddCell(MTMOutputString);
0407 }
0408
0409 MTMListItems(menu);
0410
0411 if(!MTMUA.DOMable && (MTMFirstRun || MTMUA.browserType != "IE")) {
0412 MTMUA.document.writeln('</table>\n' + (MTMFooter ? MTMFooter : "") + '\n');
0413 if(MTMLinkedJSURL && MTMUA.browserType != "IE") {
0414 MTMUA.document.writeln('<scr' + 'ipt defer type="text/javascript" src="' + MTMUA.preHREF + MTMLinkedJSURL + '"></scr' + 'ipt>');
0415 }
0416 MTMUA.document.writeln('\n</body>\n</html>');
0417 MTMUA.document.close();
0418 }
0419
0420 if((MTMClickedItem || MTMTrackedItem) && !(MTMUA.browserType == "NN" && MTMUA.majVersion == 3)) {
0421 MTMItemName = "sub" + (MTMClickedItem ? MTMClickedItem.number : MTMTrackedItem);
0422 if(document.layers && MTMUA.menuFrame.scrollbars) {
0423 var i;
0424 for(i = 0; i < MTMUA.document.anchors.length; i++) {
0425 if(MTMUA.document.links[i].name == MTMItemName) {
0426 MTMyval = MTMUA.document.links[i].y;
0427 MTMUA.document.links[i].focus();
0428 break;
0429 }
0430 }
0431 MTMWinSize = MTMUA.menuFrame.innerHeight;
0432 } else if(MTMUA.browserType != "O") {
0433 if(MTMUA.browserType == "NN" && MTMUA.majVersion == 5) {
0434 MTMUA.document.all = MTMUA.document.getElementsByTagName("*");
0435 }
0436 MTMyval = MTMGetYPos(MTMUA.document.all[MTMItemName]);
0437 MTMUA.document.all[MTMItemName].focus();
0438 MTMWinSize = MTMUA.browserType == "IE" ? MTMUA.document.body.offsetHeight : MTMUA.menuFrame.innerHeight;
0439 }
0440 if(MTMyval > (MTMWinSize - 60)) {
0441 MTMUA.menuFrame.scrollTo(0, parseInt(MTMyval - (MTMWinSize * 1/3)));
0442 }
0443 }
0444
0445 if(!MTMFirstRun && MTMUA.cookieEnabled) {
0446 if(MTMCookieString != "") {
0447 setCookie(MTMCookieName, MTMCookieString.substring(0,4000), MTMCookieDays);
0448 if(MTMTrackedCookieName) {
0449 if(MTMTCArray) {
0450 setCookie(MTMTrackedCookieName, MTMTCArray.join("::"), MTMCookieDays);
0451 } else {
0452 setCookie(MTMTrackedCookieName, "", -1);
0453 }
0454 }
0455 } else {
0456 setCookie(MTMCookieName, "", -1);
0457 }
0458 }
0459 if(MTMLinkedJSURL && MTMLinkedInitFunction && !(MTMUA.browserType == "IE" && MTMUA.majVersion == 4)) {
0460 setTimeout('MTMUA.menuFrame.' + MTMLinkedInitFunction + '()', 10);
0461 }
0462
0463 MTMFirstRun = false;
0464 MTMClickedItem = false;
0465 MTMExpansion = false;
0466 MTMTrack = false;
0467 MTMCookieString = "";
0468 }
0469 MTMUpdating = false;
0470 }
0471
0472 function MTMinitializeDOMDocument() {
0473 var newElement;
0474 if(MTMcontentType) {
0475 MTMUA.appendElement('head', 'meta', 'httpEquiv', 'Content-Type', 'content', MTMcontentType);
0476 }
0477 MTMdisableStyleSheets();
0478
0479 if(MTMLinkedSS) {
0480 MTMUA.appendElement('head', 'link', 'rel', 'stylesheet', 'type', 'text/css', 'href', (MTMUA.preHREF + MTMSSHREF));
0481 } else {
0482 MTMcreateStyleSheet();
0483 }
0484 if(MTMLinkedJSURL) {
0485 MTMUA.appendElement('head', 'script', 'src', (MTMUA.preHREF + MTMLinkedJSURL), 'type', 'text/javascript', 'defer', true);
0486 }
0487 while(MTMUA.document.body.childNodes.length > 0) {
0488 MTMUA.document.body.removeChild(MTMUA.document.body.firstChild);
0489 }
0490
0491 if(MTMHeader) {
0492 if(MTMUA.browserType == "IE") {
0493 MTMUA.document.body.insertAdjacentHTML("afterBegin", MTMHeader);
0494 } else {
0495 var myRange = MTMUA.document.createRange();
0496 myRange.setStart(MTMUA.document.body, 0);
0497 var parsedHTML = myRange.createContextualFragment(MTMHeader);
0498 MTMUA.document.body.appendChild(parsedHTML);
0499 }
0500 }
0501 MTMUA.appendElement('body', 'table', 'border', '0', 'cellPadding', '0', 'cellSpacing', '0', 'width', MTMTableWidth, 'id', 'mtmtable');
0502 MTMUA.menuTable = MTMUA.document.getElementById('mtmtable');
0503 if(MTMFooter) {
0504 if(MTMUA.browserType == "IE") {
0505 MTMUA.document.body.insertAdjacentHTML("beforeEnd", MTMFooter);
0506 } else {
0507 var myRange = MTMUA.document.createRange();
0508 myRange.setStart(MTMUA.document.body, 0);
0509 var parsedHTML = myRange.createContextualFragment(MTMFooter);
0510 MTMUA.document.body.appendChild(parsedHTML);
0511 }
0512 }
0513 }
0514
0515 function MTMappendElement() {
0516 var newElement = this.document.createElement(arguments[1]);
0517 var j, newProperty;
0518 for(j = 2; j < arguments.length; j+=2) {
0519 newElement.setAttribute(arguments[j], arguments[j+1]);
0520 }
0521 if(arguments[0] == 'head') {
0522 this.head.appendChild(newElement);
0523 } else if(arguments[0] == 'body') {
0524 this.document.body.appendChild(newElement);
0525 }
0526 }
0527
0528 function MTMListItems(menu) {
0529 var i, isLast;
0530 for (i = 0; i < menu.items.length; i++) {
0531 MTMIndices[MTMLevel] = i;
0532 isLast = (i == menu.items.length -1);
0533 MTMDisplayItem(menu.items[i], isLast);
0534
0535 if(menu.items[i].submenu && menu.items[i].expanded) {
0536 MTMBar[MTMLevel] = (isLast) ? false : true;
0537 MTMLevel++;
0538 MTMListItems(menu.items[i].submenu);
0539 MTMLevel--;
0540 } else {
0541 MTMBar[MTMLevel] = false;
0542 }
0543 }
0544 }
0545
0546 function MTMDisplayItem(item, last) {
0547 var i, img, subNoLink;
0548
0549 var MTMfrm = "parent.frames['" + MTMCodeFrame + "']";
0550 var MTMref = '.menu.items[' + MTMIndices[0] + ']';
0551
0552 if(MTMLevel > 0) {
0553 for(i = 1; i <= MTMLevel; i++) {
0554 MTMref += ".submenu.items[" + MTMIndices[i] + "]";
0555 }
0556 }
0557
0558 if(MTMUA.cookieEnabled) {
0559 if(MTMFirstRun && MTMCookieString != "") {
0560 item.expanded = (MTMCookieString.charAt(MTMCookieCharNum++) == "1") ? true : false;
0561 } else {
0562 MTMCookieString += (item.expanded) ? "1" : "0";
0563 }
0564 }
0565
0566 if(item.submenu) {
0567 var usePlusMinus = false;
0568 if(MTMSubsGetPlus.toLowerCase() == "always" || MTMEmulateWE) {
0569 usePlusMinus = true;
0570 } else if(MTMSubsGetPlus.toLowerCase() == "submenu") {
0571 for(i = 0; i < item.submenu.items.length; i++) {
0572 if(item.submenu.items[i].submenu) {
0573 usePlusMinus = true; break;
0574 }
0575 }
0576 }
0577
0578 var MTMClickCmd = "return " + MTMfrm + ".MTMSubAction(" + MTMfrm + MTMref + ");";
0579 var MTMouseOverCmd = "parent.status='" + (item.expanded ? "Collapse " : "Expand ") + (item.text.indexOf("'") != -1 ? MTMEscapeQuotes(item.text) : item.text) + "';return true;";
0580 var MTMouseOutCmd = "parent.status=parent.defaultStatus;return true;";
0581 }
0582
0583 MTMOutputString = "";
0584 if(MTMLevel > 0) {
0585 for (i = 0; i < MTMLevel; i++) {
0586 MTMOutputString += (MTMBar[i]) ? MTMakeImage("menu_bar.gif") : MTMakeImage("menu_pixel.gif");
0587 }
0588 }
0589
0590 if(item.submenu && usePlusMinus) {
0591 if(item.url == "") {
0592 MTMOutputString += MTMakeLink(item, true, true, true, MTMClickCmd, MTMouseOverCmd, MTMouseOutCmd);
0593 } else {
0594 if(MTMEmulateWE) {
0595 MTMOutputString += MTMakeLink(item, true, true, false, MTMClickCmd, MTMouseOverCmd, MTMouseOutCmd);
0596 } else {
0597 if(!item.expanded) {
0598 MTMOutputString += MTMakeLink(item, false, true, true, MTMClickCmd);
0599 } else {
0600 MTMOutputString += MTMakeLink(item, true, true, false, MTMClickCmd, MTMouseOverCmd, MTMouseOutCmd);
0601 }
0602 }
0603 }
0604
0605 if(item.expanded) {
0606 img = (last) ? "menu_corner_minus.gif" : "menu_tee_minus.gif";
0607 } else {
0608 img = (last) ? "menu_corner_plus.gif" : "menu_tee_plus.gif";
0609 }
0610 } else {
0611 img = (last) ? "menu_corner.gif" : "menu_tee.gif";
0612 }
0613 MTMOutputString += MTMakeImage(img);
0614
0615 if(item.submenu) {
0616 if(MTMEmulateWE) {
0617 if(item.url != "") {
0618 MTMOutputString += '</a>' + MTMakeLink(item, false, false, true);
0619 } else if(!MTMAlwaysLinkIfWE) {
0620 subNoLink = true;
0621 MTMOutputString += '</a><span class="subtext">';
0622 }
0623 } else if(!usePlusMinus) {
0624 if(item.url == "") {
0625 MTMOutputString += MTMakeLink(item, true, true, true, MTMClickCmd, MTMouseOverCmd, MTMouseOutCmd);
0626 } else if(!item.expanded) {
0627 MTMOutputString += MTMakeLink(item, false, true, true, MTMClickCmd);
0628 } else {
0629 MTMOutputString += MTMakeLink(item, true, true, false, MTMClickCmd, MTMouseOverCmd, MTMouseOutCmd);
0630 }
0631 }
0632
0633 img = (item.expanded) ? item.expandIcon : item.collapseIcon;
0634 } else {
0635 MTMOutputString += MTMakeLink(item, false, true, true);
0636 img = (item.icon != "") ? item.icon : MTMFetchIcon(item.url);
0637 }
0638
0639 MTMOutputString += MTMakeImage(img);
0640
0641 if(item.submenu && item.url != "" && item.expanded && !MTMEmulateWE) {
0642 MTMOutputString += '</a>' + MTMakeLink(item, false, false, true);
0643 }
0644
0645 if(MTMUA.browserType == "NN" && MTMUA.majVersion == 3 && !MTMLinkedSS) {
0646 var stringColor;
0647 if(item.submenu && (item.url == "") && (item.number == MTMClickedItem.number)) {
0648 stringColor = (item.expanded) ? MTMSubExpandColor : MTMSubClosedColor;
0649 } else if(MTMTrackedItem && MTMTrackedItem == item.number) {
0650 stringColor = MTMTrackColor;
0651 } else {
0652 stringColor = MTMLinkColor;
0653 }
0654 MTMOutputString += '<font color="' + stringColor + '" size="' + MTMenuFontSize + '" face="' + MTMenuFont + '">';
0655 }
0656 MTMOutputString += ' ' + item.text + ((MTMUA.browserType == "NN" && MTMUA.majVersion == 3 && !MTMLinkedSS) ? '</font>' : '');
0657 MTMOutputString += subNoLink ? '</span>' : '</a>';
0658 MTMAddCell(MTMOutputString);
0659 }
0660
0661 function MTMEscapeQuotes(myString) {
0662 var newString = "";
0663 var cur_pos = myString.indexOf("'");
0664 var prev_pos = 0;
0665 while (cur_pos != -1) {
0666 if(cur_pos == 0) {
0667 newString += "\\";
0668 } else if(myString.charAt(cur_pos-1) != "\\") {
0669 newString += myString.substring(prev_pos, cur_pos) + "\\";
0670 } else if(myString.charAt(cur_pos-1) == "\\") {
0671 newString += myString.substring(prev_pos, cur_pos);
0672 }
0673 prev_pos = cur_pos++;
0674 cur_pos = myString.indexOf("'", cur_pos);
0675 }
0676 return(newString + myString.substring(prev_pos, myString.length));
0677 }
0678
0679 function MTMTrackExpand(thisMenu) {
0680 var i, targetPath, targetLocation;
0681 var foundNumber = false;
0682 for(i = 0; i < thisMenu.items.length; i++) {
0683 if(thisMenu.items[i].url != "" && MTMTrackTarget(thisMenu.items[i].target)) {
0684 targetLocation = parent.frames[thisMenu.items[i].target].location;
0685 targetHREF = targetLocation.href;
0686 if(targetHREF.indexOf("#") != -1) {
0687 targetHREF = targetHREF.substr(0, targetHREF.indexOf("#"));
0688 }
0689 if(MTMUA.browserType == "IE" && targetLocation.protocol == "file:") {
0690 var regExp = /\\/g;
0691 targetHREF = targetHREF.replace(regExp, "\/");
0692 }
0693 if(targetHREF == MTMUA.resolveURL(thisMenu.items[i].url)) {
0694 return(thisMenu.items[i].number);
0695 }
0696 }
0697 if(thisMenu.items[i].submenu) {
0698 foundNumber = MTMTrackExpand(thisMenu.items[i].submenu);
0699 if(foundNumber) {
0700 if(!thisMenu.items[i].expanded) {
0701 thisMenu.items[i].expanded = true;
0702 if(!MTMClickedItem) { MTMClickedItem = thisMenu.items[i]; }
0703 MTMExpansion = true;
0704 }
0705 return(foundNumber);
0706 }
0707 }
0708 }
0709 return(foundNumber);
0710 }
0711
0712 function MTMCloseSubs(thisMenu) {
0713 var i, j;
0714 var foundMatch = false;
0715 for(i = 0; i < thisMenu.items.length; i++) {
0716 if(thisMenu.items[i].submenu && thisMenu.items[i].expanded) {
0717 if(thisMenu.items[i].number == MTMClickedItem.number) {
0718 foundMatch = true;
0719 for(j = 0; j < thisMenu.items[i].submenu.items.length; j++) {
0720 if(thisMenu.items[i].submenu.items[j].expanded) {
0721 thisMenu.items[i].submenu.items[j].expanded = false;
0722 }
0723 }
0724 } else {
0725 if(foundMatch) {
0726 thisMenu.items[i].expanded = false;
0727 } else {
0728 foundMatch = MTMCloseSubs(thisMenu.items[i].submenu);
0729 if(!foundMatch) {
0730 thisMenu.items[i].expanded = false;
0731 }
0732 }
0733 }
0734 }
0735 }
0736 return(foundMatch);
0737 }
0738
0739 function MTMFetchIcon(testString) {
0740 var i;
0741 for(i = 0; i < MTMIconList.items.length; i++) {
0742 if((MTMIconList.items[i].type == 'any') && (testString.indexOf(MTMIconList.items[i].match) != -1)) {
0743 return(MTMIconList.items[i].file);
0744 } else if((MTMIconList.items[i].type == 'pre') && (testString.indexOf(MTMIconList.items[i].match) == 0)) {
0745 return(MTMIconList.items[i].file);
0746 } else if((MTMIconList.items[i].type == 'post') && (testString.indexOf(MTMIconList.items[i].match) != -1)) {
0747 if((testString.lastIndexOf(MTMIconList.items[i].match) + MTMIconList.items[i].match.length) == testString.length) {
0748 return(MTMIconList.items[i].file);
0749 }
0750 }
0751 }
0752 return("menu_link_default.gif");
0753 }
0754
0755 function MTMGetYPos(myObj) {
0756 return(myObj.offsetTop + ((myObj.offsetParent) ? MTMGetYPos(myObj.offsetParent) : 0));
0757 }
0758
0759 function MTMakeLink(thisItem, voidURL, addName, addTitle, clickEvent, mouseOverEvent, mouseOutEvent) {
0760 var tempString = '<a href="' + (voidURL ? 'javascript:;' : MTMUA.resolveURL(thisItem.url)) + '" ';
0761 if(MTMUseToolTips && addTitle && thisItem.tooltip) {
0762 tempString += 'title="' + thisItem.tooltip + '" ';
0763 }
0764 if(addName) {
0765 tempString += 'name="sub' + thisItem.number + '" ';
0766 }
0767 if(clickEvent) {
0768 tempString += 'onclick="' + clickEvent + '" ';
0769 }
0770 if(mouseOverEvent && mouseOverEvent != "") {
0771 tempString += 'onmouseover="' + mouseOverEvent + '" ';
0772 }
0773 if(mouseOutEvent && mouseOutEvent != "") {
0774 tempString += 'onmouseout="' + mouseOutEvent + '" ';
0775 }
0776 if(thisItem.submenu && MTMClickedItem && thisItem.number == MTMClickedItem.number) {
0777 tempString += 'class="' + (thisItem.expanded ? "subexpanded" : "subclosed") + '" ';
0778 } else if(MTMTrackedItem && thisItem.number == MTMTrackedItem) {
0779 if(MTMTrackedCookieName) {
0780 MTMTCArray = new Array(thisItem.number, thisItem.target, thisItem.url);
0781 }
0782 tempString += 'class="tracked"';
0783 }
0784 if(thisItem.target != "") {
0785 tempString += 'target="' + thisItem.target + '" ';
0786 }
0787 return(tempString + '>');
0788 }
0789
0790 function MTMakeImage(thisImage) {
0791 return('<img src="' + MTMUA.preHREF + MTMenuImageDirectory + thisImage + '" align="left" border="0" vspace="0" hspace="0" width="18" height="18">');
0792 }
0793
0794 function MTMakeSVG(thisImage) {
0795 return('<object type="image/svg+xml" data="' + thisImage + '" NAME="Main" width="18" height="18" ><\/object>');
0796 }
0797
0798 function MTMTrackTarget(thisTarget) {
0799 if(thisTarget.charAt(0) == "_") {
0800 return false;
0801 } else {
0802 for(i = 0; i < MTMFrameNames.length; i++) {
0803 if(thisTarget == MTMFrameNames[i]) {
0804 return true;
0805 }
0806 }
0807 }
0808 return false;
0809 }
0810
0811 function MTMAddCell(thisHTML) {
0812 if(MTMUA.DOMable || (MTMUA.browserType == "IE" && !MTMFirstRun)) {
0813 var myRow = MTMUA.menuTable.insertRow(MTMUA.menuTable.rows.length);
0814 myRow.vAlign = "top";
0815 var myCell = myRow.insertCell(myRow.cells.length);
0816 myCell.noWrap = true;
0817 myCell.innerHTML = thisHTML;
0818 } else {
0819 MTMUA.document.writeln('<tr valign="top"><td nowrap>' + thisHTML + '<\/td><\/tr>');
0820 }
0821 }
0822
0823 function MTMcreateStyleSheet() {
0824 var i;
0825
0826 if(!MTMstyleRules) {
0827 MTMstyleRules = new MTMstyleRuleSet();
0828 with(MTMstyleRules) {
0829 addRule('body', 'color:' + MTMTextColor + ';');
0830 if(MTMuseScrollbarCSS && MTMUA.browserType != "NN") {
0831 addRule('body', 'scrollbar-3dlight-color:' + MTMscrollbar3dLightColor + ';scrollbar-arrow-color:' + MTMscrollbarArrowColor + ';scrollbar-base-color:' + MTMscrollbarBaseColor + ';scrollbar-darkshadow-color:' + MTMscrollbarDarkShadowColor + ';scrollbar-face-color:' + MTMscrollbarFaceColor + ';scrollbar-highlight-color:' + MTMscrollbarHighlightColor + ';scrollbar-shadow-color:' + MTMscrollbarShadowColor + ';scrollbar-track-color:' + MTMscrollbarTrackColor + ';');
0832 }
0833 addRule('#root', 'color:' + MTMRootColor + ';background:transparent;font-family:' + MTMRootFont + ';font-size:' + MTMRootCSSize + ';');
0834 addRule('.subtext', 'font-family:' + MTMenuFont + ';font-size:' + MTMenuCSSize + ';color:' + MTMSubTextColor + ';background: transparent;');
0835 addRule('a', 'font-family:' + MTMenuFont + ';font-size:' + MTMenuCSSize + ';text-decoration:none;color:' + MTMLinkColor + ';background:transparent;');
0836 addRule('a:hover', 'color:' + MTMAhoverColor + ';background:transparent;');
0837 addRule('a.tracked', 'color:' + MTMTrackColor + ';background:transparent;');
0838 addRule('a.subexpanded', 'color:' + MTMSubExpandColor + ';background:transparent;');
0839 addRule('a.subclosed', 'color:' + MTMSubClosedColor + ';background:transparent;');
0840
0841 }
0842 }
0843
0844 if(MTMUA.DOMable) {
0845 if(MTMUA.browserType == "IE") {
0846 MTMUA.document.createStyleSheet();
0847 var newStyleSheet = MTMUA.document.styleSheets(MTMUA.document.styleSheets.length-1);
0848 } else if(MTMUA.browserType == "NN") {
0849 var newStyleSheet = MTMUA.document.getElementById('mtmsheet');
0850 if(newStyleSheet) {
0851 newStyleSheet.disabled = false;
0852 }
0853 }
0854 } else {
0855 var outputHTML = '<style type="text/css">\n';
0856 }
0857 for(i = 0; i < MTMstyleRules.rules.length; i++) {
0858 if(MTMUA.DOMable && MTMUA.browserType == "IE") {
0859 newStyleSheet.addRule(MTMstyleRules.rules[i].selector, MTMstyleRules.rules[i].style);
0860 } else if(MTMUA.DOMable && MTMUA.browserType == "NN" && newStyleSheet) {
0861 newStyleSheet.sheet.insertRule((MTMstyleRules.rules[i].selector + " { " + MTMstyleRules.rules[i].style + " } "), newStyleSheet.sheet.cssRules.length);
0862 } else {
0863 outputHTML += MTMstyleRules.rules[i].selector + ' {\n' + MTMstyleRules.rules[i].style + '\n}\n';
0864 }
0865 }
0866
0867 for(i = 0; i < MTMExtraCSS.rules.length; i++) {
0868 if(MTMUA.DOMable && MTMUA.browserType == "IE") {
0869 newStyleSheet.addRule(MTMExtraCSS.rules[i].selector, MTMExtraCSS.rules[i].style);
0870 } else if(MTMUA.DOMable && MTMUA.browserType == "NN" && newStyleSheet) {
0871 newStyleSheet.sheet.insertRule((MTMExtraCSS.rules[i].selector + "{" + MTMExtraCSS.rules[i].style + "}"), newStyleSheet.sheet.cssRules.length);
0872 } else {
0873 outputHTML += MTMExtraCSS.rules[i].selector + ' {\n' + MTMExtraCSS.rules[i].style + '\n}\n';
0874 }
0875 }
0876 if(MTMFirstRun && MTMUA.DOMable) {
0877 with(MTMUA.document.body) {
0878 bgColor = MTMBGColor;
0879 text = MTMTextColor;
0880 link = MTMLinkColor;
0881 vLink = MTMLinkColor;
0882 aLink = MTMLinkColor;
0883 if(MTMBackground) {
0884 background = MTMUA.preHREF + MTMenuImageDirectory + MTMBackground;
0885 }
0886 }
0887 } else if(!MTMUA.DOMable) {
0888 MTMUA.document.writeln(outputHTML + '</style>');
0889 }
0890 }
0891
0892 function MTMdisableStyleSheets() {
0893 if(MTMUA.browserType == "IE") {
0894 for(i = 0; i < MTMUA.document.styleSheets.length; i++) {
0895 MTMUA.document.styleSheets(i).disabled = true;
0896 }
0897 } else if(MTMUA.browserType == "NN") {
0898 var myCollection = MTMUA.document.getElementsByTagName('style');
0899 for(i = 0; i < myCollection.length; i++) {
0900 myCollection.item(i).disabled = true;
0901 }
0902 var myCollection = MTMUA.document.getElementsByTagName('link');
0903 for(i = 0; i < myCollection.length; i++) {
0904 if(myCollection.item(i).getAttribute('type') == "text/css") {
0905 myCollection.item(i).disabled = true;
0906 }
0907 }
0908 }
0909 }
0910
0911 function MTMFetchCookies() {
0912 var cookieString = getCookie(MTMCookieName);
0913 if(cookieString == null) {
0914 setCookie(MTMCookieName, "Say-No-If-You-Use-Confirm-Cookies");
0915 cookieString = getCookie(MTMCookieName);
0916 MTMUA.cookieEnabled = (cookieString == null) ? false : true;
0917 return;
0918 }
0919
0920 MTMCookieString = cookieString;
0921 if(MTMTrackedCookieName) { MTMTrackedCookie = getCookie(MTMTrackedCookieName); }
0922 MTMUA.cookieEnabled = true;
0923 }
0924
0925
0926
0927
0928 function getCookie(Name) {
0929 var search = Name + "="
0930 if (document.cookie.length > 0) {
0931 offset = document.cookie.indexOf(search)
0932 if (offset != -1) {
0933 offset += search.length
0934
0935 end = document.cookie.indexOf(";", offset)
0936
0937 if (end == -1)
0938 end = document.cookie.length
0939 return unescape(document.cookie.substring(offset, end))
0940 }
0941 }
0942 }
0943
0944 function setCookie(name, value, daysExpire) {
0945 if(daysExpire) {
0946 var expires = new Date();
0947 expires.setTime(expires.getTime() + 1000*60*60*24*daysExpire);
0948 }
0949 document.cookie = name + "=" + escape(value) + (daysExpire == null ? "" : (";expires=" + expires.toGMTString())) + ";path=/";
0950 }