home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 November / Chip_2003-11_cd2.bin / ruzne / painter / PAINTE~2.cab / _1F28C4A24B1B4D938E4D0D209B56044B < prev    next >
Text File  |  2003-01-06  |  2KB  |  79 lines

  1. function  LinksEntry_Object(ParamEntry,
  2.                             ParamHREFArray)
  3. {
  4.   this.mKey   = ParamEntry;
  5.   this.mHREFs = ParamHREFArray;
  6. }
  7.  
  8. function  LinksEntry_SortFunction(ParamLinkEntryAlpha,
  9.                                   ParamLinkEntryBeta)
  10. {
  11.   var  Result = 0;
  12.  
  13.  
  14.   if (ParamLinkEntryAlpha.mKey < ParamLinkEntryBeta.mKey)
  15.   {
  16.     Result = -1;
  17.   }
  18.   else if (ParamLinkEntryAlpha.mKey > ParamLinkEntryBeta.mKey)
  19.   {
  20.     Result = 1;
  21.   }
  22.  
  23.   return Result;
  24. }
  25.  
  26. function  Links_Object(ParamBookDir,
  27.                        ParamBookTitle)
  28. {
  29.   this.mBookDir   = ParamBookDir;
  30.   this.mBookTitle = ParamBookTitle;
  31.   this.mLinks     = new Array();
  32.   this.mLinksSize = 0;
  33.  
  34.   this.fLoadIndex       = Links_LoadIndex;
  35.   this.fSetTotalEntries = Links_SetTotalEntries;
  36.   this.fAddEntry        = Links_AddEntry;
  37. }
  38.  
  39. function  Links_LoadIndex(ParamAddLinksFunc)
  40. {
  41.   this.mLinksSize = 0;
  42.  
  43.   ParamAddLinksFunc(this);
  44.  
  45.   if (this.mLinks.length > this.mLinksSize)
  46.   {
  47.     this.mLinks.length = mLinksSize;  // Resize to correct length
  48.   }
  49.  
  50.   // Make certain the entries are sorted
  51.   //
  52.   this.mLinks.sort(LinksEntry_SortFunction);
  53. }
  54.  
  55. function  Links_SetTotalEntries(ParamTotal)
  56. {
  57.   this.mLinks.length = ParamTotal;
  58. }
  59.  
  60. function  Links_AddEntry(ParamEntry,
  61.                          ParamHREFArray)
  62. {
  63.   var  NewLink;
  64.  
  65.  
  66.   this.mLinksSize++;
  67.  
  68.   // Make sure we grow big enough
  69.   //
  70.   if (this.mLinksSize > this.mLinks.length)
  71.   {
  72.     this.mLinks.length++;
  73.   }
  74.  
  75.   NewLink = new LinksEntry_Object(ParamEntry, ParamHREFArray);
  76.  
  77.   this.mLinks[this.mLinksSize - 1] = NewLink;
  78. }
  79.