76. Araxis Merge File Comparison Report

Produced by Araxis Merge on Fri Nov 21 17:21:53 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.

76.1 Files compared

# Location File Last Modified
1 C:\Documents and Settings\allums\Desktop\2008.1.20396.b\Formats\WebWorks Help 5.0\Files\wwhelp\wwhimpl\js\scripts outline.js Fri Sep 7 17:51:30 2007 UTC
2 C:\Documents and Settings\allums\Desktop\2008.2.20597.p2\Formats\WebWorks Help 5.0\Files\wwhelp\wwhimpl\js\scripts outline.js Tue Aug 12 22:40:50 2008 UTC

76.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 16 2104
Changed 10 101
Inserted 5 13
Removed 0 0

76.3 Comparison options

Whitespace Differences in whitespace are significant
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

76.4 Active regular expressions

Expression Description
\$(Author|Date|Header|Id|Locker|Name|RCSfile|Revision|Source|State):[^$]*\$ CVS comments

76.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.f Append("<s cript lang uage=\"Jav aScript1.2 \" src=\""  + WWHFram e.WWHHelp. mHelpURLPr efix +  WWHFrame.W WHBrowser. fRestoreEs capedSpace s( BookList[I ndex].mDir ectory )  + "wwhdat a/js/toc.j s" + VarPa rameters +  "\"></scr ipt>\n");   97       HTML.f Append("<s cript lang uage=\"Jav aScript1.2 \" src=\""  + WWHFram e.WWHHelp. mHelpURLPr efix + 
BookList[I ndex].mDir ectory
 + "wwhdat a/js/toc.j s" + VarPa rameters +  "\"></scr ipt>\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  Par ts;   419     var  Par ts;
419     var  Lin kFileIndex ;   420     var  Lin kFileIndex ;
420     var  Lin kAnchor;   421     var  Lin kAnchor;
421     var  Boo kListEntry ;   422     var  Boo kListEntry ;
422     var  URL ;   423     var  URL ;
423     424  
424     425  
425     // 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
426     //   427     //
427     WWHFrame .WWHJavaSc ript.mPane ls.mPopup. fHide();   428     WWHFrame .WWHJavaSc ript.mPane ls.mPopup. fHide();
428     429  
429     // Acces s entry   430     // Acces s entry
430     //   431     //
431     Entry =  this.mEntr yHash[Para mEntryID];   432     Entry =  this.mEntr yHash[Para mEntryID];
432     433  
433     // Deter mine which  book this  document  belongs to   434     // Deter mine which  book this  document  belongs to
434     //   435     //
435     Parent =  Entry;   436     Parent =  Entry;
436     while (( typeof(Par ent.mBookI ndex) != " number") & &   437     while (( typeof(Par ent.mBookI ndex) != " number") & &
437            ( Parent.mPa rent != nu ll))   438            ( Parent.mPa rent != nu ll))
438     {   439     {
439       Parent  = Parent. mParent;   440       Parent  = Parent. mParent;
440     }   441     }
441     442  
        443     Document Displayed  = false;
442     if (type of(Parent. mBookIndex ) == "numb er")   444     if (type of(Parent. mBookIndex ) == "numb er")
443     {   445     {
444       // Con firm URL d efined (ha ndles grou p entries)   446       // Con firm URL d efined (ha ndles grou p entries)
445       //   447       //
446       if (En try.mURL.l ength > 0)   448       if (En try.mURL.l ength > 0)
447       {   449       {
448         // D etermine l ink file i ndex and a nchor   450         // D etermine l ink file i ndex and a nchor
449         //   451         //
450         Part s = Entry. mURL.split ("#");   452         Part s = Entry. mURL.split ("#");
451         Link FileIndex  = parseInt (Parts[0]) ;   453         Link FileIndex  = parseInt (Parts[0]) ;
452         Link Anchor = n ull;   454         Link Anchor = n ull;
453         if ( Parts.leng th > 1)   455         if ( Parts.leng th > 1)
454         {   456         {
455           if  (Parts[1] .length >  0)   457           if  (Parts[1] .length >  0)
456           {   458           {
457              LinkAnchor  = Parts[1 ];   459              LinkAnchor  = Parts[1 ];
458           }   460           }
459         }   461         }
460     462  
461         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) ;
462         WWHF rame.WWHHe lp.fSetDoc umentHREF( URL, false );   464         WWHF rame.WWHHe lp.fSetDoc umentHREF( URL, false );
        465         Docu mentDispla yed = true ;
463       }   466       }
464     }   467     }
465     468  
466     // Expan d/collapse  view as n eeded   469     // Expan d/collapse  view as n eeded
467     //   470     //
468     if (Entr y.mbExpand ed)   471     if (Entr y.mbExpand ed)
469     {   472     {
470       // Col lapse fold er if Acce ssible   473       // Col lapse fold er if Acce ssible
471       //   474       //
472       if (WW HFrame.WWH Help.mbAcc essible)   475       if (WW HFrame.WWH Help.mbAcc essible)
473       {   476       {
        477         // D ocument di splayed?
        478         //
        479         if ( DocumentDi splayed)
        480         {
        481           //  Indicate  collapsing
        482           //
        483           WW HFrame.WWH Help.mColl apsingTOCE ntry = tru e;
        484         }
        485  
474         this .fCollapse (ParamEntr yID);   486         this .fCollapse (ParamEntr yID);
475     487  
476         // S et focus   488         // S et focus
477         //   489         //
478         WWHF rame.WWHHe lp.fFocus( "WWHPanelV iewFrame",  "t" + Par amEntryID) ;   490         WWHF rame.WWHHe lp.fFocus( "WWHPanelV iewFrame",  "t" + Par amEntryID) ;
479       }   491       }
480     }   492     }
481     else   493     else
482     {   494     {
483       // Exp and if fol der   495       // Exp and if fol der
484       //   496       //
485       if (En try.mChild ren != nul l)   497       if (En try.mChild ren != nul l)
486       {   498       {
487         this .fExpand(P aramEntryI D);   499         this .fExpand(P aramEntryI D);
488     500  
489         // S et focus   501         // S et focus
490         //   502         //
491         WWHF rame.WWHHe lp.fFocus( "WWHPanelV iewFrame",  "t" + Par amEntryID) ;   503         WWHF rame.WWHHe lp.fFocus( "WWHPanelV iewFrame",  "t" + Par amEntryID) ;
492       }   504       }
493     }   505     }
494   }   506   }
495     507  
496   function   WWHOutline _Sync(Para mBookIndex ,   508   function   WWHOutline _Sync(Para mBookIndex ,
497                               Para mFileIndex ,   509                               Para mFileIndex ,
498                               Para mAnchor,   510                               Para mAnchor,
499                               bPar amVisible,   511                               bPar amVisible,
500                               bPar amReportEr ror)   512                               bPar amReportEr ror)
501   {   513   {
502     var  Boo kEntry;   514     var  Boo kEntry;
503     var  Max Index;   515     var  Max Index;
504     var  Ind ex;   516     var  Ind ex;
505     var  Sea rchPattern ;   517     var  Sea rchPattern ;
506     var  Ite rator;   518     var  Ite rator;
507     var  Mat chedEntry;   519     var  Mat chedEntry;
508     var  Can didateEntr y;   520     var  Can didateEntr y;
509     521  
510     522  
511     if ( ! t his.mbPane lInitializ ed)   523     if ( ! t his.mbPane lInitializ ed)
512     {   524     {
513       this.m SyncBookIn dex = Para mBookIndex ;   525       this.m SyncBookIn dex = Para mBookIndex ;
514       this.m SyncFileIn dex = Para mFileIndex ;   526       this.m SyncFileIn dex = Para mFileIndex ;
515       this.m SyncAnchor     = Para mAnchor;   527       this.m SyncAnchor     = Para mAnchor;
516     }   528     }
517     else  //  (this.mbP anelInitia lized)   529     else  //  (this.mbP anelInitia lized)
518     {   530     {
519       BookEn try = null ;   531       BookEn try = null ;
520       Matche dEntry = n ull;   532       Matche dEntry = n ull;
521     533  
522       // Fin d book ent ry   534       // Fin d book ent ry
523       //   535       //
524       if (th is.mBookEn tryArray.l ength > 0)   536       if (th is.mBookEn tryArray.l ength > 0)
525       {   537       {
526         // F ind matchi ng book en try   538         // F ind matchi ng book en try
527         //   539         //
528         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++)
529         {   541         {
530           if  (this.mBo okEntryArr ay[Index]. mBookIndex  == ParamB ookIndex)   542           if  (this.mBo okEntryArr ay[Index]. mBookIndex  == ParamB ookIndex)
531           {   543           {
532              BookEntry  = this.mBo okEntryArr ay[Index];   544              BookEntry  = this.mBo okEntryArr ay[Index];
533           }   545           }
534         }   546         }
535       }   547       }
536     548  
537       // Con firm we fo und our ma tching boo k entry   549       // Con firm we fo und our ma tching boo k entry
538       //   550       //
539       if (Bo okEntry !=  null)   551       if (Bo okEntry !=  null)
540       {   552       {
541         // C onfirm we  have a pos sible entr y   553         // C onfirm we  have a pos sible entr y
542         //   554         //
543         if ( ParamFileI ndex != -1 )   555         if ( ParamFileI ndex != -1 )
544         {   556         {
545           Se archPatter n = "" + P aramFileIn dex + Para mAnchor;   557           Se archPatter n = "" + P aramFileIn dex + Para mAnchor;
546           It erator = n ew WWHOutl ineIterato r_Object(f alse);   558           It erator = n ew WWHOutl ineIterato r_Object(f alse);
547     559  
548           if  (ParamAnc hor.length  > 0)   560           if  (ParamAnc hor.length  > 0)
549           {   561           {
550              // Look fo r match   562              // Look fo r match
551              //   563              //
552              Iterator.f Reset(Book Entry);   564              Iterator.f Reset(Book Entry);
553              while ((Ma tchedEntry  == null)  &&   565              while ((Ma tchedEntry  == null)  &&
554                     (It erator.fAd vance(null )))   566                     (It erator.fAd vance(null )))
555              {   567              {
556                if (Iter ator.mEntr y.mURL ==  SearchPatt ern)   568                if (Iter ator.mEntr y.mURL ==  SearchPatt ern)
557                {   569                {
558                  Matche dEntry = I terator.mE ntry;   570                  Matche dEntry = I terator.mE ntry;
559                }   571                }
560              }   572              }
561           }   573           }
562     574  
563           //  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
564           //   576           //
565           if  (MatchedE ntry == nu ll)   577           if  (MatchedE ntry == nu ll)
566           {   578           {
567              SearchPatt ern = "" +  ParamFile Index;   579              SearchPatt ern = "" +  ParamFile Index;
568     580  
569              // Look fo r match   581              // Look fo r match
570              //   582              //
571              Iterator.f Reset(Book Entry);   583              Iterator.f Reset(Book Entry);
572              while ((Ma tchedEntry  == null)  &&   584              while ((Ma tchedEntry  == null)  &&
573                     (It erator.fAd vance(null )))   585                     (It erator.fAd vance(null )))
574              {   586              {
575                // 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
576                //   588                //
577                if (Iter ator.mEntr y.mURL.ind exOf("#")  != -1)   589                if (Iter ator.mEntr y.mURL.ind exOf("#")  != -1)
578                {   590                {
579                  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("#"));
580                }   592                }
581                else   593                else
582                {   594                {
583                  Candid ateEntry =  Iterator. mEntry.mUR L;   595                  Candid ateEntry =  Iterator. mEntry.mUR L;
584                }   596                }
585     597  
586                if (Cand idateEntry  == Search Pattern)   598                if (Cand idateEntry  == Search Pattern)
587                {   599                {
588                  Matche dEntry = I terator.mE ntry;   600                  Matche dEntry = I terator.mE ntry;
589                }   601                }
590              }   602              }
591           }   603           }
592     604  
593           //  See if th is matches  the book  entry   605           //  See if th is matches  the book  entry
594           //   606           //
595           if  ((Matched Entry == n ull) &&   607           if  ((Matched Entry == n ull) &&
596                (BookEnt ry.mbShow) )   608                (BookEnt ry.mbShow) )
597           {   609           {
598              SearchPatt ern = "" +  ParamFile Index;   610              SearchPatt ern = "" +  ParamFile Index;
599     611  
600              if (Search Pattern ==  BookEntry .mURL)   612              if (Search Pattern ==  BookEntry .mURL)
601              {   613              {
602                MatchedE ntry = Boo kEntry;   614                MatchedE ntry = Boo kEntry;
603              }   615              }
604           }   616           }
605     617  
606           //  Sync disp lay if ent ry found   618           //  Sync disp lay if ent ry found
607           //   619           //
608           if  (MatchedE ntry != nu ll)   620           if  (MatchedE ntry != nu ll)
609           {   621           {
610              // Update  display   622              // Update  display
611              //   623              //
612              this.mImag ingObject. fRevealEnt ry(Matched Entry, bPa ramVisible );   624              this.mImag ingObject. fRevealEnt ry(Matched Entry, bPa ramVisible );
613           }   625           }
614         }   626         }
615       }   627       }
616     628  
617       // 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
618       //   630       //
619       if (bP aramReport Error)   631       if (bP aramReport Error)
620       {   632       {
621         if ( (BookEntry  == null)  ||   633         if ( (BookEntry  == null)  ||
622              (MatchedEn try == nul l))   634              (MatchedEn try == nul l))
623         {   635         {
624           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 );
625         }   637         }
626       }   638       }
627     }   639     }
628   }   640   }
629     641  
630   function   WWHOutline Entry_Top_ Object()   642   function   WWHOutline Entry_Top_ Object()
631   {   643   {
632     this.mPa rent    =  null;   644     this.mPa rent    =  null;
633     this.mbS how     =  false;   645     this.mbS how     =  false;
634     this.mTe xt      =  "Top Level ";   646     this.mTe xt      =  "Top Level ";
635     this.mUR L       =  "";   647     this.mUR L       =  "";
636     this.mID         =  -1;   648     this.mID         =  -1;
637     this.mLe vel     =  -1;   649     this.mLe vel     =  -1;
638     this.mbE xpanded =  true;   650     this.mbE xpanded =  true;
639     this.mCh ildren  =  null;   651     this.mCh ildren  =  null;
640     652  
641     this.fNe wChild = W WHOutlineE ntry_NewCh ild;   653     this.fNe wChild = W WHOutlineE ntry_NewCh ild;
642     this.fN         = W WHOutlineE ntry_NewCh ild;   654     this.fN         = W WHOutlineE ntry_NewCh ild;
643   }   655   }
644     656  
645   function   WWHOutline Entry_Obje ct(ParamPa rent,   657   function   WWHOutline Entry_Obje ct(ParamPa rent,
646                                       ParamTe xt,   658                                       ParamTe xt,
647                                       ParamUR L,   659                                       ParamUR L,
648                                       ParamIc on,   660                                       ParamIc on,
649                                       ParamOp enIcon)   661                                       ParamOp enIcon)
650   {   662   {
651     this.mPa rent    =  ParamParen t;   663     this.mPa rent    =  ParamParen t;
652     this.mbS how     =  true;   664     this.mbS how     =  true;
653     this.mTe xt      =  ParamText;   665     this.mTe xt      =  ParamText;
654     this.mUR L       =  (typeof(Pa ramURL) ==  "string")  ? ParamUR L : "";   666     this.mUR L       =  (typeof(Pa ramURL) ==  "string")  ? ParamUR L : "";
655     this.mID         =  WWHFrame.W WHOutline. mNextEntry ID;   667     this.mID         =  WWHFrame.W WHOutline. mNextEntry ID;
656     this.mLe vel     =  ParamParen t.mLevel +  1;   668     this.mLe vel     =  ParamParen t.mLevel +  1;
657     this.mbE xpanded =  false;   669     this.mbE xpanded =  false;
658     this.mCh ildren  =  null;   670     this.mCh ildren  =  null;
659     671  
660     this.fNe wChild = W WHOutlineE ntry_NewCh ild;   672     this.fNe wChild = W WHOutlineE ntry_NewCh ild;
661     this.fN         = W WHOutlineE ntry_NewCh ild;   673     this.fN         = W WHOutlineE ntry_NewCh ild;
662     674  
663     // Assig n custom i cons if de fined   675     // Assig n custom i cons if de fined
664     //   676     //
665     if (type of(ParamIc on) == "st ring")   677     if (type of(ParamIc on) == "st ring")
666     {   678     {
667       this.m Icon = Par amIcon;   679       this.m Icon = Par amIcon;
668     }   680     }
669     if (type of(ParamOp enIcon) ==  "string")   681     if (type of(ParamOp enIcon) ==  "string")
670     {   682     {
671       this.m OpenIcon =  ParamOpen Icon;   683       this.m OpenIcon =  ParamOpen Icon;
672     }   684     }
673     685  
674     // Incre ment ID   686     // Incre ment ID
675     //   687     //
676     WWHFrame .WWHOutlin e.mNextEnt ryID++;   688     WWHFrame .WWHOutlin e.mNextEnt ryID++;
677   }   689   }
678     690  
679   function   WWHOutline Entry_NewC hild(Param Text,   691   function   WWHOutline Entry_NewC hild(Param Text,
680                                         Param URL,   692                                         Param URL,
681                                         Param Icon,   693                                         Param Icon,
682                                         Param OpenIcon)   694                                         Param OpenIcon)
683   {   695   {
684     var  New Child;   696     var  New Child;
685     697  
686     698  
687     // Creat e a new en try   699     // Creat e a new en try
688     //   700     //
689     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);
690     702  
691     // Expan d top leve l entries,  if necess ary   703     // Expan d top leve l entries,  if necess ary
692     //   704     //
693     if (NewC hild.mLeve l == 0)   705     if (NewC hild.mLeve l == 0)
694     {   706     {
695       if (WW HFrame.WWH Help.mBook Groups.mbE xpandAllAt Top)   707       if (WW HFrame.WWH Help.mBook Groups.mbE xpandAllAt Top)
696       {   708       {
697         NewC hild.mbExp anded = tr ue;   709         NewC hild.mbExp anded = tr ue;
698       }   710       }
699     }   711     }
700     712  
701     // Add t o entry ha sh keyed b y ID   713     // Add t o entry ha sh keyed b y ID
702     //   714     //
703     WWHFrame .WWHOutlin e.mEntryHa sh[NewChil d.mID] = N ewChild;   715     WWHFrame .WWHOutlin e.mEntryHa sh[NewChil d.mID] = N ewChild;
704     716  
705     // Add c hild to pa rent entry   717     // Add c hild to pa rent entry
706     //   718     //
707     if (this .mChildren  == null)   719     if (this .mChildren  == null)
708     {   720     {
709       this.m Children =  new Array (NewChild) ;   721       this.m Children =  new Array (NewChild) ;
710     }   722     }
711     else   723     else
712     {   724     {
713       this.m Children[t his.mChild ren.length ] = NewChi ld;   725       this.m Children[t his.mChild ren.length ] = NewChi ld;
714     }   726     }
715     727  
716     // Bump  mMaxLevel  if we've e xceeded it   728     // Bump  mMaxLevel  if we've e xceeded it
717     //   729     //
718     if (NewC hild.mLeve l > WWHFra me.WWHOutl ine.mMaxLe vel)   730     if (NewC hild.mLeve l > WWHFra me.WWHOutl ine.mMaxLe vel)
719     {   731     {
720       WWHFra me.WWHOutl ine.mMaxLe vel = NewC hild.mLeve l;   732       WWHFra me.WWHOutl ine.mMaxLe vel = NewC hild.mLeve l;
721     }   733     }
722     734  
723     return N ewChild;   735     return N ewChild;
724   }   736   }
725     737  
726   function   WWHOutline EntryHash_ Object()   738   function   WWHOutline EntryHash_ Object()
727   {   739   {
728   }   740   }
729     741  
730   function   WWHOutline Iterator_O bject(bPar amVisibleO nly)   742   function   WWHOutline Iterator_O bject(bPar amVisibleO nly)
731   {   743   {
732     this.mbV isibleOnly   = bParam VisibleOnl y;   744     this.mbV isibleOnly   = bParam VisibleOnl y;
733     this.mIt eratorScop e = null;   745     this.mIt eratorScop e = null;
734     this.mEn try          = null;   746     this.mEn try          = null;
735     this.mSt ack          = new Ar ray();   747     this.mSt ack          = new Ar ray();
736     748  
737     this.fRe set   = WW HOutlineIt erator_Res et;   749     this.fRe set   = WW HOutlineIt erator_Res et;
738     this.fAd vance = WW HOutlineIt erator_Adv ance;   750     this.fAd vance = WW HOutlineIt erator_Adv ance;
739   }   751   }
740     752  
741   function   WWHOutline Iterator_R eset(Param Entry)   753   function   WWHOutline Iterator_R eset(Param Entry)
742   {   754   {
743     this.mIt eratorScop e = ParamE ntry;   755     this.mIt eratorScop e = ParamE ntry;
744     this.mEn try          = ParamE ntry;   756     this.mEn try          = ParamE ntry;
745     this.mSt ack.length   = 0;   757     this.mSt ack.length   = 0;
746   }   758   }
747     759  
748   function   WWHOutline Iterator_A dvance(Par amLevelSta tusObject)   760   function   WWHOutline Iterator_A dvance(Par amLevelSta tusObject)
749   {   761   {
750     var  bSa meLevel;   762     var  bSa meLevel;
751     var  Par entEntry;   763     var  Par entEntry;
752     var  Sta ckTop;   764     var  Sta ckTop;
753     765  
754     766  
755     // Advan ce to the  next visib le entry   767     // Advan ce to the  next visib le entry
756     //   768     //
757     if (this .mEntry !=  null)   769     if (this .mEntry !=  null)
758     {   770     {
759       // Che ck for vis ible child ren   771       // Che ck for vis ible child ren
760       //   772       //
761       if ((t his.mEntry .mChildren  != null)  &&   773       if ((t his.mEntry .mChildren  != null)  &&
762           ((  ! this.mb VisibleOnl y) ||   774           ((  ! this.mb VisibleOnl y) ||
763            ( this.mEntr y.mbExpand ed)))   775            ( this.mEntr y.mbExpand ed)))
764       {   776       {
765         // P rocess chi ldren   777         // P rocess chi ldren
766         //   778         //
767         this .mEntry =  this.mEntr y.mChildre n[0];   779         this .mEntry =  this.mEntr y.mChildre n[0];
768         this .mStack[th is.mStack. length] =  0;   780         this .mStack[th is.mStack. length] =  0;
769     781  
770         if ( ParamLevel StatusObje ct != null )   782         if ( ParamLevel StatusObje ct != null )
771         {   783         {
772           Pa ramLevelSt atusObject .fOpenLeve l();   784           Pa ramLevelSt atusObject .fOpenLeve l();
773         }   785         }
774       }   786       }
775       // 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
776       //   788       //
777       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)
778       {   790       {
779         this .mEntry =  null;   791         this .mEntry =  null;
780       }   792       }
781       else   793       else
782       {   794       {
783         bSam eLevel = t rue;   795         bSam eLevel = t rue;
784         Pare ntEntry =  this.mEntr y.mParent;   796         Pare ntEntry =  this.mEntr y.mParent;
785         this .mEntry =  null;   797         this .mEntry =  null;
786     798  
787         // F ind next c hild of pa rent entry   799         // F ind next c hild of pa rent entry
788         //   800         //
789         whil e (ParentE ntry != nu ll)   801         whil e (ParentE ntry != nu ll)
790         {   802         {
791           //  Increment  position   803           //  Increment  position
792           //   804           //
793           St ackTop = t his.mStack .length -  1;   805           St ackTop = t his.mStack .length -  1;
794           th is.mStack[ StackTop]+ +;   806           th is.mStack[ StackTop]+ +;
795     807  
796           //  Confirm t his is a v alid entry   808           //  Confirm t his is a v alid entry
797           //   809           //
798           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)
799           {   811           {
800              // Return  the parent 's next ch ild   812              // Return  the parent 's next ch ild
801              //   813              //
802              this.mEntr y = Parent Entry.mChi ldren[this .mStack[St ackTop]];   814              this.mEntr y = Parent Entry.mChi ldren[this .mStack[St ackTop]];
803     815  
804              // Signal  break from  loop   816              // Signal  break from  loop
805              //   817              //
806              ParentEntr y = null;   818              ParentEntr y = null;
807           }   819           }
808           el se   820           el se
809           {   821           {
810              // Last ch ild of par ent, try u p a level   822              // Last ch ild of par ent, try u p a level
811              //   823              //
812              if (Parent Entry.mID  == this.mI teratorSco pe.mID)   824              if (Parent Entry.mID  == this.mI teratorSco pe.mID)
813              {   825              {
814                ParentEn try = null ;   826                ParentEn try = null ;
815              }   827              }
816              else   828              else
817              {   829              {
818                ParentEn try = Pare ntEntry.mP arent;   830                ParentEn try = Pare ntEntry.mP arent;
819              }   831              }
820     832  
821              this.mStac k.length-- ;   833              this.mStac k.length-- ;
822     834  
823              bSameLevel  = false;   835              bSameLevel  = false;
824     836  
825              if (ParamL evelStatus Object !=  null)   837              if (ParamL evelStatus Object !=  null)
826              {   838              {
827                ParamLev elStatusOb ject.fClos eLevel(Par entEntry = = null);   839                ParamLev elStatusOb ject.fClos eLevel(Par entEntry = = null);
828              }   840              }
829           }   841           }
830         }   842         }
831     843  
832         if ( bSameLevel )   844         if ( bSameLevel )
833         {   845         {
834           if  (ParamLev elStatusOb ject != nu ll)   846           if  (ParamLev elStatusOb ject != nu ll)
835           {   847           {
836              ParamLevel StatusObje ct.fSameLe vel();   848              ParamLevel StatusObje ct.fSameLe vel();
837           }   849           }
838         }   850         }
839       }   851       }
840     }   852     }
841     853  
842     return ( this.mEntr y != null) ;   854     return ( this.mEntr y != null) ;
843   }   855   }
844     856  
845   function   WWHOutline Imaging_Im ageSrcDir( )   857   function   WWHOutline Imaging_Im ageSrcDir( )
846   {   858   {
847     var  Ima geSrcDir =  "../../.. /";   859     var  Ima geSrcDir =  "../../.. /";
848     860  
849     861  
850     // 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
851     //   863     //
852     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
853         (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
854     {   866     {
855       ImageS rcDir = WW HFrame.WWH Help.mHelp URLPrefix  + "wwhelp/ ";   867       ImageS rcDir = WW HFrame.WWH Help.mHelp URLPrefix  + "wwhelp/ ";
856     }   868     }
857     869  
858     return I mageSrcDir ;   870     return I mageSrcDir ;
859   }   871   }
860     872  
861   function   WWHOutline Imaging_Ge tIconURL(P aramEntry)   873   function   WWHOutline Imaging_Ge tIconURL(P aramEntry)
862   {   874   {
863     var  Ico nURL = "";   875     var  Ico nURL = "";
864     876  
865     877  
866     if (Para mEntry.mCh ildren !=  null)   878     if (Para mEntry.mCh ildren !=  null)
867     {   879     {
868       if (Pa ramEntry.m bExpanded)   880       if (Pa ramEntry.m bExpanded)
869       {   881       {
870         if ( typeof(Par amEntry.mO penIcon) = = "string" )   882         if ( typeof(Par amEntry.mO penIcon) = = "string" )
871         {   883         {
872           Ic onURL = th is.mImageS rcDir + "i mages/" +  ParamEntry .mOpenIcon ;   884           Ic onURL = th is.mImageS rcDir + "i mages/" +  ParamEntry .mOpenIcon ;
873         }   885         }
874         else  if (typeo f(ParamEnt ry.mIcon)  == "string ")   886         else  if (typeo f(ParamEnt ry.mIcon)  == "string ")
875         {   887         {
876           Ic onURL = th is.mImageS rcDir + "i mages/" +  ParamEntry .mIcon;   888           Ic onURL = th is.mImageS rcDir + "i mages/" +  ParamEntry .mIcon;
877         }   889         }
878         else   890         else
879         {   891         {
880           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";
881         }   893         }
882       }   894       }
883       else   895       else
884       {   896       {
885         if ( typeof(Par amEntry.mI con) == "s tring")   897         if ( typeof(Par amEntry.mI con) == "s tring")
886         {   898         {
887           Ic onURL = th is.mImageS rcDir + "i mages/" +  ParamEntry .mIcon;   899           Ic onURL = th is.mImageS rcDir + "i mages/" +  ParamEntry .mIcon;
888         }   900         }
889         else   901         else
890         {   902         {
891           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";
892         }   904         }
893       }   905       }
894     }   906     }
895     else   907     else
896     {   908     {
897       if (ty peof(Param Entry.mIco n) == "str ing")   909       if (ty peof(Param Entry.mIco n) == "str ing")
898       {   910       {
899         Icon URL = this .mImageSrc Dir + "ima ges/" + Pa ramEntry.m Icon;   911         Icon URL = this .mImageSrc Dir + "ima ges/" + Pa ramEntry.m Icon;
900       }   912       }
901       else   913       else
902       {   914       {
903         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";
904       }   916       }
905     }   917     }
906     918  
907     return I conURL;   919     return I conURL;
908   }   920   }
909     921  
910   function   WWHOutline Imaging_Ge tPopupActi on(ParamEn try)   922   function   WWHOutline Imaging_Ge tPopupActi on(ParamEn try)
911   {   923   {
912     var  Pop upAction =  "";   924     var  Pop upAction =  "";
913     925  
914     926  
915     if (WWHF rame.WWHJa vaScript.m Settings.m HoverText. mbEnabled)   927     if (WWHF rame.WWHJa vaScript.m Settings.m HoverText. mbEnabled)
916     {   928     {
917       PopupA ction += "  onmouseov er=\"fS("  + ParamEnt ry.mID + " , " + this .mEventStr ing + ");\ "";   929       PopupA ction += "  onmouseov er=\"fS("  + ParamEnt ry.mID + " , " + this .mEventStr ing + ");\ "";
918       PopupA ction += "  onmouseou t=\"fH();\ "";   930       PopupA ction += "  onmouseou t=\"fH();\ "";
919     }   931     }
920     932  
921     return P opupAction ;   933     return P opupAction ;
922   }   934   }
923     935  
924   function   WWHOutline Imaging_Ge tLink(Para mEntry,   936   function   WWHOutline Imaging_Ge tLink(Para mEntry,
925                                          bPar amForIcon)   937                                          bPar amForIcon)
926   {   938   {
927     var  Var Link;   939     var  Var Link;
928     var  Var Accessibil ityMessage ;   940     var  Var Accessibil ityMessage ;
929     var  Var Accessibil ityTitle =  "";   941     var  Var Accessibil ityTitle =  "";
930     var  Var Siblings;   942     var  Var Siblings;
931     var  Var MaxIndex;   943     var  Var MaxIndex;
932     var  Var Index;   944     var  Var Index;
933     var  Var IDPrefix;   945     var  Var IDPrefix;
        946     var  Var Action;
934     947  
935     948  
936     // Initi alize retu rn value   949     // Initi alize retu rn value
937     //   950     //
938     VarLink  = "";   951     VarLink  = "";
939     952  
940     // Deter mine title  for acces sibility   953     // Deter mine title  for acces sibility
941     //   954     //
942     if (WWHF rame.WWHHe lp.mbAcces sible)   955     if (WWHF rame.WWHHe lp.mbAcces sible)
943     {   956     {
944       // Det ermine if  this is a  book or a  topic   957       // Det ermine if  this is a  book or a  topic
945       //   958       //
946       if (Pa ramEntry.m Children ! = null)   959       if (Pa ramEntry.m Children ! = null)
947       {   960       {
948         if ( ParamEntry .mbExpande d)   961         if ( ParamEntry .mbExpande d)
949         {   962         {
950           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;
951         }   964         }
952         else   965         else
953         {   966         {
954           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;
955         }   968         }
956       }   969       }
957       else   970       else
958       {   971       {
959         VarA ccessibili tyMessage  = WWHFrame .WWHJavaSc ript.mMess ages.mAcce ssibilityT OCTopic;   972         VarA ccessibili tyMessage  = WWHFrame .WWHJavaSc ript.mMess ages.mAcce ssibilityT OCTopic;
960       }   973       }
961     974  
962       // For mat messag e   975       // For mat messag e
963       //   976       //
964       VarAcc essibility Title = WW HStringUti lities_For matMessage (VarAccess ibilityMes sage,   977       VarAcc essibility Title = WW HStringUti lities_For matMessage (VarAccess ibilityMes sage,
965                                                                      ParamEntr y.mText);   978                                                                      ParamEntr y.mText);
966     979  
967       // Add  position  informatio n   980       // Add  position  informatio n
968       //   981       //
969       if (Pa ramEntry.m Parent !=  null)   982       if (Pa ramEntry.m Parent !=  null)
970       {   983       {
971         VarS iblings =  ParamEntry .mParent.m Children;   984         VarS iblings =  ParamEntry .mParent.m Children;
972         VarM axIndex =  VarSibling s.length;   985         VarM axIndex =  VarSibling s.length;
973         VarI ndex = 0;   986         VarI ndex = 0;
974         whil e (VarInde x < VarMax Index)   987         whil e (VarInde x < VarMax Index)
975         {   988         {
976           if  (VarSibli ngs[VarInd ex].mID ==  ParamEntr y.mID)   989           if  (VarSibli ngs[VarInd ex].mID ==  ParamEntr y.mID)
977           {   990           {
978              // Record  position   991              // Record  position
979              //   992              //
980              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,
981                                                                                    (VarIn dex + 1),   994                                                                                    (VarIn dex + 1),
982                                                                                    VarMax Index);   995                                                                                    VarMax Index);
983     996  
984              // Exit lo op   997              // Exit lo op
985              //   998              //
986              VarIndex =  VarMaxInd ex;   999              VarIndex =  VarMaxInd ex;
987           }   1000           }
988     1001  
989           Va rIndex +=  1;   1002           Va rIndex +=  1;
990         }   1003         }
991       }   1004       }
992     1005  
993       VarAcc essibility Title = WW HStringUti lities_Esc apeHTML(Va rAccessibi lityTitle) ;   1006       VarAcc essibility Title = WW HStringUti lities_Esc apeHTML(Va rAccessibi lityTitle) ;
994       VarAcc essibility Title = "  title=\""  + VarAcces sibilityTi tle + "\"" ;   1007       VarAcc essibility Title = "  title=\""  + VarAcces sibilityTi tle + "\"" ;
995     }   1008     }
996     1009  
997     // Set l ink   1010     // Set l ink
998     //   1011     //
999     if ((Par amEntry.mU RL.length  > 0) ||   1012     if ((Par amEntry.mU RL.length  > 0) ||
1000         (Par amEntry.mC hildren !=  null))   1013         (Par amEntry.mC hildren !=  null))
1001     {   1014     {
1002       if (bP aramForIco n)   1015       if (bP aramForIco n)
1003       {   1016       {
1004         VarI DPrefix =  "tb";   1017         VarI DPrefix =  "tb";
1005       }   1018       }
1006       else   1019       else
1007       {   1020       {
1008         VarI DPrefix =  "t";   1021         VarI DPrefix =  "t";
1009       }   1022       }
1010     1023  
1011       VarLin k += "<a n ame=\"" +  VarIDPrefi x + ParamE ntry.mID +  "\" href= \"javascri pt: fD (" + Param Entry.mID  + ");\"" +  VarAccess ibilityTit le
;
  1024       // Det ermine dis play actio n
1012       VarLin k += this. fGetPopupA ction(Para mEntry) +  ">";   1025       //
        1026       VarAct ion = "fD" ;
        1027       if ( !  WWHFrame. WWHHelp.mb Accessible )
        1028       {
        1029         if ( bParamForI con)
        1030         {
        1031           if  (ParamEnt ry.mChildr en != null )
        1032           {
        1033              if (ParamE ntry.mbExp anded)
        1034              {
        1035                VarActio n = "fC";
        1036              }
        1037              else
        1038              {
        1039                VarActio n = "fE";
        1040              }
        1041           }
        1042         }
        1043       }
        1044  
        1045       VarLin k += "<a n ame=\"" +  VarIDPrefi x + ParamE ntry.mID +  "\" href= \"javascri pt: " + VarAct ion + " (" + Param Entry.mID  + ");\"" +  VarAccess ibilityTit le  + this.fG etPopupAct ion(ParamE ntry) + "> " ;
1013     }   1046     }
1014     1047  
1015     return V arLink;   1048     return V arLink;
1016   }   1049   }
1017     1050  
1018   function   WWHOutline Imaging_Ge tEntryHTML (ParamEntr y)   1051   function   WWHOutline Imaging_Ge tEntryHTML (ParamEntr y)
1019   {   1052   {
1020     var  Ent ryHTML = " ";   1053     var  Ent ryHTML = " ";
1021     var  Ico nURL;   1054     var  Ico nURL;
1022     var  Var Link;   1055     var  Var Link;
1023     1056  
1024     1057  
1025     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\ ">";
1026     EntryHTM L += "<tr> ";   1059     EntryHTM L += "<tr> ";
1027     if (Para mEntry.mLe vel > 0)   1060     if (Para mEntry.mLe vel > 0)
1028     {   1061     {
1029       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 ) + "\">";
1030       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=\"\" >";
1031       EntryH TML += "</ td>";   1064       EntryH TML += "</ td>";
1032     }   1065     }
1033     EntryHTM L += "<td  width=\"19 \">";   1066     EntryHTM L += "<td  width=\"19 \">";
1034     EntryHTM L += "<nob r>";   1067     EntryHTM L += "<nob r>";
1035     1068  
1036     IconURL  = this.fGe tIconURL(P aramEntry) ;   1069     IconURL  = this.fGe tIconURL(P aramEntry) ;
1037     if ((WWH Frame.WWHH elp.mbAcce ssible) ||   1070     VarLink  = this.fGe tLink(Para mEntry, tr ue);
1038         (Par amEntry.mC hildren ==  null))   1071     if (VarL ink.length  > 0)
1039     {   1072     {
1040       VarLin k = this.f GetLink(Pa ramEntry,  true);   1073       
EntryHTML  += VarLink ;
1041       if (Va rLink.leng th > 0)   1074     
}
1042       {   1075     
EntryHTML  += "<img w idth=\"17\ " height=\ "17\" bord er=\"0\" s rc=\"" + I conURL + " \" alt=\"\ ">";
1043           EntryHTML  += VarLink ;   1076     
if (VarLin k.length >  0)
1044         }   1077     
{
1045         EntryHTML  += "<img w idth=\"17\ " height=\ "17\" bord er=\"0\" s rc=\"" + I conURL + " \" alt=\"\ ">";   1078       if ( !  WWHFrame. WWHHelp.mb Accessible )
1046       EntryH TML += "<i mg width=\ "2\" heigh t=\"1\" bo rder=\"0\"  src=\"" +  this.mIma geSrcDir +  "wwhimpl/ common/ima ges/spc2w1 h.gif\" al t=\"\">";        
1047       if (Va rLink.leng th > 0)        
1048       {        
1049         Entr yHTML += " </a>";        
1050       }        
1051          
1052       EntryH TML += "</ nobr>";        
1053       EntryH TML += "</ td>";        
1054       EntryH TML += "<t d>";        
1055       EntryH TML += "<n obr>";        
1056          
1057       VarLin k = this.f GetLink(Pa ramEntry,  false);        
1058         if (VarLin k.length >  0)        
1059         {        
1060         Entr yHTML += V arLink;        
1061       }        
1062       EntryH TML += Par amEntry.mT ext;        
1063       if (Va rLink.leng th > 0)        
1064       {   1079       {
1065         Entr yHTML += " </a>";   1080         Entr yHTML += " </a>";
1066       }   1081       }
1067     }   1082     }
1068     else   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)
1069     {   1085     {
1070       if (Pa ramEntry.m bExpanded)   1086       if (WW HFrame.WWH Help.mbAcc essible)
1071       {        
1072         Entr yHTML += " <a name=\" tb" + Para mEntry.mID  + "\" hre f=\"javasc ript:fC("  + ParamEnt ry.mID + " );\"" + th is.fGetPop upAction(P aramEntry)  + ">";        
1073       }        
1074       else        
1075       {   1087       {
1076         Entr yHTML += " <a name=\" tb" + Para mEntry.mID  + "\" hre f=\"javasc ript:fE("  + ParamEnt ry.mID + " );\"" + th is.fGetPop upAction(P aramEntry)  + ">";   1088         Entr yHTML += " </a>";
1077       }   1089       }
1078       EntryH TML += "<i mg width=\ "17\" heig ht=\"17\"  border=\"0 \" src=\""  + IconURL  + "\" alt =\"\"></a> ";   1090     }
1079       EntryH TML += "<i mg width=\ "2\" heigh t=\"1\" bo rder=\"0\"  src=\"" +  this.mIma geSrcDir +  "wwhimpl/ common/ima ges/spc2w1 h.gif\" al t=\"\">";        
1080     1091  
1081         EntryHTML  += "</nobr >";   1092     
EntryHTML  += "</nobr >";
1082         EntryHTML  += "</td>" ;   1093     
EntryHTML  += "</td>" ;
1083         EntryHTML  += "<td>";   1094     
EntryHTML  += "<td>";
1084         EntryHTML  += "<nobr> ";   1095     
EntryHTML  += "<nobr> ";
1085     1096  
1086         VarLink =  this.fGetL ink(ParamE ntry, fals e);   1097     
VarLink =  this.fGetL ink(ParamE ntry, fals e);
1087         if (VarLin k.length >  0)   1098     
if (VarLin k.length >  0)
1088         {   1099     
{
1089           EntryHTML  += VarLink ;   1100       
EntryHTML  += VarLink ;
1090         }   1101     
}
1091         EntryHTML  += ParamEn try.mText;   1102     
EntryHTML  += ParamEn try.mText;
1092         if (VarLin k.length >  0)   1103     
if (VarLin k.length >  0)
1093         {   1104     
{
1094           EntryHTML  += "</a>";   1105       
EntryHTML  += "</a>";
1095       }        
1096     }   1106     }
1097     1107  
1098     EntryHTM L += "</no br>";   1108     EntryHTM L += "</no br>";
1099     EntryHTM L += "</td >";   1109     EntryHTM L += "</td >";
1100     EntryHTM L += "</tr >";   1110     EntryHTM L += "</tr >";
1101     EntryHTM L += "</ta ble>";   1111     EntryHTM L += "</ta ble>";
1102     1112  
1103     return E ntryHTML;   1113     return E ntryHTML;
1104   }   1114   }