//---------------------------------------------------------------------------
// This script is based on the work of Dieter Bungers - http://www.infovation.de
// The original example for the "Cross Browser Expanding and Collapsing TOC"
// was published on http://www.siteexperts.com/tips/techniques/ts03/index.htm
//---------------------------------------------------------------------------

var tocTab = new Array();var ir=0;
tocTab[ir++] = new Array ("1", "FileStorage component", "", "", "msdn_closedbook.gif", "msdn_openbook.gif");
tocTab[ir++] = new Array ("1.1", "TFileStorage - Overview", "tfilestorage.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("1.2", "Properties", "", "", "msdn_closedbook.gif", "msdn_openbook.gif");
tocTab[ir++] = new Array ("1.2.1", "AutoExtract", "autoextract.htm", "", "msdn_closedbook.gif", "msdn_openbook.gif");
tocTab[ir++] = new Array ("1.2.1.1", "Enabled", "enabled.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("1.2.1.2", "ExtractTo", "extractto.htm", "", "msdn_closedbook.gif", "msdn_openbook.gif");
tocTab[ir++] = new Array ("1.2.1.2.1", "CreatePath", "createpath.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("1.2.1.2.2", "SubDirectory", "subdirectory.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("1.2.1.2.3", "TopLevelDir", "topleveldir.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("1.2.1.3", "Overwrite", "overwrite.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("1.2.1.4", "RemoveOnTerminate", "removeonterminate.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("1.2.2", "Count", "count.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("1.2.3", "DataSize", "datasize.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("1.2.4", "Files", "files.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("1.3", "Methods", "", "", "msdn_closedbook.gif", "msdn_openbook.gif");
tocTab[ir++] = new Array ("1.3.1", "Extract", "extract.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("1.4", "Events", "", "", "msdn_closedbook.gif", "msdn_openbook.gif");
tocTab[ir++] = new Array ("1.4.1", "OnExtract", "onextract.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("1.4.2", "OnExtracted", "onextracted.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("1.5", "FileStorage designer", "filestoragedesigner.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("1.6", "Playing .WAVs (example)", "playing_wavs.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("2", "WavPlayer component", "", "", "msdn_closedbook.gif", "msdn_openbook.gif");
tocTab[ir++] = new Array ("2.1", "TWavPlayer - Overview", "twavplayer.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("2.2", "Properties", "", "", "msdn_closedbook.gif", "msdn_openbook.gif");
tocTab[ir++] = new Array ("2.2.1", "Asynchroneous", "asynchroneous.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("2.2.2", "Looped", "looped.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("2.2.3", "SoundType", "soundtype.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("2.2.4", "WaveSound", "wavesound.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("2.3", "Methods", "", "", "msdn_closedbook.gif", "msdn_openbook.gif");
tocTab[ir++] = new Array ("2.3.1", "Play", "play.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("2.3.2", "Stop", "stop.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("2.4", "Events", "", "", "msdn_closedbook.gif", "msdn_openbook.gif");
tocTab[ir++] = new Array ("2.4.1", "OnAfterPlay", "onafterplay.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("2.4.2", "OnBeforePlay", "onbeforeplay.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("3", "Installation Instructions", "installationinstructions.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("4", "License Agreement", "licenseagreement.htm", "", "msdn_topic.gif", "");
tocTab[ir++] = new Array ("5", "Registration Information", "registrationinformation.htm", "", "msdn_topic.gif", "");
showNumbers = false,
textSizes = new Array(1, 1, 0.7, 0.7),
tocBehaviour = new Array(1,1),
tocScroll=true,
tocLinks = new Array(1,0);
var isIE = navigator.appName.toLowerCase().indexOf("explorer") > -1;
var mdi = (isIE) ? textSizes[1]:textSizes[3];
var sml = (isIE) ? textSizes[2]:textSizes[4];
var oldCurrentNumber = "", oldLastVisitNumber = "";
var toDisplay = new Array();
for (ir=0; ir<tocTab.length; ir++) {
toDisplay[ir] = tocTab[ir][0].split(".").length==1;
}
function reDisplay(currentNumber,tocChange,noLink,e) {
if (e) {
ctrlKeyDown = (isIE) ? e.ctrlKey : (e.modifiers==2);
if (tocChange && ctrlKeyDown) tocChange = 2;
}
toc.document.clear();
toc.document.write("<html>\n\r<head></head>\n\r<style type=\"text/css\">\n\r       SPAN.heading1 { font-family: Arial,Helvetica; font-weight: normal; font-size: 10pt; color: #000000; text-decoration: none }\n\r       SPAN.heading2 { font-family: Arial,Helvetica; font-weight: normal; font-size: 9pt; color: #000000; text-decoration: none }\n\r       SPAN.heading3 { font-family: Arial,Helvetica; font-weight: normal; font-size: 8pt; color: #000000; text-decoration: none }\n\r       SPAN.heading4 { font-family: Arial,Helvetica; font-weight: normal; font-size: 8pt; color: #000000; text-decoration: none }\n\r       SPAN.heading5 { font-family: Arial,Helvetica; font-weight: normal; font-size: 8pt; color: #000000; text-decoration: none }\n\r       SPAN.heading6 { font-family: Arial,Helvetica; font-weight: normal; font-size: 8pt; color: #000000; text-decoration: none }\n\r\n\r       SPAN.hilight1 { font-family: Arial,Helvetica; font-weight: normal; font-size: 10pt; color: #FFFFFF; background: #002682; text-decoration: none }\n\r       SPAN.hilight2 { font-family: Arial,Helvetica; font-weight: normal; font-size: 9pt; color: #FFFFFF; background: #002682; text-decoration: none }\n\r       SPAN.hilight3 { font-family: Arial,Helvetica; font-weight: normal; font-size: 8pt; color: #FFFFFF; background: #002682; text-decoration: none }\n\r       SPAN.hilight4 { font-family: Arial,Helvetica; font-weight: normal; font-size: 8pt; color: #FFFFFF; background: #002682; text-decoration: none }\n\r       SPAN.hilight5 { font-family: Arial,Helvetica; font-weight: normal; font-size: 8pt; color: #FFFFFF; background: #002682; text-decoration: none }\n\r       SPAN.hilight6 { font-family: Arial,Helvetica; font-weight: normal; font-size: 8pt; color: #FFFFFF; background: #002682; text-decoration: none }\n\r</style>\n\r<body bgcolor=\"#FFFFFF\">\n\r  <font face=\"Arial,Helvetica\" size=\"4\"><b>\n\rFileStorage\n\r  </b></font>\n\r  <br>\n\r\n\r  <!-- Place holder for the TOC, do not delete the line below -->\n\r  ");var currentNumArray = currentNumber.split(".");
var currentLevel = currentNumArray.length-1;
var currentIndex = 1;
if (currentNumber == "") currentNumber = top.location.href.substring(top.location.href.lastIndexOf("?")+1,top.location.href.length);
for (i=0; i<tocTab.length; i++) {
if (tocTab[i][2] == currentNumber && tocTab[i][2] != "") {
currentIndex = i;
break;
}
if (tocTab[i][0] == currentNumber) {
currentIndex = i;
break;
}
}
if (currentIndex < tocTab.length-1) {
nextLevel = tocTab[currentIndex+1][0].split(".").length-1;
currentIsExpanded = nextLevel > currentLevel && toDisplay[currentIndex+1];
}
else currentIsExpanded = false;
theHref = (noLink) ? "" : tocTab[currentIndex][2];
theTarget = tocTab[currentIndex][3];
for (i=1; i<tocTab.length; i++) {
if (tocChange) {
thisNumber = tocTab[i][0];
thisNumArray = thisNumber.split(".");
thisLevel = thisNumArray.length-1;
isOnPath = true;
if (thisLevel > 0) {
for (j=0; j<thisLevel; j++) {
isOnPath = (j>currentLevel) ? false : isOnPath && (thisNumArray[j] == currentNumArray[j]);
}
}
toDisplay[i] = (tocChange == 1) ? isOnPath : (isOnPath || toDisplay[i]);
if (thisNumber.indexOf(currentNumber+".")==0 && thisLevel > currentLevel) {
if (currentIsExpanded) toDisplay[i] = false;
else toDisplay[i] = (thisLevel == currentLevel+1);
}
}
}
var scrollY=0, addScroll=tocScroll;
for (i=0; i<tocTab.length; i++) {
if (toDisplay[i]) {
thisNumber = tocTab[i][0];
thisNumArray = thisNumber.split(".");
thisLevel = thisNumArray.length-1;
isCurrent = (i == currentIndex);
if (i < tocTab.length-1) {
nextLevel = tocTab[i+1][0].split(".").length-1;
img = (thisLevel >= nextLevel) ? tocTab[i][4] : ((toDisplay[i+1]) ? tocTab[i][5] : tocTab[i][4]);
}
else img = tocTab[i][4];
thisTextClass = ((thisNumber==currentNumber)?("hilight"):("heading"));
if (addScroll) scrollY+=((thisLevel<2)?mdi:sml)*25;
if (isCurrent) addScroll=false;
toc.document.write("<table border=0 cellspacing=0 cellpadding=2>");
toc.document.write("<tr><td width=" + ((thisLevel+1) * 20) + " align=right valign=top>");
toc.document.write("<a href=\"javaScript:history.go(0)\" onMouseDown=\"parent.reDisplay('" + thisNumber + "'," + tocBehaviour[0] + "," + tocLinks[0] + ",event)\">");
toc.document.write("<img src=\"" + img + "\" border=0></a>");
toc.document.write("</td><td align=left>");
toc.document.write("<a href=\"javaScript:history.go(0)\" onMouseDown=\"parent.reDisplay('" + thisNumber + "'," + tocBehaviour[1] + "," + tocLinks[1] + ",event)\">");
toc.document.write("<span class=\""  + thisTextClass + ((thisLevel>5) ? 6 : thisLevel+1) + "\">");
toc.document.write( ((showNumbers)?(thisNumber+" "):"") + tocTab[i][1]);
toc.document.write("</span></a>");
toc.document.writeln("</td></tr></table>");
}
}
if (!noLink) {
oldLastVisitNumber = oldCurrentNumber;
oldCurrentNumber = currentNumber;
}
toc.document.write("\n\r\n\r  <br>\n\r  <hr>\n\r  <font face=\"Arial,Helvetica\" size=\"1\">\n\rCopyright © 1999-2002, Utilmind Solutions. All Rights Reserved.\n\r  </font>\n\r</body>\n\r</html>");
toc.document.close();
if (tocScroll) toc.scroll(0,scrollY);
if (theHref)
if (theTarget=="top") top.location.href = theHref;
else if (theTarget=="parent") parent.location.href = theHref;
else if (theTarget=="blank") open(theHref,"");
else content.location.href = theHref;
}
