58. Araxis Merge File Comparison Report

Produced by Araxis Merge on Thu Oct 16 22:30:03 2008 UTC. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a reasonably standards compliant browser such as the latest version of Firefox or Internet Explorer. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

58.1 Files compared

# Location File Last Modified
1 C:\Documents and Settings\lauren\Desktop\ww-version-snapshots\ww-version-snapshots\2008.2\WebWorks\ePublisher Pro\Formats\WebWorks Help 5.0\Files\wwhelp\wwhimpl\js\scripts outline.js Thu Jun 26 22:10:30 2008 UTC
2 C:\Documents and Settings\lauren\Desktop\ww-version-snapshots\ww-version-snapshots\2008.3\WebWorks\ePublisher Pro\Formats\WebWorks Help 5.0\Files\wwhelp\wwhimpl\js\scripts outline.js Mon Oct 13 05:51:54 2008 UTC

58.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 2226
Changed 1 2
Inserted 0 0
Removed 0 0

58.3 Comparison options

Whitespace All differences in whitespace within lines are ignored
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

58.4 Active regular expressions

No regular expressions were active.

58.5 Comparison detail

1   // Copyrig ht (c) 200 0-2003 Qua dralay Cor poration.   All right s reserved .   1   // Copyrig ht (c) 200 0-2003 Qua dralay Cor poration.   All right s reserved .
2   //   2   //
3     3  
4   function   WWHOutline _Object()   4   function   WWHOutline _Object()
5   {   5   {
6     var  bUs eSafeMetho ds = true;   6     var  bUs eSafeMetho ds = true;
7     7  
8     8  
9     // Deter mine displ ay method  based on b rowser typ e   9     // Deter mine displ ay method  based on b rowser typ e
10     //   10     //
11     if ((WWH Frame.WWHB rowser.mBr owser == 2 ) ||  // S horthand f or IE   11     if ((WWH Frame.WWHB rowser.mBr owser == 2 ) ||  // S horthand f or IE
12         (WWH Frame.WWHB rowser.mBr owser == 3 ) ||  // S horthand f or iCab   12         (WWH Frame.WWHB rowser.mBr owser == 3 ) ||  // S horthand f or iCab
13         (WWH Frame.WWHB rowser.mBr owser == 4 ) ||  // S horthand f or Netscap e 6.0 (Moz illa)   13         (WWH Frame.WWHB rowser.mBr owser == 4 ) ||  // S horthand f or Netscap e 6.0 (Moz illa)
14         (WWH Frame.WWHB rowser.mBr owser == 5 ))    // S horthand f or Safari   14         (WWH Frame.WWHB rowser.mBr owser == 5 ))    // S horthand f or Safari
15     {   15     {
16       bUseSa feMethods  = false;   16       bUseSa feMethods  = false;
17     }   17     }
18     18  
19     this.mbP anelInitia lized = fa lse;   19     this.mbP anelInitia lized = fa lse;
20     this.mPa nelAnchor        = nu ll;   20     this.mPa nelAnchor        = nu ll;
21     this.mPa nelTabTitl e     = WW HFrame.WWH JavaScript .mMessages .mTabsTOCL abel;   21     this.mPa nelTabTitl e     = WW HFrame.WWH JavaScript .mMessages .mTabsTOCL abel;
22     this.mPa nelTabInde x     = -1 ;   22     this.mPa nelTabInde x     = -1 ;
23     this.mPa nelFilenam e     = "p anelvie.ht m";   23     this.mPa nelFilenam e     = "p anelvie.ht m";
24     this.mIn itIndex          = 0;   24     this.mIn itIndex          = 0;
25     this.mBo okEntryArr ay    = ne w Array();   25     this.mBo okEntryArr ay    = ne w Array();
26     this.mEn tryHash          = ne w WWHOutli neEntryHas h_Object() ;   26     this.mEn tryHash          = ne w WWHOutli neEntryHas h_Object() ;
27     this.mTo pEntry           = ne w WWHOutli neEntry_To p_Object() ;   27     this.mTo pEntry           = ne w WWHOutli neEntry_To p_Object() ;
28     this.mNe xtEntryID        = 0;   28     this.mNe xtEntryID        = 0;
29     this.mMa xLevel           = 0;   29     this.mMa xLevel           = 0;
30     this.mSy ncBookInde x     = nu ll;   30     this.mSy ncBookInde x     = nu ll;
31     this.mSy ncFileInde x     = nu ll;   31     this.mSy ncFileInde x     = nu ll;
32     this.mSy ncAnchor         = nu ll;   32     this.mSy ncAnchor         = nu ll;
33     this.mIm agingObjec t     = (b UseSafeMet hods) ? ne w WWHOutli neImagingS afe_Object () : new W WHOutlineI magingFast _Object();   33     this.mIm agingObjec t     = (b UseSafeMet hods) ? ne w WWHOutli neImagingS afe_Object () : new W WHOutlineI magingFast _Object();
34     34  
35     this.fIn itHeadHTML            = WWHOutli ne_InitHea dHTML;   35     this.fIn itHeadHTML            = WWHOutli ne_InitHea dHTML;
36     this.fIn itBodyHTML            = WWHOutli ne_InitBod yHTML;   36     this.fIn itBodyHTML            = WWHOutli ne_InitBod yHTML;
37     this.fIn itGrouping s          = WWHOutli ne_InitGro upings;   37     this.fIn itGrouping s          = WWHOutli ne_InitGro upings;
38     this.fIn itLoadBook TOC        = WWHOutli ne_InitLoa dBookTOC;   38     this.fIn itLoadBook TOC        = WWHOutli ne_InitLoa dBookTOC;
39     this.fHe adHTML                = WWHOutli ne_HeadHTM L;   39     this.fHe adHTML                = WWHOutli ne_HeadHTM L;
40     this.fCl ickedExpan d          = WWHOutli ne_Clicked Expand;   40     this.fCl ickedExpan d          = WWHOutli ne_Clicked Expand;
41     this.fCl ickedColla pse        = WWHOutli ne_Clicked Collapse;   41     this.fCl ickedColla pse        = WWHOutli ne_Clicked Collapse;
42     this.fCl ickedDispl ayDoc      = WWHOutli ne_Clicked DisplayDoc ;   42     this.fCl ickedDispl ayDoc      = WWHOutli ne_Clicked DisplayDoc ;
43     this.fSt artHTMLSeg ments      = WWHOutli ne_StartHT MLSegments ;   43     this.fSt artHTMLSeg ments      = WWHOutli ne_StartHT MLSegments ;
44     this.fAd vanceHTMLS egment     = WWHOutli ne_Advance HTMLSegmen t;   44     this.fAd vanceHTMLS egment     = WWHOutli ne_Advance HTMLSegmen t;
45     this.fGe tHTMLSegme nt         = WWHOutli ne_GetHTML Segment;   45     this.fGe tHTMLSegme nt         = WWHOutli ne_GetHTML Segment;
46     this.fEn dHTMLSegme nts        = WWHOutli ne_EndHTML Segments;   46     this.fEn dHTMLSegme nts        = WWHOutli ne_EndHTML Segments;
47     this.fPa nelNavigat ionLoaded  = WWHOutli ne_PanelNa vigationLo aded;   47     this.fPa nelNavigat ionLoaded  = WWHOutli ne_PanelNa vigationLo aded;
48     this.fPa nelViewLoa ded        = WWHOutli ne_PanelVi ewLoaded;   48     this.fPa nelViewLoa ded        = WWHOutli ne_PanelVi ewLoaded;
49     this.fHo verTextTra nslate     = WWHOutli ne_HoverTe xtTranslat e;   49     this.fHo verTextTra nslate     = WWHOutli ne_HoverTe xtTranslat e;
50     this.fHo verTextFor mat        = WWHOutli ne_HoverTe xtFormat;   50     this.fHo verTextFor mat        = WWHOutli ne_HoverTe xtFormat;
51     this.fEx pand                  = WWHOutli ne_Expand;   51     this.fEx pand                  = WWHOutli ne_Expand;
52     this.fCo llapse                = WWHOutli ne_Collaps e;   52     this.fCo llapse                = WWHOutli ne_Collaps e;
53     this.fDi splayDoc              = WWHOutli ne_Display Doc;   53     this.fDi splayDoc              = WWHOutli ne_Display Doc;
54     this.fSy nc                    = WWHOutli ne_Sync;   54     this.fSy nc                    = WWHOutli ne_Sync;
55   }   55   }
56     56  
57   function   WWHOutline _InitHeadH TML()   57   function   WWHOutline _InitHeadH TML()
58   {   58   {
59     var  Ini tHeadHTML  = "";   59     var  Ini tHeadHTML  = "";
60     60  
61     61  
62     return I nitHeadHTM L;   62     return I nitHeadHTM L;
63   }   63   }
64     64  
65   function   WWHOutline _InitBodyH TML()   65   function   WWHOutline _InitBodyH TML()
66   {   66   {
67     var  HTM L = new WW HStringBuf fer_Object ();   67     var  HTM L = new WW HStringBuf fer_Object ();
68     var  Boo kList = WW HFrame.WWH Help.mBook s.mBookLis t;   68     var  Boo kList = WW HFrame.WWH Help.mBook s.mBookLis t;
69     var  Var Parameters ;   69     var  Var Parameters ;
70     var  Max Index;   70     var  Max Index;
71     var  Ind ex;   71     var  Ind ex;
72     72  
73     73  
74     // Worka round Safa ri reload  bug   74     // Worka round Safa ri reload  bug
75     //   75     //
76     VarParam eters = "" ;   76     VarParam eters = "" ;
77     if (WWHF rame.WWHBr owser.mBro wser == 5)   // Short hhand for  Safari   77     if (WWHF rame.WWHBr owser.mBro wser == 5)   // Short hhand for  Safari
78     {   78     {
79       VarPar ameters =  "?" + (new  Date() *  1);   79       VarPar ameters =  "?" + (new  Date() *  1);
80     }   80     }
81     81  
82     // Displ ay initial izing mess age   82     // Displ ay initial izing mess age
83     //   83     //
84     HTML.fAp pend("<h2> " + WWHFra me.WWHJava Script.mMe ssages.mIn itializing Message +  "</h2>\n") ;   84     HTML.fAp pend("<h2> " + WWHFra me.WWHJava Script.mMe ssages.mIn itializing Message +  "</h2>\n") ;
85     85  
86     // Creat e top leve l entries  for groups  and books   86     // Creat e top leve l entries  for groups  and books
87     //   87     //
88     this.fIn itGrouping s(this.mTo pEntry, WW HFrame.WWH Help.mBook Groups);   88     this.fIn itGrouping s(this.mTo pEntry, WW HFrame.WWH Help.mBook Groups);
89     89  
90     // Load  book TOC d ata   90     // Load  book TOC d ata
91     //   91     //
92     this.mIn itIndex =  0;   92     this.mIn itIndex =  0;
93     for (Max Index = Bo okList.len gth, Index  = 0 ; Ind ex < MaxIn dex ; Inde x++)   93     for (Max Index = Bo okList.len gth, Index  = 0 ; Ind ex < MaxIn dex ; Inde x++)
94     {   94     {
95       // Ref erence TOC  data   95       // Ref erence TOC  data
96       //   96       //
97        HTML.fAppe nd("<scrip t   language=\ "JavaScrip t1.2\"   src=\""   +   WWHFrame.W WHHelp.mHe lpURLPrefi x   +   WWHFrame.W WHBrowser. fRestoreEs capedSpace s( BookList[I ndex].mDir ectory )   +   "wwhdata/j s/toc.js"   +   VarParamet ers   +   "\"></scri pt>\n");   97        HTML.fAppe nd("<scrip t   language=\ "JavaScrip t1.2\"   src=\""   +   WWHFrame.W WHHelp.mHe lpURLPrefi x   +  
BookList[I ndex].mDir ectory  
+   "wwhdata/j s/toc.js"   +   VarParamet ers   +   "\"></scri pt>\n");
98     98  
99       // Loa d TOC data  for curre nt book   99       // Loa d TOC data  for curre nt book
100       //   100       //
101       HTML.f Append("<s cript lang uage=\"Jav aScript1.2 \" src=\""  + WWHFram e.WWHHelp. mHelpURLPr efix + "ww help/wwhim pl/js/scri pts/outlin 1s.js" + V arParamete rs + "\">< /script>\n ");   101       HTML.f Append("<s cript lang uage=\"Jav aScript1.2 \" src=\""  + WWHFram e.WWHHelp. mHelpURLPr efix + "ww help/wwhim pl/js/scri pts/outlin 1s.js" + V arParamete rs + "\">< /script>\n ");
102     }   102     }
103     103  
104     return H TML.fGetBu ffer();   104     return H TML.fGetBu ffer();
105   }   105   }
106     106  
107   function   WWHOutline _InitGroup ings(Param ParentEntr y,   107   function   WWHOutline _InitGroup ings(Param ParentEntr y,
108                                         Param Group)   108                                         Param Group)
109   {   109   {
110     var  Max Index;   110     var  Max Index;
111     var  Ind ex;   111     var  Ind ex;
112     var  Gro upEntry;   112     var  Gro upEntry;
113     var  TOC Entry;   113     var  TOC Entry;
114     114  
115     115  
116     for (Max Index = Pa ramGroup.m Children.l ength, Ind ex = 0 ; I ndex < Max Index ; In dex++)   116     for (Max Index = Pa ramGroup.m Children.l ength, Ind ex = 0 ; I ndex < Max Index ; In dex++)
117     {   117     {
118       GroupE ntry = Par amGroup.mC hildren[In dex];   118       GroupE ntry = Par amGroup.mC hildren[In dex];
119     119  
120       if (Gr oupEntry.m bGrouping)   120       if (Gr oupEntry.m bGrouping)
121       {   121       {
122         // C reate entr y in TOC   122         // C reate entr y in TOC
123         //   123         //
124         TOCE ntry = Par amParentEn try.fNewCh ild(GroupE ntry.mTitl e, "", Gro upEntry.mI con, Group Entry.mOpe nIcon);   124         TOCE ntry = Par amParentEn try.fNewCh ild(GroupE ntry.mTitl e, "", Gro upEntry.mI con, Group Entry.mOpe nIcon);
125         TOCE ntry.mbExp anded = Gr oupEntry.m bExpand;   125         TOCE ntry.mbExp anded = Gr oupEntry.m bExpand;
126     126  
127         this .fInitGrou pings(TOCE ntry, Grou pEntry);   127         this .fInitGrou pings(TOCE ntry, Grou pEntry);
128       }   128       }
129       else   // Must be  a book di rectory   129       else   // Must be  a book di rectory
130       {   130       {
131         TOCE ntry = Par amParentEn try.fNewCh ild(WWHFra me.WWHHelp .mBooks.mB ookList[th is.mBookEn tryArray.l ength].mTi tle, "", G roupEntry. mIcon, Gro upEntry.mO penIcon);   131         TOCE ntry = Par amParentEn try.fNewCh ild(WWHFra me.WWHHelp .mBooks.mB ookList[th is.mBookEn tryArray.l ength].mTi tle, "", G roupEntry. mIcon, Gro upEntry.mO penIcon);
132     132  
133         // S et display  options   133         // S et display  options
134         //   134         //
135         TOCE ntry.mbSho w = GroupE ntry.mbSho w;   135         TOCE ntry.mbSho w = GroupE ntry.mbSho w;
136         if ( GroupEntry .mbShow)   136         if ( GroupEntry .mbShow)
137         {   137         {
138           TO CEntry.mbE xpanded =  GroupEntry .mbExpand;   138           TO CEntry.mbE xpanded =  GroupEntry .mbExpand;
139         }   139         }
140         else   140         else
141         {   141         {
142           TO CEntry.mbE xpanded =  true;   142           TO CEntry.mbE xpanded =  true;
143           TO CEntry.mLe vel     =  ParamParen tEntry.mLe vel;   143           TO CEntry.mLe vel     =  ParamParen tEntry.mLe vel;
144         }   144         }
145     145  
146         // A dd to mBoo kEntryArra y   146         // A dd to mBoo kEntryArra y
147         //   147         //
148         this .mBookEntr yArray[thi s.mBookEnt ryArray.le ngth] = TO CEntry;   148         this .mBookEntr yArray[thi s.mBookEnt ryArray.le ngth] = TO CEntry;
149       }   149       }
150     }   150     }
151   }   151   }
152     152  
153   function   WWHOutline _InitLoadB ookTOC(Par amAddTOCEn triesFunc)   153   function   WWHOutline _InitLoadB ookTOC(Par amAddTOCEn triesFunc)
154   {   154   {
155     var  Boo kEntry;   155     var  Boo kEntry;
156     156  
157     157  
158     // Acces s book ent ry   158     // Acces s book ent ry
159     //   159     //
160     BookEntr y = this.m BookEntryA rray[this. mInitIndex ];   160     BookEntr y = this.m BookEntryA rray[this. mInitIndex ];
161     161  
162     // Set B ook Index   162     // Set B ook Index
163     //   163     //
164     BookEntr y.mBookInd ex = this. mInitIndex ;   164     BookEntr y.mBookInd ex = this. mInitIndex ;
165     165  
166     // Load  TOC   166     // Load  TOC
167     //   167     //
168     ParamAdd TOCEntries Func(BookE ntry);   168     ParamAdd TOCEntries Func(BookE ntry);
169     169  
170     // Assig n URL for  book entry   170     // Assig n URL for  book entry
171     //   171     //
172     if ((Boo kEntry.mbS how) &&   172     if ((Boo kEntry.mbS how) &&
173         (WWH Frame.WWHH elp.mBooks .mBookList [BookEntry .mBookInde x].mFiles. mFileList. length > 0 ))   173         (WWH Frame.WWHH elp.mBooks .mBookList [BookEntry .mBookInde x].mFiles. mFileList. length > 0 ))
174     {   174     {
175       BookEn try.mURL =  "0";   175       BookEn try.mURL =  "0";
176     }   176     }
177     177  
178     // Incre ment init  book index   178     // Incre ment init  book index
179     //   179     //
180     this.mIn itIndex++;   180     this.mIn itIndex++;
181     181  
182     // Mark  initialize d if done   182     // Mark  initialize d if done
183     //   183     //
184     if (this .mInitInde x == WWHFr ame.WWHHel p.mBooks.m BookList.l ength)   184     if (this .mInitInde x == WWHFr ame.WWHHel p.mBooks.m BookList.l ength)
185     {   185     {
186       this.m bPanelInit ialized =  true;   186       this.m bPanelInit ialized =  true;
187     187  
188       // Syn c contents  if necess ary   188       // Syn c contents  if necess ary
189       //   189       //
190       if ((t his.mSyncB ookIndex ! = null) &&   190       if ((t his.mSyncB ookIndex ! = null) &&
191           (t his.mSyncF ileIndex ! = null)   191           (t his.mSyncF ileIndex ! = null)
192           (t his.mSyncA nchor != n ull))   192           (t his.mSyncA nchor != n ull))
193       {   193       {
194         this .fSync(thi s.mSyncBoo kIndex, th is.mSyncFi leIndex, t his.mSyncA nchor, fal se);   194         this .fSync(thi s.mSyncBoo kIndex, th is.mSyncFi leIndex, t his.mSyncA nchor, fal se);
195     195  
196         this .mSyncBook Index = nu ll;   196         this .mSyncBook Index = nu ll;
197         this .mSyncFile Index = nu ll;   197         this .mSyncFile Index = nu ll;
198         this .mSyncAnch or    = nu ll;   198         this .mSyncAnch or    = nu ll;
199       }   199       }
200     }   200     }
201   }   201   }
202     202  
203   function   WWHOutline _HeadHTML( )   203   function   WWHOutline _HeadHTML( )
204   {   204   {
205     var  HTM L = new WW HStringBuf fer_Object ();   205     var  HTM L = new WW HStringBuf fer_Object ();
206     206  
207     207  
208     // Write  formattin g styles   208     // Write  formattin g styles
209     //   209     //
210     HTML.fAp pend(this. mImagingOb ject.fGene rateStyles ());   210     HTML.fAp pend(this. mImagingOb ject.fGene rateStyles ());
211     211  
212     return H TML.fGetBu ffer();   212     return H TML.fGetBu ffer();
213   }   213   }
214     214  
215   function   WWHOutline _ClickedEx pand(Param EntryID)   215   function   WWHOutline _ClickedEx pand(Param EntryID)
216   {   216   {
217     var  Var AnchorPref ix;   217     var  Var AnchorPref ix;
218     218  
219     219  
220     // Expan d   220     // Expan d
221     //   221     //
222     this.fEx pand(Param EntryID);   222     this.fEx pand(Param EntryID);
223     223  
224     // Set f ocus   224     // Set f ocus
225     //   225     //
226     if (WWHF rame.WWHHe lp.mbAcces sible)   226     if (WWHF rame.WWHHe lp.mbAcces sible)
227     {   227     {
228       VarAnc horPrefix  = "t";   228       VarAnc horPrefix  = "t";
229     }   229     }
230     else   230     else
231     {   231     {
232       VarAnc horPrefix  = "tb";   232       VarAnc horPrefix  = "tb";
233     }   233     }
234     WWHFrame .WWHHelp.f Focus("WWH PanelViewF rame", Var AnchorPref ix + Param EntryID);   234     WWHFrame .WWHHelp.f Focus("WWH PanelViewF rame", Var AnchorPref ix + Param EntryID);
235   }   235   }
236     236  
237   function   WWHOutline _ClickedCo llapse(Par amEntryID)   237   function   WWHOutline _ClickedCo llapse(Par amEntryID)
238   {   238   {
239     var  Var AnchorPref ix;   239     var  Var AnchorPref ix;
240     240  
241     241  
242     // Colla pse   242     // Colla pse
243     //   243     //
244     this.fCo llapse(Par amEntryID) ;   244     this.fCo llapse(Par amEntryID) ;
245     245  
246     // Set f ocus   246     // Set f ocus
247     //   247     //
248     if (WWHF rame.WWHHe lp.mbAcces sible)   248     if (WWHF rame.WWHHe lp.mbAcces sible)
249     {   249     {
250       VarAnc horPrefix  = "t";   250       VarAnc horPrefix  = "t";
251     }   251     }
252     else   252     else
253     {   253     {
254       VarAnc horPrefix  = "tb";   254       VarAnc horPrefix  = "tb";
255     }   255     }
256     WWHFrame .WWHHelp.f Focus("WWH PanelViewF rame", Var AnchorPref ix + Param EntryID);   256     WWHFrame .WWHHelp.f Focus("WWH PanelViewF rame", Var AnchorPref ix + Param EntryID);
257   }   257   }
258     258  
259   function   WWHOutline _ClickedDi splayDoc(P aramEntryI D)   259   function   WWHOutline _ClickedDi splayDoc(P aramEntryI D)
260   {   260   {
261     this.fDi splayDoc(P aramEntryI D);   261     this.fDi splayDoc(P aramEntryI D);
262   }   262   }
263     263  
264   function   WWHOutline _StartHTML Segments()   264   function   WWHOutline _StartHTML Segments()
265   {   265   {
266     var  HTM L = new WW HStringBuf fer_Object ();   266     var  HTM L = new WW HStringBuf fer_Object ();
267     267  
268     268  
269     // Reset  imaging o bject   269     // Reset  imaging o bject
270     //   270     //
271     this.mIm agingObjec t.fReset() ;   271     this.mIm agingObjec t.fReset() ;
272     272  
273     // Defin e accessor  functions  to reduce  file size   273     // Defin e accessor  functions  to reduce  file size
274     //   274     //
275     HTML.fAp pend("<scr ipt type=\ "text/java script\" l anguage=\" JavaScript 1.2\">\n") ;   275     HTML.fAp pend("<scr ipt type=\ "text/java script\" l anguage=\" JavaScript 1.2\">\n") ;
276     HTML.fAp pend(" <!- -\n");   276     HTML.fAp pend(" <!- -\n");
277     HTML.fAp pend("  fu nction  fE (ParamEntr yID)\n");   277     HTML.fAp pend("  fu nction  fE (ParamEntr yID)\n");
278     HTML.fAp pend("  {\ n");   278     HTML.fAp pend("  {\ n");
279     HTML.fAp pend("     WWHFrame.W WHOutline. fClickedEx pand(Param EntryID);\ n");   279     HTML.fAp pend("     WWHFrame.W WHOutline. fClickedEx pand(Param EntryID);\ n");
280     HTML.fAp pend("  }\ n");   280     HTML.fAp pend("  }\ n");
281     HTML.fAp pend("\n") ;   281     HTML.fAp pend("\n") ;
282     HTML.fAp pend("  fu nction  fC (ParamEntr yID)\n");   282     HTML.fAp pend("  fu nction  fC (ParamEntr yID)\n");
283     HTML.fAp pend("  {\ n");   283     HTML.fAp pend("  {\ n");
284     HTML.fAp pend("     WWHFrame.W WHOutline. fClickedCo llapse(Par amEntryID) ;\n");   284     HTML.fAp pend("     WWHFrame.W WHOutline. fClickedCo llapse(Par amEntryID) ;\n");
285     HTML.fAp pend("  }\ n");   285     HTML.fAp pend("  }\ n");
286     HTML.fAp pend("\n") ;   286     HTML.fAp pend("\n") ;
287     HTML.fAp pend("  fu nction  fD (ParamEntr yID)\n");   287     HTML.fAp pend("  fu nction  fD (ParamEntr yID)\n");
288     HTML.fAp pend("  {\ n");   288     HTML.fAp pend("  {\ n");
289     HTML.fAp pend("     WWHFrame.W WHOutline. fClickedDi splayDoc(P aramEntryI D);\n");   289     HTML.fAp pend("     WWHFrame.W WHOutline. fClickedDi splayDoc(P aramEntryI D);\n");
290     HTML.fAp pend("  }\ n");   290     HTML.fAp pend("  }\ n");
291     HTML.fAp pend("\n") ;   291     HTML.fAp pend("\n") ;
292     HTML.fAp pend("  fu nction  fS (ParamEntr yID,\n");   292     HTML.fAp pend("  fu nction  fS (ParamEntr yID,\n");
293     HTML.fAp pend("                 ParamEven t)\n");   293     HTML.fAp pend("                 ParamEven t)\n");
294     HTML.fAp pend("  {\ n");   294     HTML.fAp pend("  {\ n");
295     HTML.fAp pend("     WWHFrame.W WHJavaScri pt.mPanels .mPopup.fS how(ParamE ntryID, Pa ramEvent); \n");   295     HTML.fAp pend("     WWHFrame.W WHJavaScri pt.mPanels .mPopup.fS how(ParamE ntryID, Pa ramEvent); \n");
296     HTML.fAp pend("  }\ n");   296     HTML.fAp pend("  }\ n");
297     HTML.fAp pend("\n") ;   297     HTML.fAp pend("\n") ;
298     HTML.fAp pend("  fu nction  fH ()\n");   298     HTML.fAp pend("  fu nction  fH ()\n");
299     HTML.fAp pend("  {\ n");   299     HTML.fAp pend("  {\ n");
300     HTML.fAp pend("     WWHFrame.W WHJavaScri pt.mPanels .mPopup.fH ide();\n") ;   300     HTML.fAp pend("     WWHFrame.W WHJavaScri pt.mPanels .mPopup.fH ide();\n") ;
301     HTML.fAp pend("  }\ n");   301     HTML.fAp pend("  }\ n");
302     HTML.fAp pend(" //  -->\n");   302     HTML.fAp pend(" //  -->\n");
303     HTML.fAp pend("</sc ript>\n");   303     HTML.fAp pend("</sc ript>\n");
304     304  
305     return H TML.fGetBu ffer();   305     return H TML.fGetBu ffer();
306   }   306   }
307     307  
308   function   WWHOutline _AdvanceHT MLSegment( )   308   function   WWHOutline _AdvanceHT MLSegment( )
309   {   309   {
310     return t his.mImagi ngObject.f Advance(WW HFrame.WWH JavaScript .mMaxHTMLS egmentSize );   310     return t his.mImagi ngObject.f Advance(WW HFrame.WWH JavaScript .mMaxHTMLS egmentSize );
311   }   311   }
312     312  
313   function   WWHOutline _GetHTMLSe gment()   313   function   WWHOutline _GetHTMLSe gment()
314   {   314   {
315     return t his.mImagi ngObject.m HTMLSegmen t.fGetBuff er();   315     return t his.mImagi ngObject.m HTMLSegmen t.fGetBuff er();
316   }   316   }
317     317  
318   function   WWHOutline _EndHTMLSe gments()   318   function   WWHOutline _EndHTMLSe gments()
319   {   319   {
320     return " ";   320     return " ";
321   }   321   }
322     322  
323   function   WWHOutline _PanelNavi gationLoad ed()   323   function   WWHOutline _PanelNavi gationLoad ed()
324   {   324   {
325   }   325   }
326     326  
327   function   WWHOutline _PanelView Loaded()   327   function   WWHOutline _PanelView Loaded()
328   {   328   {
329     // Resto re focus   329     // Resto re focus
330     //   330     //
331     WWHFrame .WWHHelp.f Focus("WWH PanelViewF rame");   331     WWHFrame .WWHHelp.f Focus("WWH PanelViewF rame");
332   }   332   }
333     333  
334   function   WWHOutline _HoverText Translate( ParamEntry ID)   334   function   WWHOutline _HoverText Translate( ParamEntry ID)
335   {   335   {
336     return t his.mEntry Hash[Param EntryID].m Text;   336     return t his.mEntry Hash[Param EntryID].m Text;
337   }   337   }
338     338  
339   function   WWHOutline _HoverText Format(Par amWidth,   339   function   WWHOutline _HoverText Format(Par amWidth,
340                                           Par amTextID,   340                                           Par amTextID,
341                                           Par amText)   341                                           Par amText)
342   {   342   {
343     var  For mattedText    = "";   343     var  For mattedText    = "";
344     var  For egroundCol or = WWHFr ame.WWHJav aScript.mS ettings.mH overText.m Foreground Color;   344     var  For egroundCol or = WWHFr ame.WWHJav aScript.mS ettings.mH overText.m Foreground Color;
345     var  Bac kgroundCol or = WWHFr ame.WWHJav aScript.mS ettings.mH overText.m Background Color;   345     var  Bac kgroundCol or = WWHFr ame.WWHJav aScript.mS ettings.mH overText.m Background Color;
346     var  Bor derColor      = WWHFr ame.WWHJav aScript.mS ettings.mH overText.m BorderColo r;   346     var  Bor derColor      = WWHFr ame.WWHJav aScript.mS ettings.mH overText.m BorderColo r;
347     var  Ima geDir         = WWHFr ame.WWHHel p.mHelpURL Prefix + " wwhelp/wwh impl/commo n/images";   347     var  Ima geDir         = WWHFr ame.WWHHel p.mHelpURL Prefix + " wwhelp/wwh impl/commo n/images";
348     var  Req Spacer1w2h    = "<img  src=\"" +  ImageDir  + "/spc1w2 h.gif\" wi dth=1 heig ht=2 alt=\ "\">";   348     var  Req Spacer1w2h    = "<img  src=\"" +  ImageDir  + "/spc1w2 h.gif\" wi dth=1 heig ht=2 alt=\ "\">";
349     var  Req Spacer2w1h    = "<img  src=\"" +  ImageDir  + "/spc2w1 h.gif\" wi dth=2 heig ht=1 alt=\ "\">";   349     var  Req Spacer2w1h    = "<img  src=\"" +  ImageDir  + "/spc2w1 h.gif\" wi dth=2 heig ht=1 alt=\ "\">";
350     var  Req Spacer1w7h    = "<img  src=\"" +  ImageDir  + "/spc1w7 h.gif\" wi dth=1 heig ht=7 alt=\ "\">";   350     var  Req Spacer1w7h    = "<img  src=\"" +  ImageDir  + "/spc1w7 h.gif\" wi dth=1 heig ht=7 alt=\ "\">";
351     var  Req Spacer5w1h    = "<img  src=\"" +  ImageDir  + "/spc5w1 h.gif\" wi dth=5 heig ht=1 alt=\ "\">";   351     var  Req Spacer5w1h    = "<img  src=\"" +  ImageDir  + "/spc5w1 h.gif\" wi dth=5 heig ht=1 alt=\ "\">";
352     var  Spa cer1w2h       = ReqSp acer1w2h;   352     var  Spa cer1w2h       = ReqSp acer1w2h;
353     var  Spa cer2w1h       = ReqSp acer2w1h;   353     var  Spa cer2w1h       = ReqSp acer2w1h;
354     var  Spa cer1w7h       = ReqSp acer1w7h;   354     var  Spa cer1w7h       = ReqSp acer1w7h;
355     var  Spa cer5w1h       = ReqSp acer5w1h;   355     var  Spa cer5w1h       = ReqSp acer5w1h;
356     var  Sty leAtttribu te;   356     var  Sty leAtttribu te;
357     357  
358     358  
359     // Set s tyle attri bute to in sure small  image hei ght   359     // Set s tyle attri bute to in sure small  image hei ght
360     //   360     //
361     StyleAtt ribute = "  style=\"f ont-size:  1px; line- height: 1p x;\"";   361     StyleAtt ribute = "  style=\"f ont-size:  1px; line- height: 1p x;\"";
362     362  
363     Formatte dText += " <table wid th=\"" + P aramWidth  + "\" bord er=0 cells pacing=0 c ellpadding =0 bgcolor =\"" + Bac kgroundCol or + "\">" ;   363     Formatte dText += " <table wid th=\"" + P aramWidth  + "\" bord er=0 cells pacing=0 c ellpadding =0 bgcolor =\"" + Bac kgroundCol or + "\">" ;
364     Formatte dText += "  <tr>";   364     Formatte dText += "  <tr>";
365     Formatte dText += "   <td" + S tyleAttrib ute + " he ight=2 col span=5 bgc olor=\"" +  BorderCol or + "\">"  + Spacer1 w2h + "</t d>";   365     Formatte dText += "   <td" + S tyleAttrib ute + " he ight=2 col span=5 bgc olor=\"" +  BorderCol or + "\">"  + Spacer1 w2h + "</t d>";
366     Formatte dText += "  </tr>";   366     Formatte dText += "  </tr>";
367     367  
368     Formatte dText += "  <tr>";   368     Formatte dText += "  <tr>";
369     Formatte dText += "   <td" + S tyleAttrib ute + " he ight=7 bgc olor=\"" +  BorderCol or + "\">"  + Spacer2 w1h + "</t d>";   369     Formatte dText += "   <td" + S tyleAttrib ute + " he ight=7 bgc olor=\"" +  BorderCol or + "\">"  + Spacer2 w1h + "</t d>";
370     Formatte dText += "   <td" + S tyleAttrib ute + " he ight=7 col span=3>" +  Spacer1w7 h + "</td> ";   370     Formatte dText += "   <td" + S tyleAttrib ute + " he ight=7 col span=3>" +  Spacer1w7 h + "</td> ";
371     Formatte dText += "   <td" + S tyleAttrib ute + " he ight=7 bgc olor=\"" +  BorderCol or + "\">"  + Spacer2 w1h + "</t d>";   371     Formatte dText += "   <td" + S tyleAttrib ute + " he ight=7 bgc olor=\"" +  BorderCol or + "\">"  + Spacer2 w1h + "</t d>";
372     Formatte dText += "  </tr>";   372     Formatte dText += "  </tr>";
373     373  
374     Formatte dText += "  <tr>";   374     Formatte dText += "  <tr>";
375     Formatte dText += "   <td bgco lor=\"" +  BorderColo r + "\">"  + ReqSpace r2w1h + "< /td>";   375     Formatte dText += "   <td bgco lor=\"" +  BorderColo r + "\">"  + ReqSpace r2w1h + "< /td>";
376     Formatte dText += "   <td>" +  ReqSpacer5 w1h + "</t d>";   376     Formatte dText += "   <td>" +  ReqSpacer5 w1h + "</t d>";
377     Formatte dText += "   <td widt h=\"100%\"  id=\"" +  ParamTextI D + "\" st yle=\"colo r: " + For egroundCol or + " ; "  + WWHFram e.WWHJavaS cript.mSet tings.mHov erText.mFo ntStyle +  "\">" + Pa ramText +  "</td>";   377     Formatte dText += "   <td widt h=\"100%\"  id=\"" +  ParamTextI D + "\" st yle=\"colo r: " + For egroundCol or + " ; "  + WWHFram e.WWHJavaS cript.mSet tings.mHov erText.mFo ntStyle +  "\">" + Pa ramText +  "</td>";
378     Formatte dText += "   <td>" +  ReqSpacer5 w1h + "</t d>";   378     Formatte dText += "   <td>" +  ReqSpacer5 w1h + "</t d>";
379     Formatte dText += "   <td bgco lor=\"" +  BorderColo r + "\">"  + ReqSpace r2w1h + "< /td>";   379     Formatte dText += "   <td bgco lor=\"" +  BorderColo r + "\">"  + ReqSpace r2w1h + "< /td>";
380     Formatte dText += "  </tr>";   380     Formatte dText += "  </tr>";
381     381  
382     Formatte dText += "  <tr>";   382     Formatte dText += "  <tr>";
383     Formatte dText += "   <td" + S tyleAttrib ute + " he ight=7 bgc olor=\"" +  BorderCol or + "\">"  + Spacer2 w1h + "</t d>";   383     Formatte dText += "   <td" + S tyleAttrib ute + " he ight=7 bgc olor=\"" +  BorderCol or + "\">"  + Spacer2 w1h + "</t d>";
384     Formatte dText += "   <td" + S tyleAttrib ute + " he ight=7 col span=3>" +  Spacer1w7 h + "</td> ";   384     Formatte dText += "   <td" + S tyleAttrib ute + " he ight=7 col span=3>" +  Spacer1w7 h + "</td> ";
385     Formatte dText += "   <td" + S tyleAttrib ute + " he ight=7 bgc olor=\"" +  BorderCol or + "\">"  + Spacer2 w1h + "</t d>";   385     Formatte dText += "   <td" + S tyleAttrib ute + " he ight=7 bgc olor=\"" +  BorderCol or + "\">"  + Spacer2 w1h + "</t d>";
386     Formatte dText += "  </tr>";   386     Formatte dText += "  </tr>";
387     387  
388     Formatte dText += "  <tr>";   388     Formatte dText += "  <tr>";
389     Formatte dText += "   <td" + S tyleAttrib ute + " he ight=2 col span=5 bgc olor=\"" +  BorderCol or + "\">"  + Spacer1 w2h + "</t d>";   389     Formatte dText += "   <td" + S tyleAttrib ute + " he ight=2 col span=5 bgc olor=\"" +  BorderCol or + "\">"  + Spacer1 w2h + "</t d>";
390     Formatte dText += "  </tr>";   390     Formatte dText += "  </tr>";
391     Formatte dText += " </table>";   391     Formatte dText += " </table>";
392     392  
393     return F ormattedTe xt;   393     return F ormattedTe xt;
394   }   394   }
395     395  
396   function   WWHOutline _Expand(Pa ramEntryID )   396   function   WWHOutline _Expand(Pa ramEntryID )
397   {   397   {
398     var  Ent ry = this. mEntryHash [ParamEntr yID];   398     var  Ent ry = this. mEntryHash [ParamEntr yID];
399     399  
400     400  
401     Entry.mb Expanded =  true;   401     Entry.mb Expanded =  true;
402     this.mIm agingObjec t.fUpdateE ntry(Entry );   402     this.mIm agingObjec t.fUpdateE ntry(Entry );
403   }   403   }
404     404  
405   function   WWHOutline _Collapse( ParamEntry ID)   405   function   WWHOutline _Collapse( ParamEntry ID)
406   {   406   {
407     var  Ent ry = this. mEntryHash [ParamEntr yID];   407     var  Ent ry = this. mEntryHash [ParamEntr yID];
408     408  
409     409  
410     Entry.mb Expanded =  false;   410     Entry.mb Expanded =  false;
411     this.mIm agingObjec t.fUpdateE ntry(Entry );   411     this.mIm agingObjec t.fUpdateE ntry(Entry );
412   }   412   }
413     413  
414   function   WWHOutline _DisplayDo c(ParamEnt ryID)   414   function   WWHOutline _DisplayDo c(ParamEnt ryID)
415   {   415   {
416     var  Ent ry;   416     var  Ent ry;
417     var  Par ent;   417     var  Par ent;
418     var  Doc umentDispl ayed;   418     var  Doc umentDispl ayed;
419     var  Par ts;   419     var  Par ts;
420     var  Lin kFileIndex ;   420     var  Lin kFileIndex ;
421     var  Lin kAnchor;   421     var  Lin kAnchor;
422     var  Boo kListEntry ;   422     var  Boo kListEntry ;
423     var  URL ;   423     var  URL ;
424     424  
425     425  
426     // Close  down any  popups we  had going  to prevent  JavaScrip t errors   426     // Close  down any  popups we  had going  to prevent  JavaScrip t errors
427     //   427     //
428     WWHFrame .WWHJavaSc ript.mPane ls.mPopup. fHide();   428     WWHFrame .WWHJavaSc ript.mPane ls.mPopup. fHide();
429     429  
430     // Acces s entry   430     // Acces s entry
431     //   431     //
432     Entry =  this.mEntr yHash[Para mEntryID];   432     Entry =  this.mEntr yHash[Para mEntryID];
433     433  
434     // Deter mine which  book this  document  belongs to   434     // Deter mine which  book this  document  belongs to
435     //   435     //
436     Parent =  Entry;   436     Parent =  Entry;
437     while (( typeof(Par ent.mBookI ndex) != " number") & &   437     while (( typeof(Par ent.mBookI ndex) != " number") & &
438            ( Parent.mPa rent != nu ll))   438            ( Parent.mPa rent != nu ll))
439     {   439     {
440       Parent  = Parent. mParent;   440       Parent  = Parent. mParent;
441     }   441     }
442     442  
443     Document Displayed  = false;   443     Document Displayed  = false;
444     if (type of(Parent. mBookIndex ) == "numb er")   444     if (type of(Parent. mBookIndex ) == "numb er")
445     {   445     {
446       // Con firm URL d efined (ha ndles grou p entries)   446       // Con firm URL d efined (ha ndles grou p entries)
447       //   447       //
448       if (En try.mURL.l ength > 0)   448       if (En try.mURL.l ength > 0)
449       {   449       {
450         // D etermine l ink file i ndex and a nchor   450         // D etermine l ink file i ndex and a nchor
451         //   451         //
452         Part s = Entry. mURL.split ("#");   452         Part s = Entry. mURL.split ("#");
453         Link FileIndex  = parseInt (Parts[0]) ;   453         Link FileIndex  = parseInt (Parts[0]) ;
454         Link Anchor = n ull;   454         Link Anchor = n ull;
455         if ( Parts.leng th > 1)   455         if ( Parts.leng th > 1)
456         {   456         {
457           if  (Parts[1] .length >  0)   457           if  (Parts[1] .length >  0)
458           {   458           {
459              LinkAnchor  = Parts[1 ];   459              LinkAnchor  = Parts[1 ];
460           }   460           }
461         }   461         }
462     462  
463         URL  = WWHFrame .WWHHelp.f GetBookInd exFileInde xURL(Paren t.mBookInd ex, LinkFi leIndex, L inkAnchor) ;   463         URL  = WWHFrame .WWHHelp.f GetBookInd exFileInde xURL(Paren t.mBookInd ex, LinkFi leIndex, L inkAnchor) ;
464         WWHF rame.WWHHe lp.fSetDoc umentHREF( URL, false );   464         WWHF rame.WWHHe lp.fSetDoc umentHREF( URL, false );
465         Docu mentDispla yed = true ;   465         Docu mentDispla yed = true ;
466       }   466       }
467     }   467     }
468     468  
469     // Expan d/collapse  view as n eeded   469     // Expan d/collapse  view as n eeded
470     //   470     //
471     if (Entr y.mbExpand ed)   471     if (Entr y.mbExpand ed)
472     {   472     {
473       // Col lapse fold er if Acce ssible   473       // Col lapse fold er if Acce ssible
474       //   474       //
475       if (WW HFrame.WWH Help.mbAcc essible)   475       if (WW HFrame.WWH Help.mbAcc essible)
476       {   476       {
477         // D ocument di splayed?   477         // D ocument di splayed?
478         //   478         //
479         if ( DocumentDi splayed)   479         if ( DocumentDi splayed)
480         {   480         {
481           //  Indicate  collapsing   481           //  Indicate  collapsing
482           //   482           //
483           WW HFrame.WWH Help.mColl apsingTOCE ntry = tru e;   483           WW HFrame.WWH Help.mColl apsingTOCE ntry = tru e;
484         }   484         }
485     485  
486         this .fCollapse (ParamEntr yID);   486         this .fCollapse (ParamEntr yID);
487     487  
488         // S et focus   488         // S et focus
489         //   489         //
490         WWHF rame.WWHHe lp.fFocus( "WWHPanelV iewFrame",  "t" + Par amEntryID) ;   490         WWHF rame.WWHHe lp.fFocus( "WWHPanelV iewFrame",  "t" + Par amEntryID) ;
491       }   491       }
492     }   492     }
493     else   493     else
494     {   494     {
495       // Exp and if fol der   495       // Exp and if fol der
496       //   496       //
497       if (En try.mChild ren != nul l)   497       if (En try.mChild ren != nul l)
498       {   498       {
499         this .fExpand(P aramEntryI D);   499         this .fExpand(P aramEntryI D);
500     500  
501         // S et focus   501         // S et focus
502         //   502         //
503         WWHF rame.WWHHe lp.fFocus( "WWHPanelV iewFrame",  "t" + Par amEntryID) ;   503         WWHF rame.WWHHe lp.fFocus( "WWHPanelV iewFrame",  "t" + Par amEntryID) ;
504       }   504       }
505     }   505     }
506   }   506   }
507     507  
508   function   WWHOutline _Sync(Para mBookIndex ,   508   function   WWHOutline _Sync(Para mBookIndex ,
509                               Para mFileIndex ,   509                               Para mFileIndex ,
510                               Para mAnchor,   510                               Para mAnchor,
511                               bPar amVisible,   511                               bPar amVisible,
512                               bPar amReportEr ror)   512                               bPar amReportEr ror)
513   {   513   {
514     var  Boo kEntry;   514     var  Boo kEntry;
515     var  Max Index;   515     var  Max Index;
516     var  Ind ex;   516     var  Ind ex;
517     var  Sea rchPattern ;   517     var  Sea rchPattern ;
518     var  Ite rator;   518     var  Ite rator;
519     var  Mat chedEntry;   519     var  Mat chedEntry;
520     var  Can didateEntr y;   520     var  Can didateEntr y;
521     521  
522     522  
523     if ( ! t his.mbPane lInitializ ed)   523     if ( ! t his.mbPane lInitializ ed)
524     {   524     {
525       this.m SyncBookIn dex = Para mBookIndex ;   525       this.m SyncBookIn dex = Para mBookIndex ;
526       this.m SyncFileIn dex = Para mFileIndex ;   526       this.m SyncFileIn dex = Para mFileIndex ;
527       this.m SyncAnchor     = Para mAnchor;   527       this.m SyncAnchor     = Para mAnchor;
528     }   528     }
529     else  //  (this.mbP anelInitia lized)   529     else  //  (this.mbP anelInitia lized)
530     {   530     {
531       BookEn try = null ;   531       BookEn try = null ;
532       Matche dEntry = n ull;   532       Matche dEntry = n ull;
533     533  
534       // Fin d book ent ry   534       // Fin d book ent ry
535       //   535       //
536       if (th is.mBookEn tryArray.l ength > 0)   536       if (th is.mBookEn tryArray.l ength > 0)
537       {   537       {
538         // F ind matchi ng book en try   538         // F ind matchi ng book en try
539         //   539         //
540         for  (MaxIndex  = this.mBo okEntryArr ay.length,  Index = 0  ; Index <  MaxIndex  ; Index++)   540         for  (MaxIndex  = this.mBo okEntryArr ay.length,  Index = 0  ; Index <  MaxIndex  ; Index++)
541         {   541         {
542           if  (this.mBo okEntryArr ay[Index]. mBookIndex  == ParamB ookIndex)   542           if  (this.mBo okEntryArr ay[Index]. mBookIndex  == ParamB ookIndex)
543           {   543           {
544              BookEntry  = this.mBo okEntryArr ay[Index];   544              BookEntry  = this.mBo okEntryArr ay[Index];
545           }   545           }
546         }   546         }
547       }   547       }
548     548  
549       // Con firm we fo und our ma tching boo k entry   549       // Con firm we fo und our ma tching boo k entry
550       //   550       //
551       if (Bo okEntry !=  null)   551       if (Bo okEntry !=  null)
552       {   552       {
553         // C onfirm we  have a pos sible entr y   553         // C onfirm we  have a pos sible entr y
554         //   554         //
555         if ( ParamFileI ndex != -1 )   555         if ( ParamFileI ndex != -1 )
556         {   556         {
557           Se archPatter n = "" + P aramFileIn dex + Para mAnchor;   557           Se archPatter n = "" + P aramFileIn dex + Para mAnchor;
558           It erator = n ew WWHOutl ineIterato r_Object(f alse);   558           It erator = n ew WWHOutl ineIterato r_Object(f alse);
559     559  
560           if  (ParamAnc hor.length  > 0)   560           if  (ParamAnc hor.length  > 0)
561           {   561           {
562              // Look fo r match   562              // Look fo r match
563              //   563              //
564              Iterator.f Reset(Book Entry);   564              Iterator.f Reset(Book Entry);
565              while ((Ma tchedEntry  == null)  &&   565              while ((Ma tchedEntry  == null)  &&
566                     (It erator.fAd vance(null )))   566                     (It erator.fAd vance(null )))
567              {   567              {
568                if (Iter ator.mEntr y.mURL ==  SearchPatt ern)   568                if (Iter ator.mEntr y.mURL ==  SearchPatt ern)
569                {   569                {
570                  Matche dEntry = I terator.mE ntry;   570                  Matche dEntry = I terator.mE ntry;
571                }   571                }
572              }   572              }
573           }   573           }
574     574  
575           //  If match  not found,  search us ing just t he file in dex withou t the anch or   575           //  If match  not found,  search us ing just t he file in dex withou t the anch or
576           //   576           //
577           if  (MatchedE ntry == nu ll)   577           if  (MatchedE ntry == nu ll)
578           {   578           {
579              SearchPatt ern = "" +  ParamFile Index;   579              SearchPatt ern = "" +  ParamFile Index;
580     580  
581              // Look fo r match   581              // Look fo r match
582              //   582              //
583              Iterator.f Reset(Book Entry);   583              Iterator.f Reset(Book Entry);
584              while ((Ma tchedEntry  == null)  &&   584              while ((Ma tchedEntry  == null)  &&
585                     (It erator.fAd vance(null )))   585                     (It erator.fAd vance(null )))
586              {   586              {
587                // Trim  of any tra iling anch or informa tion, if s pecified   587                // Trim  of any tra iling anch or informa tion, if s pecified
588                //   588                //
589                if (Iter ator.mEntr y.mURL.ind exOf("#")  != -1)   589                if (Iter ator.mEntr y.mURL.ind exOf("#")  != -1)
590                {   590                {
591                  Candid ateEntry =  Iterator. mEntry.mUR L.substrin g(0, Itera tor.mEntry .mURL.inde xOf("#"));   591                  Candid ateEntry =  Iterator. mEntry.mUR L.substrin g(0, Itera tor.mEntry .mURL.inde xOf("#"));
592                }   592                }
593                else   593                else
594                {   594                {
595                  Candid ateEntry =  Iterator. mEntry.mUR L;   595                  Candid ateEntry =  Iterator. mEntry.mUR L;
596                }   596                }
597     597  
598                if (Cand idateEntry  == Search Pattern)   598                if (Cand idateEntry  == Search Pattern)
599                {   599                {
600                  Matche dEntry = I terator.mE ntry;   600                  Matche dEntry = I terator.mE ntry;
601                }   601                }
602              }   602              }
603           }   603           }
604     604  
605           //  See if th is matches  the book  entry   605           //  See if th is matches  the book  entry
606           //   606           //
607           if  ((Matched Entry == n ull) &&   607           if  ((Matched Entry == n ull) &&
608                (BookEnt ry.mbShow) )   608                (BookEnt ry.mbShow) )
609           {   609           {
610              SearchPatt ern = "" +  ParamFile Index;   610              SearchPatt ern = "" +  ParamFile Index;
611     611  
612              if (Search Pattern ==  BookEntry .mURL)   612              if (Search Pattern ==  BookEntry .mURL)
613              {   613              {
614                MatchedE ntry = Boo kEntry;   614                MatchedE ntry = Boo kEntry;
615              }   615              }
616           }   616           }
617     617  
618           //  Sync disp lay if ent ry found   618           //  Sync disp lay if ent ry found
619           //   619           //
620           if  (MatchedE ntry != nu ll)   620           if  (MatchedE ntry != nu ll)
621           {   621           {
622              // Update  display   622              // Update  display
623              //   623              //
624              this.mImag ingObject. fRevealEnt ry(Matched Entry, bPa ramVisible );   624              this.mImag ingObject. fRevealEnt ry(Matched Entry, bPa ramVisible );
625           }   625           }
626         }   626         }
627       }   627       }
628     628  
629       // Dis play a mes sage if th e entry wa s not foun d   629       // Dis play a mes sage if th e entry wa s not foun d
630       //   630       //
631       if (bP aramReport Error)   631       if (bP aramReport Error)
632       {   632       {
633         if ( (BookEntry  == null)  ||   633         if ( (BookEntry  == null)  ||
634              (MatchedEn try == nul l))   634              (MatchedEn try == nul l))
635         {   635         {
636           se tTimeout(" alert(\""  + WWHFrame .WWHJavaSc ript.mMess ages.mTOCF ileNotFoun dMessage +  "\");", 1 );   636           se tTimeout(" alert(\""  + WWHFrame .WWHJavaSc ript.mMess ages.mTOCF ileNotFoun dMessage +  "\");", 1 );
637         }   637         }
638       }   638       }
639     }   639     }
640   }   640   }
641     641  
642   function   WWHOutline Entry_Top_ Object()   642   function   WWHOutline Entry_Top_ Object()
643   {   643   {
644     this.mPa rent    =  null;   644     this.mPa rent    =  null;
645     this.mbS how     =  false;   645     this.mbS how     =  false;
646     this.mTe xt      =  "Top Level ";   646     this.mTe xt      =  "Top Level ";
647     this.mUR L       =  "";   647     this.mUR L       =  "";
648     this.mID         =  -1;   648     this.mID         =  -1;
649     this.mLe vel     =  -1;   649     this.mLe vel     =  -1;
650     this.mbE xpanded =  true;   650     this.mbE xpanded =  true;
651     this.mCh ildren  =  null;   651     this.mCh ildren  =  null;
652     652  
653     this.fNe wChild = W WHOutlineE ntry_NewCh ild;   653     this.fNe wChild = W WHOutlineE ntry_NewCh ild;
654     this.fN         = W WHOutlineE ntry_NewCh ild;   654     this.fN         = W WHOutlineE ntry_NewCh ild;
655   }   655   }
656     656  
657   function   WWHOutline Entry_Obje ct(ParamPa rent,   657   function   WWHOutline Entry_Obje ct(ParamPa rent,
658                                       ParamTe xt,   658                                       ParamTe xt,
659                                       ParamUR L,   659                                       ParamUR L,
660                                       ParamIc on,   660                                       ParamIc on,
661                                       ParamOp enIcon)   661                                       ParamOp enIcon)
662   {   662   {
663     this.mPa rent    =  ParamParen t;   663     this.mPa rent    =  ParamParen t;
664     this.mbS how     =  true;   664     this.mbS how     =  true;
665     this.mTe xt      =  ParamText;   665     this.mTe xt      =  ParamText;
666     this.mUR L       =  (typeof(Pa ramURL) ==  "string")  ? ParamUR L : "";   666     this.mUR L       =  (typeof(Pa ramURL) ==  "string")  ? ParamUR L : "";
667     this.mID         =  WWHFrame.W WHOutline. mNextEntry ID;   667     this.mID         =  WWHFrame.W WHOutline. mNextEntry ID;
668     this.mLe vel     =  ParamParen t.mLevel +  1;   668     this.mLe vel     =  ParamParen t.mLevel +  1;
669     this.mbE xpanded =  false;   669     this.mbE xpanded =  false;
670     this.mCh ildren  =  null;   670     this.mCh ildren  =  null;
671     671  
672     this.fNe wChild = W WHOutlineE ntry_NewCh ild;   672     this.fNe wChild = W WHOutlineE ntry_NewCh ild;
673     this.fN         = W WHOutlineE ntry_NewCh ild;   673     this.fN         = W WHOutlineE ntry_NewCh ild;
674     674  
675     // Assig n custom i cons if de fined   675     // Assig n custom i cons if de fined
676     //   676     //
677     if (type of(ParamIc on) == "st ring")   677     if (type of(ParamIc on) == "st ring")
678     {   678     {
679       this.m Icon = Par amIcon;   679       this.m Icon = Par amIcon;
680     }   680     }
681     if (type of(ParamOp enIcon) ==  "string")   681     if (type of(ParamOp enIcon) ==  "string")
682     {   682     {
683       this.m OpenIcon =  ParamOpen Icon;   683       this.m OpenIcon =  ParamOpen Icon;
684     }   684     }
685     685  
686     // Incre ment ID   686     // Incre ment ID
687     //   687     //
688     WWHFrame .WWHOutlin e.mNextEnt ryID++;   688     WWHFrame .WWHOutlin e.mNextEnt ryID++;
689   }   689   }
690     690  
691   function   WWHOutline Entry_NewC hild(Param Text,   691   function   WWHOutline Entry_NewC hild(Param Text,
692                                         Param URL,   692                                         Param URL,
693                                         Param Icon,   693                                         Param Icon,
694                                         Param OpenIcon)   694                                         Param OpenIcon)
695   {   695   {
696     var  New Child;   696     var  New Child;
697     697  
698     698  
699     // Creat e a new en try   699     // Creat e a new en try
700     //   700     //
701     NewChild  = new WWH OutlineEnt ry_Object( this, Para mText, Par amURL, Par amIcon, Pa ramOpenIco n);   701     NewChild  = new WWH OutlineEnt ry_Object( this, Para mText, Par amURL, Par amIcon, Pa ramOpenIco n);
702     702  
703     // Expan d top leve l entries,  if necess ary   703     // Expan d top leve l entries,  if necess ary
704     //   704     //
705     if (NewC hild.mLeve l == 0)   705     if (NewC hild.mLeve l == 0)
706     {   706     {
707       if (WW HFrame.WWH Help.mBook Groups.mbE xpandAllAt Top)   707       if (WW HFrame.WWH Help.mBook Groups.mbE xpandAllAt Top)
708       {   708       {
709         NewC hild.mbExp anded = tr ue;   709         NewC hild.mbExp anded = tr ue;
710       }   710       }
711     }   711     }
712     712  
713     // Add t o entry ha sh keyed b y ID   713     // Add t o entry ha sh keyed b y ID
714     //   714     //
715     WWHFrame .WWHOutlin e.mEntryHa sh[NewChil d.mID] = N ewChild;   715     WWHFrame .WWHOutlin e.mEntryHa sh[NewChil d.mID] = N ewChild;
716     716  
717     // Add c hild to pa rent entry   717     // Add c hild to pa rent entry
718     //   718     //
719     if (this .mChildren  == null)   719     if (this .mChildren  == null)
720     {   720     {
721       this.m Children =  new Array (NewChild) ;   721       this.m Children =  new Array (NewChild) ;
722     }   722     }
723     else   723     else
724     {   724     {
725       this.m Children[t his.mChild ren.length ] = NewChi ld;   725       this.m Children[t his.mChild ren.length ] = NewChi ld;
726     }   726     }
727     727  
728     // Bump  mMaxLevel  if we've e xceeded it   728     // Bump  mMaxLevel  if we've e xceeded it
729     //   729     //
730     if (NewC hild.mLeve l > WWHFra me.WWHOutl ine.mMaxLe vel)   730     if (NewC hild.mLeve l > WWHFra me.WWHOutl ine.mMaxLe vel)
731     {   731     {
732       WWHFra me.WWHOutl ine.mMaxLe vel = NewC hild.mLeve l;   732       WWHFra me.WWHOutl ine.mMaxLe vel = NewC hild.mLeve l;
733     }   733     }
734     734  
735     return N ewChild;   735     return N ewChild;
736   }   736   }
737     737  
738   function   WWHOutline EntryHash_ Object()   738   function   WWHOutline EntryHash_ Object()
739   {   739   {
740   }   740   }
741     741  
742   function   WWHOutline Iterator_O bject(bPar amVisibleO nly)   742   function   WWHOutline Iterator_O bject(bPar amVisibleO nly)
743   {   743   {
744     this.mbV isibleOnly   = bParam VisibleOnl y;   744     this.mbV isibleOnly   = bParam VisibleOnl y;
745     this.mIt eratorScop e = null;   745     this.mIt eratorScop e = null;
746     this.mEn try          = null;   746     this.mEn try          = null;
747     this.mSt ack          = new Ar ray();   747     this.mSt ack          = new Ar ray();
748     748  
749     this.fRe set   = WW HOutlineIt erator_Res et;   749     this.fRe set   = WW HOutlineIt erator_Res et;
750     this.fAd vance = WW HOutlineIt erator_Adv ance;   750     this.fAd vance = WW HOutlineIt erator_Adv ance;
751   }   751   }
752     752  
753   function   WWHOutline Iterator_R eset(Param Entry)   753   function   WWHOutline Iterator_R eset(Param Entry)
754   {   754   {
755     this.mIt eratorScop e = ParamE ntry;   755     this.mIt eratorScop e = ParamE ntry;
756     this.mEn try          = ParamE ntry;   756     this.mEn try          = ParamE ntry;
757     this.mSt ack.length   = 0;   757     this.mSt ack.length   = 0;
758   }   758   }
759     759  
760   function   WWHOutline Iterator_A dvance(Par amLevelSta tusObject)   760   function   WWHOutline Iterator_A dvance(Par amLevelSta tusObject)
761   {   761   {
762     var  bSa meLevel;   762     var  bSa meLevel;
763     var  Par entEntry;   763     var  Par entEntry;
764     var  Sta ckTop;   764     var  Sta ckTop;
765     765  
766     766  
767     // Advan ce to the  next visib le entry   767     // Advan ce to the  next visib le entry
768     //   768     //
769     if (this .mEntry !=  null)   769     if (this .mEntry !=  null)
770     {   770     {
771       // Che ck for vis ible child ren   771       // Che ck for vis ible child ren
772       //   772       //
773       if ((t his.mEntry .mChildren  != null)  &&   773       if ((t his.mEntry .mChildren  != null)  &&
774           ((  ! this.mb VisibleOnl y) ||   774           ((  ! this.mb VisibleOnl y) ||
775            ( this.mEntr y.mbExpand ed)))   775            ( this.mEntr y.mbExpand ed)))
776       {   776       {
777         // P rocess chi ldren   777         // P rocess chi ldren
778         //   778         //
779         this .mEntry =  this.mEntr y.mChildre n[0];   779         this .mEntry =  this.mEntr y.mChildre n[0];
780         this .mStack[th is.mStack. length] =  0;   780         this .mStack[th is.mStack. length] =  0;
781     781  
782         if ( ParamLevel StatusObje ct != null )   782         if ( ParamLevel StatusObje ct != null )
783         {   783         {
784           Pa ramLevelSt atusObject .fOpenLeve l();   784           Pa ramLevelSt atusObject .fOpenLeve l();
785         }   785         }
786       }   786       }
787       // If  we've reac hed the it erator sco pe, we're  done   787       // If  we've reac hed the it erator sco pe, we're  done
788       //   788       //
789       else i f (this.mE ntry.mID = = this.mIt eratorScop e.mID)   789       else i f (this.mE ntry.mID = = this.mIt eratorScop e.mID)
790       {   790       {
791         this .mEntry =  null;   791         this .mEntry =  null;
792       }   792       }
793       else   793       else
794       {   794       {
795         bSam eLevel = t rue;   795         bSam eLevel = t rue;
796         Pare ntEntry =  this.mEntr y.mParent;   796         Pare ntEntry =  this.mEntr y.mParent;
797         this .mEntry =  null;   797         this .mEntry =  null;
798     798  
799         // F ind next c hild of pa rent entry   799         // F ind next c hild of pa rent entry
800         //   800         //
801         whil e (ParentE ntry != nu ll)   801         whil e (ParentE ntry != nu ll)
802         {   802         {
803           //  Increment  position   803           //  Increment  position
804           //   804           //
805           St ackTop = t his.mStack .length -  1;   805           St ackTop = t his.mStack .length -  1;
806           th is.mStack[ StackTop]+ +;   806           th is.mStack[ StackTop]+ +;
807     807  
808           //  Confirm t his is a v alid entry   808           //  Confirm t his is a v alid entry
809           //   809           //
810           if  (this.mSt ack[StackT op] < Pare ntEntry.mC hildren.le ngth)   810           if  (this.mSt ack[StackT op] < Pare ntEntry.mC hildren.le ngth)
811           {   811           {
812              // Return  the parent 's next ch ild   812              // Return  the parent 's next ch ild
813              //   813              //
814              this.mEntr y = Parent Entry.mChi ldren[this .mStack[St ackTop]];   814              this.mEntr y = Parent Entry.mChi ldren[this .mStack[St ackTop]];
815     815  
816              // Signal  break from  loop   816              // Signal  break from  loop
817              //   817              //
818              ParentEntr y = null;   818              ParentEntr y = null;
819           }   819           }
820           el se   820           el se
821           {   821           {
822              // Last ch ild of par ent, try u p a level   822              // Last ch ild of par ent, try u p a level
823              //   823              //
824              if (Parent Entry.mID  == this.mI teratorSco pe.mID)   824              if (Parent Entry.mID  == this.mI teratorSco pe.mID)
825              {   825              {
826                ParentEn try = null ;   826                ParentEn try = null ;
827              }   827              }
828              else   828              else
829              {   829              {
830                ParentEn try = Pare ntEntry.mP arent;   830                ParentEn try = Pare ntEntry.mP arent;
831              }   831              }
832     832  
833              this.mStac k.length-- ;   833              this.mStac k.length-- ;
834     834  
835              bSameLevel  = false;   835              bSameLevel  = false;
836     836  
837              if (ParamL evelStatus Object !=  null)   837              if (ParamL evelStatus Object !=  null)
838              {   838              {
839                ParamLev elStatusOb ject.fClos eLevel(Par entEntry = = null);   839                ParamLev elStatusOb ject.fClos eLevel(Par entEntry = = null);
840              }   840              }
841           }   841           }
842         }   842         }
843     843  
844         if ( bSameLevel )   844         if ( bSameLevel )
845         {   845         {
846           if  (ParamLev elStatusOb ject != nu ll)   846           if  (ParamLev elStatusOb ject != nu ll)
847           {   847           {
848              ParamLevel StatusObje ct.fSameLe vel();   848              ParamLevel StatusObje ct.fSameLe vel();
849           }   849           }
850         }   850         }
851       }   851       }
852     }   852     }
853     853  
854     return ( this.mEntr y != null) ;   854     return ( this.mEntr y != null) ;
855   }   855   }
856     856  
857   function   WWHOutline Imaging_Im ageSrcDir( )   857   function   WWHOutline Imaging_Im ageSrcDir( )
858   {   858   {
859     var  Ima geSrcDir =  "../../.. /";   859     var  Ima geSrcDir =  "../../.. /";
860     860  
861     861  
862     // Updat e img src  reference  based on b rowser typ e and plat form   862     // Updat e img src  reference  based on b rowser typ e and plat form
863     //   863     //
864     if ((WWH Frame.WWHB rowser.mBr owser == 2 ) &&  // S horthand f or IE   864     if ((WWH Frame.WWHB rowser.mBr owser == 2 ) &&  // S horthand f or IE
865         (WWH Frame.WWHB rowser.mPl atform ==  2))   // S horthand f or Macinto sh   865         (WWH Frame.WWHB rowser.mPl atform ==  2))   // S horthand f or Macinto sh
866     {   866     {
867       ImageS rcDir = WW HFrame.WWH Help.mHelp URLPrefix  + "wwhelp/ ";   867       ImageS rcDir = WW HFrame.WWH Help.mHelp URLPrefix  + "wwhelp/ ";
868     }   868     }
869     869  
870     return I mageSrcDir ;   870     return I mageSrcDir ;
871   }   871   }
872     872  
873   function   WWHOutline Imaging_Ge tIconURL(P aramEntry)   873   function   WWHOutline Imaging_Ge tIconURL(P aramEntry)
874   {   874   {
875     var  Ico nURL = "";   875     var  Ico nURL = "";
876     876  
877     877  
878     if (Para mEntry.mCh ildren !=  null)   878     if (Para mEntry.mCh ildren !=  null)
879     {   879     {
880       if (Pa ramEntry.m bExpanded)   880       if (Pa ramEntry.m bExpanded)
881       {   881       {
882         if ( typeof(Par amEntry.mO penIcon) = = "string" )   882         if ( typeof(Par amEntry.mO penIcon) = = "string" )
883         {   883         {
884           Ic onURL = th is.mImageS rcDir + "i mages/" +  ParamEntry .mOpenIcon ;   884           Ic onURL = th is.mImageS rcDir + "i mages/" +  ParamEntry .mOpenIcon ;
885         }   885         }
886         else  if (typeo f(ParamEnt ry.mIcon)  == "string ")   886         else  if (typeo f(ParamEnt ry.mIcon)  == "string ")
887         {   887         {
888           Ic onURL = th is.mImageS rcDir + "i mages/" +  ParamEntry .mIcon;   888           Ic onURL = th is.mImageS rcDir + "i mages/" +  ParamEntry .mIcon;
889         }   889         }
890         else   890         else
891         {   891         {
892           Ic onURL = th is.mImageS rcDir + "w whimpl/com mon/images /fo.gif";   892           Ic onURL = th is.mImageS rcDir + "w whimpl/com mon/images /fo.gif";
893         }   893         }
894       }   894       }
895       else   895       else
896       {   896       {
897         if ( typeof(Par amEntry.mI con) == "s tring")   897         if ( typeof(Par amEntry.mI con) == "s tring")
898         {   898         {
899           Ic onURL = th is.mImageS rcDir + "i mages/" +  ParamEntry .mIcon;   899           Ic onURL = th is.mImageS rcDir + "i mages/" +  ParamEntry .mIcon;
900         }   900         }
901         else   901         else
902         {   902         {
903           Ic onURL = th is.mImageS rcDir + "w whimpl/com mon/images /fc.gif";   903           Ic onURL = th is.mImageS rcDir + "w whimpl/com mon/images /fc.gif";
904         }   904         }
905       }   905       }
906     }   906     }
907     else   907     else
908     {   908     {
909       if (ty peof(Param Entry.mIco n) == "str ing")   909       if (ty peof(Param Entry.mIco n) == "str ing")
910       {   910       {
911         Icon URL = this .mImageSrc Dir + "ima ges/" + Pa ramEntry.m Icon;   911         Icon URL = this .mImageSrc Dir + "ima ges/" + Pa ramEntry.m Icon;
912       }   912       }
913       else   913       else
914       {   914       {
915         Icon URL = this .mImageSrc Dir + "wwh impl/commo n/images/d oc.gif";   915         Icon URL = this .mImageSrc Dir + "wwh impl/commo n/images/d oc.gif";
916       }   916       }
917     }   917     }
918     918  
919     return I conURL;   919     return I conURL;
920   }   920   }
921     921  
922   function   WWHOutline Imaging_Ge tPopupActi on(ParamEn try)   922   function   WWHOutline Imaging_Ge tPopupActi on(ParamEn try)
923   {   923   {
924     var  Pop upAction =  "";   924     var  Pop upAction =  "";
925     925  
926     926  
927     if (WWHF rame.WWHJa vaScript.m Settings.m HoverText. mbEnabled)   927     if (WWHF rame.WWHJa vaScript.m Settings.m HoverText. mbEnabled)
928     {   928     {
929       PopupA ction += "  onmouseov er=\"fS("  + ParamEnt ry.mID + " , " + this .mEventStr ing + ");\ "";   929       PopupA ction += "  onmouseov er=\"fS("  + ParamEnt ry.mID + " , " + this .mEventStr ing + ");\ "";
930       PopupA ction += "  onmouseou t=\"fH();\ "";   930       PopupA ction += "  onmouseou t=\"fH();\ "";
931     }   931     }
932     932  
933     return P opupAction ;   933     return P opupAction ;
934   }   934   }
935     935  
936   function   WWHOutline Imaging_Ge tLink(Para mEntry,   936   function   WWHOutline Imaging_Ge tLink(Para mEntry,
937                                          bPar amForIcon)   937                                          bPar amForIcon)
938   {   938   {
939     var  Var Link;   939     var  Var Link;
940     var  Var Accessibil ityMessage ;   940     var  Var Accessibil ityMessage ;
941     var  Var Accessibil ityTitle =  "";   941     var  Var Accessibil ityTitle =  "";
942     var  Var Siblings;   942     var  Var Siblings;
943     var  Var MaxIndex;   943     var  Var MaxIndex;
944     var  Var Index;   944     var  Var Index;
945     var  Var IDPrefix;   945     var  Var IDPrefix;
946     var  Var Action;   946     var  Var Action;
947     947  
948     948  
949     // Initi alize retu rn value   949     // Initi alize retu rn value
950     //   950     //
951     VarLink  = "";   951     VarLink  = "";
952     952  
953     // Deter mine title  for acces sibility   953     // Deter mine title  for acces sibility
954     //   954     //
955     if (WWHF rame.WWHHe lp.mbAcces sible)   955     if (WWHF rame.WWHHe lp.mbAcces sible)
956     {   956     {
957       // Det ermine if  this is a  book or a  topic   957       // Det ermine if  this is a  book or a  topic
958       //   958       //
959       if (Pa ramEntry.m Children ! = null)   959       if (Pa ramEntry.m Children ! = null)
960       {   960       {
961         if ( ParamEntry .mbExpande d)   961         if ( ParamEntry .mbExpande d)
962         {   962         {
963           Va rAccessibi lityMessag e = WWHFra me.WWHJava Script.mMe ssages.mAc cessibilit yTOCBookEx panded;   963           Va rAccessibi lityMessag e = WWHFra me.WWHJava Script.mMe ssages.mAc cessibilit yTOCBookEx panded;
964         }   964         }
965         else   965         else
966         {   966         {
967           Va rAccessibi lityMessag e = WWHFra me.WWHJava Script.mMe ssages.mAc cessibilit yTOCBookCo llapsed;   967           Va rAccessibi lityMessag e = WWHFra me.WWHJava Script.mMe ssages.mAc cessibilit yTOCBookCo llapsed;
968         }   968         }
969       }   969       }
970       else   970       else
971       {   971       {
972         VarA ccessibili tyMessage  = WWHFrame .WWHJavaSc ript.mMess ages.mAcce ssibilityT OCTopic;   972         VarA ccessibili tyMessage  = WWHFrame .WWHJavaSc ript.mMess ages.mAcce ssibilityT OCTopic;
973       }   973       }
974     974  
975       // For mat messag e   975       // For mat messag e
976       //   976       //
977       VarAcc essibility Title = WW HStringUti lities_For matMessage (VarAccess ibilityMes sage,   977       VarAcc essibility Title = WW HStringUti lities_For matMessage (VarAccess ibilityMes sage,
978                                                                      ParamEntr y.mText);   978                                                                      ParamEntr y.mText);
979     979  
980       // Add  position  informatio n   980       // Add  position  informatio n
981       //   981       //
982       if (Pa ramEntry.m Parent !=  null)   982       if (Pa ramEntry.m Parent !=  null)
983       {   983       {
984         VarS iblings =  ParamEntry .mParent.m Children;   984         VarS iblings =  ParamEntry .mParent.m Children;
985         VarM axIndex =  VarSibling s.length;   985         VarM axIndex =  VarSibling s.length;
986         VarI ndex = 0;   986         VarI ndex = 0;
987         whil e (VarInde x < VarMax Index)   987         whil e (VarInde x < VarMax Index)
988         {   988         {
989           if  (VarSibli ngs[VarInd ex].mID ==  ParamEntr y.mID)   989           if  (VarSibli ngs[VarInd ex].mID ==  ParamEntr y.mID)
990           {   990           {
991              // Record  position   991              // Record  position
992              //   992              //
993              VarAccessi bilityTitl e += " " +  WWHString Utilities_ FormatMess age(WWHFra me.WWHJava Script.mMe ssages.mAc cessibilit yTOCOneOfT otal,   993              VarAccessi bilityTitl e += " " +  WWHString Utilities_ FormatMess age(WWHFra me.WWHJava Script.mMe ssages.mAc cessibilit yTOCOneOfT otal,
994                                                                                    (VarIn dex + 1),   994                                                                                    (VarIn dex + 1),
995                                                                                    VarMax Index);   995                                                                                    VarMax Index);
996     996  
997              // Exit lo op   997              // Exit lo op
998              //   998              //
999              VarIndex =  VarMaxInd ex;   999              VarIndex =  VarMaxInd ex;
1000           }   1000           }
1001     1001  
1002           Va rIndex +=  1;   1002           Va rIndex +=  1;
1003         }   1003         }
1004       }   1004       }
1005     1005  
1006       VarAcc essibility Title = WW HStringUti lities_Esc apeHTML(Va rAccessibi lityTitle) ;   1006       VarAcc essibility Title = WW HStringUti lities_Esc apeHTML(Va rAccessibi lityTitle) ;
1007       VarAcc essibility Title = "  title=\""  + VarAcces sibilityTi tle + "\"" ;   1007       VarAcc essibility Title = "  title=\""  + VarAcces sibilityTi tle + "\"" ;
1008     }   1008     }
1009     1009  
1010     // Set l ink   1010     // Set l ink
1011     //   1011     //
1012     if ((Par amEntry.mU RL.length  > 0) ||   1012     if ((Par amEntry.mU RL.length  > 0) ||
1013         (Par amEntry.mC hildren !=  null))   1013         (Par amEntry.mC hildren !=  null))
1014     {   1014     {
1015       if (bP aramForIco n)   1015       if (bP aramForIco n)
1016       {   1016       {
1017         VarI DPrefix =  "tb";   1017         VarI DPrefix =  "tb";
1018       }   1018       }
1019       else   1019       else
1020       {   1020       {
1021         VarI DPrefix =  "t";   1021         VarI DPrefix =  "t";
1022       }   1022       }
1023     1023  
1024       // Det ermine dis play actio n   1024       // Det ermine dis play actio n
1025       //   1025       //
1026       VarAct ion = "fD" ;   1026       VarAct ion = "fD" ;
1027       if ( !  WWHFrame. WWHHelp.mb Accessible )   1027       if ( !  WWHFrame. WWHHelp.mb Accessible )
1028       {   1028       {
1029         if ( bParamForI con)   1029         if ( bParamForI con)
1030         {   1030         {
1031           if  (ParamEnt ry.mChildr en != null )   1031           if  (ParamEnt ry.mChildr en != null )
1032           {   1032           {
1033              if (ParamE ntry.mbExp anded)   1033              if (ParamE ntry.mbExp anded)
1034              {   1034              {
1035                VarActio n = "fC";   1035                VarActio n = "fC";
1036              }   1036              }
1037              else   1037              else
1038              {   1038              {
1039                VarActio n = "fE";   1039                VarActio n = "fE";
1040              }   1040              }
1041           }   1041           }
1042         }   1042         }
1043       }   1043       }
1044     1044  
1045       VarLin k += "<a n ame=\"" +  VarIDPrefi x + ParamE ntry.mID +  "\" href= \"javascri pt:" + Var Action + " (" + Param Entry.mID  + ");\"" +  VarAccess ibilityTit le + this. fGetPopupA ction(Para mEntry) +  ">";   1045       VarLin k += "<a n ame=\"" +  VarIDPrefi x + ParamE ntry.mID +  "\" href= \"javascri pt:" + Var Action + " (" + Param Entry.mID  + ");\"" +  VarAccess ibilityTit le + this. fGetPopupA ction(Para mEntry) +  ">";
1046     }   1046     }
1047     1047  
1048     return V arLink;   1048     return V arLink;
1049   }   1049   }
1050     1050  
1051   function   WWHOutline Imaging_Ge tEntryHTML (ParamEntr y)   1051   function   WWHOutline Imaging_Ge tEntryHTML (ParamEntr y)
1052   {   1052   {
1053     var  Ent ryHTML = " ";   1053     var  Ent ryHTML = " ";
1054     var  Ico nURL;   1054     var  Ico nURL;
1055     var  Var Link;   1055     var  Var Link;
1056     1056  
1057     1057  
1058     EntryHTM L += "<tab le border= \"0\" cell spacing=\" 0\" cellpa dding=\"0\ ">";   1058     EntryHTM L += "<tab le border= \"0\" cell spacing=\" 0\" cellpa dding=\"0\ ">";
1059     EntryHTM L += "<tr> ";   1059     EntryHTM L += "<tr> ";
1060     if (Para mEntry.mLe vel > 0)   1060     if (Para mEntry.mLe vel > 0)
1061     {   1061     {
1062       EntryH TML += "<t d width=\" " + (WWHFr ame.WWHJav aScript.mS ettings.mT OC.mIndent  * ParamEn try.mLevel ) + "\">";   1062       EntryH TML += "<t d width=\" " + (WWHFr ame.WWHJav aScript.mS ettings.mT OC.mIndent  * ParamEn try.mLevel ) + "\">";
1063       EntryH TML += "<i mg width=\ "" + (WWHF rame.WWHJa vaScript.m Settings.m TOC.mInden t * ParamE ntry.mLeve l) + "\" h eight=\"2\ " border=\ "0\" src=\ "" + this. mImageSrcD ir + "wwhi mpl/common /images/sp c1w2h.gif\ " alt=\"\" >";   1063       EntryH TML += "<i mg width=\ "" + (WWHF rame.WWHJa vaScript.m Settings.m TOC.mInden t * ParamE ntry.mLeve l) + "\" h eight=\"2\ " border=\ "0\" src=\ "" + this. mImageSrcD ir + "wwhi mpl/common /images/sp c1w2h.gif\ " alt=\"\" >";
1064       EntryH TML += "</ td>";   1064       EntryH TML += "</ td>";
1065     }   1065     }
1066     EntryHTM L += "<td  width=\"19 \">";   1066     EntryHTM L += "<td  width=\"19 \">";
1067     EntryHTM L += "<nob r>";   1067     EntryHTM L += "<nob r>";
1068     1068  
1069     IconURL  = this.fGe tIconURL(P aramEntry) ;   1069     IconURL  = this.fGe tIconURL(P aramEntry) ;
1070     VarLink  = this.fGe tLink(Para mEntry, tr ue);   1070     VarLink  = this.fGe tLink(Para mEntry, tr ue);
1071     if (VarL ink.length  > 0)   1071     if (VarL ink.length  > 0)
1072     {   1072     {
1073       EntryH TML += Var Link;   1073       EntryH TML += Var Link;
1074     }   1074     }
1075     EntryHTM L += "<img  width=\"1 7\" height =\"17\" bo rder=\"0\"  src=\"" +  IconURL +  "\" alt=\ "\">";   1075     EntryHTM L += "<img  width=\"1 7\" height =\"17\" bo rder=\"0\"  src=\"" +  IconURL +  "\" alt=\ "\">";
1076     if (VarL ink.length  > 0)   1076     if (VarL ink.length  > 0)
1077     {   1077     {
1078       if ( !  WWHFrame. WWHHelp.mb Accessible )   1078       if ( !  WWHFrame. WWHHelp.mb Accessible )
1079       {   1079       {
1080         Entr yHTML += " </a>";   1080         Entr yHTML += " </a>";
1081       }   1081       }
1082     }   1082     }
1083     EntryHTM L += "<img  width=\"2 \" height= \"1\" bord er=\"0\" s rc=\"" + t his.mImage SrcDir + " wwhimpl/co mmon/image s/spc2w1h. gif\" alt= \"\">";   1083     EntryHTM L += "<img  width=\"2 \" height= \"1\" bord er=\"0\" s rc=\"" + t his.mImage SrcDir + " wwhimpl/co mmon/image s/spc2w1h. gif\" alt= \"\">";
1084     if (VarL ink.length  > 0)   1084     if (VarL ink.length  > 0)
1085     {   1085     {
1086       if (WW HFrame.WWH Help.mbAcc essible)   1086       if (WW HFrame.WWH Help.mbAcc essible)
1087       {   1087       {
1088         Entr yHTML += " </a>";   1088         Entr yHTML += " </a>";
1089       }   1089       }
1090     }   1090     }
1091     1091  
1092     EntryHTM L += "</no br>";   1092     EntryHTM L += "</no br>";
1093     EntryHTM L += "</td >";   1093     EntryHTM L += "</td >";
1094     EntryHTM L += "<td> ";   1094     EntryHTM L += "<td> ";
1095     EntryHTM L += "<nob r>";   1095     EntryHTM L += "<nob r>";
1096     1096  
1097     VarLink  = this.fGe tLink(Para mEntry, fa lse);   1097     VarLink  = this.fGe tLink(Para mEntry, fa lse);
1098     if (VarL ink.length  > 0)   1098     if (VarL ink.length  > 0)
1099     {   1099     {
1100       EntryH TML += Var Link;   1100       EntryH TML += Var Link;
1101     }   1101     }
1102     EntryHTM L += Param Entry.mTex t;   1102     EntryHTM L += Param Entry.mTex t;
1103     if (VarL ink.length  > 0)   1103     if (VarL ink.length  > 0)
1104     {   1104     {
1105       EntryH TML += "</ a>";   1105       EntryH TML += "</ a>";
1106     }   1106     }
1107     1107  
1108     EntryHTM L += "</no br>";   1108     EntryHTM L += "</no br>";
1109     EntryHTM L += "</td >";   1109     EntryHTM L += "</td >";
1110     EntryHTM L += "</tr >";   1110     EntryHTM L += "</tr >";
1111     EntryHTM L += "</ta ble>";   1111     EntryHTM L += "</ta ble>";
1112     1112  
1113     return E ntryHTML;   1113     return E ntryHTML;
1114   }   1114   }