'; MTMOutputString += ''; MTMOutputString += ''; MTMOutputString += ''; MTMDoc.writeln(MTMOutputString); MTMListItems(menu); MTMDoc.writeln('
'); MTMDoc.close(); if(MTMSubClicked && !MTMFirstRun && !MTMSubClosed) { MTMSubName = "sub" + MTMClickedNumber; if(MTMBrowser == "NN" && parent.frames[MTMenuFrame].scrollbars) { MTMyval = parent.frames[MTMenuFrame].document.anchors[MTMSubName].y; MTMWinSize = parent.frames[MTMenuFrame].innerHeight; } else if(MTMBrowser == "MSIE") { MTMyval = parent.frames[MTMenuFrame].document.all[MTMSubName].offsetTop; if(MTMisIE5) { MTMyval += parent.frames[MTMenuFrame].document.all[MTMSubName].offsetParent.offsetTop; } MTMyval += parent.frames[MTMenuFrame].document.all[MTMSubName].offsetParent.offsetParent.offsetTop; if(!MTMisIE5) { MTMyval += parent.frames[MTMenuFrame].document.all[MTMSubName].offsetParent.offsetParent.offsetParent.offsetTop; } MTMWinSize = parent.frames[MTMenuFrame].document.body.offsetHeight; } if(MTMyval > (MTMWinSize - 60)) { parent.frames[MTMenuFrame].scrollBy(0, parseInt(MTMyval - (MTMWinSize * 1/3))); } } else if (MTMFoundTracked && !MTMFirstRun && !MTMSubClosed) { if(MTMBrowser == "NN" && parent.frames[MTMenuFrame].scrollbars) { MTMyval = parent.frames[MTMenuFrame].document.anchors['tracked'].y; } else if(MTMBrowser == "MSIE") { MTMyval = parent.frames[MTMenuFrame].document.all.tracked.offsetTop; if(MTMisIE5) { MTMyval += parent.frames[MTMenuFrame].document.all.tracked.offsetParent.offsetTop; } MTMyval += parent.frames[MTMenuFrame].document.all.tracked.offsetParent.offsetParent.offsetTop; if(!MTMisIE5) { MTMyval += parent.frames[MTMenuFrame].document.all.tracked.offsetParent.offsetParent.offsetParent.offsetTop; } MTMWinSize = parent.frames[MTMenuFrame].document.body.offsetHeight; } if(MTMyval > (MTMWinSize -15)) { parent.frames[MTMenuFrame].scrollBy(0, parseInt(MTMyval - (MTMWinSize * 1/3))); } } } if(MTMFirstRun) { MTMFirstRun = false; } MTMSubClicked = false; MTMSubClosed = false; MTMFoundTracked = false; return false; } function MTMListItems(menu) { var i; for (i = 0; i < menu.items.length; i++) { MTMIndices[MTMLevel] = i; MTMDisplayItem(menu.items[i], (i == menu.items.length - 1)); } } function MTMDisplayItem(item, last) { var frm = "parent.frames['code']"; var cmd = frm + ".MTMSubAction(" + item.number; var ref = frm + ".menu.items[" + MTMIndices[0] + "]"; var i, img, more, MTMouseOverText; var MTMTracked = ((parent.frames[MTMainFrame].location.pathname.lastIndexOf(item.url) != -1) && (item.url != "")); MTMOutputString = ''; for (i = 0; i < MTMLevel; i++) if (MTMBar[i]) { MTMOutputString += ''; } else { MTMOutputString += ''; } more = false; if (item.submenu) if(MTMSubsGetPlus) { more = true; } else { for (i = 0; i < item.submenu.items.length; i++) { if (item.submenu.items[i].submenu != null) { more = true; } } } if (!more) { if (last) img = MTMPreHREF + MTMenuImageDirectory + "menu_corner.gif"; else img = MTMPreHREF + MTMenuImageDirectory + "menu_tee.gif"; MTMOutputString += ''; } for (i = 1; i <= MTMLevel; i++) ref += ".submenu.items[" + MTMIndices[i] + "]"; if (item.url != "") { if(MTMTracked) { MTMOutputString += ''; } else { MTMOutputString += '>'; } } else { if(item.text.indexOf("'") != -1) { MTMouseOverText = MTMEscapeQuotes(item.text); } else { MTMouseOverText = item.text; } MTMOutputString += ''; else MTMOutputString += ref + '.expanded = true;return ' + cmd + ', false, ' + frm + '.menu);">'; } if (more) { if (item.expanded) { if (last) img = MTMPreHREF + MTMenuImageDirectory + "menu_corner_minus.gif"; else img = MTMPreHREF + MTMenuImageDirectory + "menu_tee_minus.gif"; } else { if (last) img = MTMPreHREF + MTMenuImageDirectory + "menu_corner_plus.gif"; else img = MTMPreHREF + MTMenuImageDirectory + "menu_tee_plus.gif"; } MTMOutputString += ''; } if (item.submenu) { if (item.expanded) img = MTMPreHREF + MTMenuImageDirectory + "menu_folder_open.gif"; else img = MTMPreHREF + MTMenuImageDirectory + "menu_folder_closed.gif"; } else { if (item.icon != "") { img = MTMPreHREF + MTMenuImageDirectory + item.icon; } else { img = MTMPreHREF + MTMenuImageDirectory + MTMFetchIcon(item.url); } } MTMOutputString += ''; if(MTMTracked) { MTMOutputString += ''; MTMOutputString += ' ' + item.text + ''; } else { MTMOutputString += ' ' + item.text + ''; } MTMOutputString += ''; MTMDoc.writeln(MTMOutputString); if (item.expanded) { if (!last) MTMBar[MTMLevel] = true; else MTMBar[MTMLevel] = false; MTMLevel++; MTMListItems(item.submenu); MTMLevel--; } else MTMBar[i] = false; } function MTMExpandSub(mySub) { var i; var finished = false; for(i = 0; i < mySub.items.length; i++) { if(mySub.items[i].url != "") { finished = (parent.frames[MTMainFrame].location.pathname.lastIndexOf(mySub.items[i].url) != -1); } else { if(mySub.items[i].expanded) { finished = MTMExpandSub(mySub.items[i].submenu); } else { mySub.items[i].expanded = true; finished = MTMExpandSub(mySub.items[i].submenu); if(!finished) { mySub.items[i].expanded = false; } } } if(finished) { return(finished); } } return(finished); } function MTMEscapeQuotes(myString) { var newString = ""; var cur_pos = myString.indexOf("'"); var prev_pos = 0; while (cur_pos != -1) { if(cur_pos == 0) { newString += "\\"; } else if(myString.charAt(cur_pos-1) != "\\") { newString += myString.substring(prev_pos, cur_pos) + "\\"; } else if(myString.charAt(cur_pos-1) == "\\") { newString += myString.substring(prev_pos, cur_pos); } prev_pos = cur_pos++; cur_pos = myString.indexOf("'", cur_pos); } newString += myString.substring(prev_pos, myString.length); return(newString); } function MTMCloseSubs(myMenu) { var i, j; var foundMatch = false; for(i = 0; i < myMenu.items.length; i++) { if(myMenu.items[i].url == "" && myMenu.items[i].expanded) { if(myMenu.items[i].number == MTMClickedNumber) { foundMatch = true; for(j = 0; j < myMenu.items[i].submenu.items.length; j++) { if(myMenu.items[i].submenu.items[j].url == "" && myMenu.items[i].submenu.items[j].expanded) { myMenu.items[i].submenu.items[j].expanded = false; } } } else { if(foundMatch) { myMenu.items[i].expanded = false; } else { foundMatch = MTMCloseSubs(myMenu.items[i].submenu); if(!foundMatch) { myMenu.items[i].expanded = false; } } } } } return(foundMatch); } function MTMFetchIcon(testString) { var i; for(i = 0; i < MTMIconList.items.length; i++) { if((MTMIconList.items[i].type == 'any') && (testString.indexOf(MTMIconList.items[i].match) != -1)) { return(MTMIconList.items[i].file); } else if((MTMIconList.items[i].type == 'pre') && (testString.indexOf(MTMIconList.items[i].match) == 0)) { return(MTMIconList.items[i].file); } else if((MTMIconList.items[i].type == 'post') && (testString.indexOf(MTMIconList.items[i].match) != -1)) { if(testString.lastIndexOf(MTMIconList.items[i].match) == (testString.length-MTMIconList.items[i].match.length)) { return(MTMIconList.items[i].file); } } } return("menu_link_default.gif"); } /****************************************************************************** * User-configurable options. * ******************************************************************************/ // Menu table width, either a pixel-value (number) or a percentage value. var MTMTableWidth = "100%"; // Name of the frame where the menu is to appear. var MTMenuFrame = "menu"; // Name of the main frame (e.g. where linked documents show up) var MTMainFrame = "text"; // variable for determining whether a sub-menu always gets a plus-sign // regardless of whether it holds another sub-menu or not var MTMSubsGetPlus = true; // Directory of menu images/icons var MTMenuImageDirectory = "menu-images/"; // Variables for controlling colors in the menu document. // Regular BODY atttributes as in HTML documents. var MTMBGColor = "white"; var MTMTextColor = "black"; var MTMLinkColor = "blue"; var MTMVlinkColor = "purple"; var MTMAlinkColor = "red"; var MTMTrackColor ="purple"; // Variables for style sheet usage // 'true' means use a linked style sheet. var MTMLinkedSS = false; var MTMSSHREF = "style/menu.css"; // Filename of the root icon var MTMRootIcon = "menu_root2.gif"; // The text that is written next to the root icon var MTMenuText = "Index"; // Whether you want an open sub-menu to close automagically // when another sub-menu is opened. 'true' means auto-close var MTMSubsAutoClose = true; /****************************************************************************** * User-configurable list of icons. * ******************************************************************************/ var MTMIconList = null; MTMIconList = new IconList(); MTMIconList.addIcon(new MTMIcon("menu_link_external.gif", "http://", "pre")); MTMIconList.addIcon(new MTMIcon("menu_link_pdf.gif", ".pdf", "post")); /****************************************************************************** * User-configurable menu. * ******************************************************************************/ // Main menu. var menu = null; menu = new MTMenu(); menu.MTMAddItem(new MTMenuItem("Overview", "acacia.html", "text")); menu.MTMAddItem(new MTMenuItem("Taxonomy", "taxon.html", "text")); menu.MTMAddItem(new MTMenuItem("Phytochemistry", "phyto.html", "text")); menu.MTMAddItem(new MTMenuItem("Entheogen", "entheo.html", "text")); menu.MTMAddItem(new MTMenuItem("Species")); menu.MTMAddItem(new MTMenuItem("Cultivation")); menu.MTMAddItem(new MTMenuItem("Bibliography", "biblio.html", "text")); menu.MTMAddItem(new MTMenuItem("Mulga country", "http://mulga.lycaeum.org/", "text")); // submenu #1 var number_one = null; number_one = new MTMenu(); number_one.MTMAddItem(new MTMenuItem("complanata")); number_one.MTMAddItem(new MTMenuItem("confusa")); number_one.MTMAddItem(new MTMenuItem("longifolia")); number_one.MTMAddItem(new MTMenuItem("maidenii")); number_one.MTMAddItem(new MTMenuItem("obtusifolia")); number_one.MTMAddItem(new MTMenuItem("phlebophylla")); number_one.MTMAddItem(new MTMenuItem("simplex")); number_one.MTMAddItem(new MTMenuItem("sophorae")); menu.items[4].MTMakeSubmenu(number_one); // submenu #2 var number_two = null; number_two = new MTMenu(); number_two.MTMAddItem(new MTMenuItem("general", "cult.html", "text")); number_two.MTMAddItem(new MTMenuItem("extra", "cult2.html", "text")); menu.items[5].MTMakeSubmenu(number_two); // sub-submenu #1 var number_three = null; number_three = new MTMenu(); number_three.MTMAddItem(new MTMenuItem("botany", "compla.html", "text")); number_three.MTMAddItem(new MTMenuItem("reports", "comphy.html", "text")); number_three.MTMAddItem(new MTMenuItem("images", "photo.html#compla", "text")); number_one.items[0].MTMakeSubmenu(number_three); // sub-submenu #2 var number_four = null; number_four = new MTMenu(); number_four.MTMAddItem(new MTMenuItem("botany", "confusa.html", "text")); number_four.MTMAddItem(new MTMenuItem("reports", "confusaphy.html", "text")); number_four.MTMAddItem(new MTMenuItem("images", "photo.html#confusa", "text")); number_one.items[1].MTMakeSubmenu(number_four); // sub-submenu #3 var number_five = null; number_five = new MTMenu(); number_five.MTMAddItem(new MTMenuItem("botany", "longi.html", "text")); number_five.MTMAddItem(new MTMenuItem("images", "photo.html#longi", "text")); number_one.items[2].MTMakeSubmenu(number_five); // sub-submenu #4 var number_four = null; number_four = new MTMenu(); number_four.MTMAddItem(new MTMenuItem("botany", "maideni.html", "text")); number_four.MTMAddItem(new MTMenuItem("reports", "maidphy.html", "text")); number_four.MTMAddItem(new MTMenuItem("images", "photo.html#maideni", "text")); number_one.items[3].MTMakeSubmenu(number_four); // sub-submenu #5 var number_five = null; number_five = new MTMenu(); number_five.MTMAddItem(new MTMenuItem("botany", "obtusi.html", "text")); number_five.MTMAddItem(new MTMenuItem("reports", "obtuphy.html", "text")); number_five.MTMAddItem(new MTMenuItem("images", "photo.html#obtusi", "text")); number_one.items[4].MTMakeSubmenu(number_five); // sub-submenu #6 var number_six = null; number_six = new MTMenu(); number_six.MTMAddItem(new MTMenuItem("botany", "phlebo.html", "text")); number_six.MTMAddItem(new MTMenuItem("reports", "phlebphy.html", "text")); number_six.MTMAddItem(new MTMenuItem("images", "photo.html#phlebo", "text")); number_one.items[5].MTMakeSubmenu(number_six); // sub-submenu #7 var number_seven = null; number_seven = new MTMenu(); number_seven.MTMAddItem(new MTMenuItem("botany", "simplex.html", "text")); number_seven.MTMAddItem(new MTMenuItem("reports", "simphy.html", "text")); number_seven.MTMAddItem(new MTMenuItem("images", "photo.html#simplex", "text")); number_one.items[6].MTMakeSubmenu(number_seven); // sub-submenu #8 var number_eight = null; number_eight = new MTMenu(); number_eight.MTMAddItem(new MTMenuItem("botany", "sophor.html", "text")); number_eight.MTMAddItem(new MTMenuItem("reports", "sophyto.html", "text")); number_eight.MTMAddItem(new MTMenuItem("images", "photo.html#sophor", "text")); number_one.items[7].MTMakeSubmenu(number_eight);