Hex Artifact Content Вы: nobody
Вход

Artifact 94edabb4435cba9600c44532dda6542f3323e2ca:


0000: ef bb bf 24 65 6e 67 69 6e 65 20 4a 53 63 72 69  ...$engine JScri
0010: 70 74 0d 0a 24 75 6e 61 6d 65 20 74 72 61 79 6d  pt..$uname traym
0020: 65 73 73 61 67 65 0d 0a 24 64 6e 61 6d 65 20 d0  essage..$dname .
0030: 98 d0 bd d0 b4 d0 b8 d0 ba d0 b0 d1 86 d0 b8 d1  ................
0040: 8f 20 d0 be d0 ba d0 be d0 bd d1 87 d0 b0 d0 bd  . ..............
0050: d0 b8 d1 8f 20 d1 81 d1 80 d0 b0 d0 b2 d0 bd d0  .... ...........
0060: b5 d0 bd d0 b8 d1 8f 20 d0 ba d0 be d0 bd d1 84  ....... ........
0070: d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 86 d0 b8 d0 b9  ................
0080: 0d 0a 24 61 64 64 69 6e 20 73 74 64 63 6f 6d 6d  ..$addin stdcomm
0090: 61 6e 64 73 0d 0a 24 61 64 64 69 6e 20 67 6c 6f  ands..$addin glo
00a0: 62 61 6c 0d 0a 24 61 64 64 69 6e 20 73 74 64 6c  bal..$addin stdl
00b0: 69 62 0d 0a 2f 2f 20 28 63 29 20 d0 a1 d0 be d1  ib..// (c) .....
00c0: 81 d0 bd d0 b0 20 d0 95 d0 b2 d0 b3 d0 b5 d0 bd  ..... ..........
00d0: d0 b8 d0 b9 0d 0a 2f 2f 20 d0 a1 d0 ba d1 80 d0  ......// .......
00e0: b8 d0 bf d1 82 20 d0 be d0 bf d1 80 d0 b5 d0 b4  ..... ..........
00f0: d0 b5 d0 bb d1 8f d0 b5 d1 82 20 d0 be d0 ba d0  .......... .....
0100: bd d0 b0 20 d0 be d0 ba d0 be d0 bd d1 87 d0 b0  ... ............
0110: d0 bd d0 b8 d0 b5 d0 bc 20 d1 81 d1 80 d0 b0 d0  ........ .......
0120: b2 d0 bd d0 b5 d0 bd d0 b8 d1 8f 20 d0 ba d0 be  ........... ....
0130: d0 bd d1 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 86  ................
0140: d0 b8 d0 b9 3a 20 d0 be d0 b1 d0 bd d0 be d0 b2  ....: ..........
0150: d0 bb d0 b5 d0 bd d0 b8 d0 b5 2c 20 d1 81 d1 80  .........., ....
0160: d0 b0 d0 b2 d0 bd d0 b5 d0 bd d0 b8 d0 b5 2c 20  .............., 
0170: d1 81 d1 80 d0 b0 d0 b2 d0 bd d0 b5 d0 bd d0 b8  ................
0180: d0 b5 20 d1 81 20 d0 b1 d0 b0 d0 b7 d0 be d0 b9  .. .. ..........
0190: 0d 0a 2f 2f 20 20 d1 81 d1 80 d0 b0 d0 b2 d0 bd  ..//  ..........
01a0: d0 b5 d0 bd d0 b8 d0 b5 20 d1 81 20 d0 ba d0 be  ........ .. ....
01b0: d0 bd d1 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 86  ................
01c0: d0 b8 d0 b5 d0 b9 20 d1 85 d1 80 d0 b0 d0 bd d0  ...... .........
01d0: b8 d0 bb d0 b8 d1 89 d0 b0 20 d0 b8 20 d0 b2 d1  ......... .. ...
01e0: 8b d0 b2 d0 be d0 b4 d0 b8 d1 82 20 d0 b2 20 d1  ........... .. .
01f0: 82 d1 80 d0 b0 d0 b9 20 d1 81 d0 be d0 be d0 b1  ....... ........
0200: d1 89 d0 b5 d0 bd d0 b8 d0 b5 2e 20 0d 0a 2f 2f  ........... ..//
0210: 20 d0 97 d0 b0 d0 b3 d0 be d0 bb d0 be d0 b2 d0   ...............
0220: be d0 ba 20 d1 81 d0 be d0 be d0 b1 d1 89 d0 b5  ... ............
0230: d0 bd d0 b8 d1 8f 20 2d 20 d0 97 d0 b0 d0 b3 d0  ...... - .......
0240: be d0 bb d0 be d0 b2 d0 be d0 ba 20 d0 be d0 ba  ........... ....
0250: d0 bd d0 b0 20 d0 9a d0 be d0 bd d1 84 d0 b8 d0  .... ...........
0260: b3 d1 83 d1 80 d0 b0 d1 82 d0 be d1 80 d0 b0 20  ............... 
0270: 28 d0 b5 d1 81 d1 82 d1 8c 20 d0 bb d1 8e d0 b4  (........ ......
0280: d0 b8 20 d0 ba d0 be d1 82 d0 be d1 80 d1 8b d0  .. .............
0290: b5 20 d0 bd d0 b5 20 d0 bf d0 be d0 bb d1 8c d0  . .... .........
02a0: b7 d1 83 d1 8e d1 82 d1 81 d1 8f 20 63 6f 6e 66  ........... conf
02b0: 69 67 43 61 70 74 69 6f 6e 20 3f 3f 3f 3f 29 0d  igCaption ????).
02c0: 0a 2f 2f 20 d0 a2 d0 b5 d0 ba d1 81 d1 82 20 2d  .// .......... -
02d0: 20 d0 a1 d1 80 d0 b0 d0 b2 d0 bd d0 b5 d0 bd d0   ...............
02e0: b8 d0 b5 20 d0 be d0 ba d0 be d0 bd d1 87 d0 b5  ... ............
02f0: d0 bd d0 be 20 d0 9a d0 be d0 bd d1 84 d0 b8 d0  .... ...........
0300: b3 d1 83 d1 80 d0 b0 d1 86 d0 b8 d1 8f 31 20 2d  .............1 -
0310: 20 d0 9a d0 be d0 bd d1 84 d0 b8 d0 b3 d1 83 d1   ...............
0320: 80 d0 b0 d1 86 d0 b8 d1 8f 20 32 20 0d 0a 2f 2f  ......... 2 ..//
0330: 20 d0 92 d1 80 d0 b5 d0 bc d1 8f 20 d1 81 d0 be   .......... ....
0340: d0 be d0 b1 d1 89 d0 b5 d0 bd d0 b8 d1 8f 20 d0  .............. .
0350: bf d0 be 20 d1 83 d0 bc d0 be d0 bb d1 87 d0 b0  ... ............
0360: d0 bd d0 b8 d1 8e 20 31 35 20 d1 81 d0 b5 d0 ba  ...... 15 ......
0370: 2c 20 d0 bc d0 b0 d0 ba d1 81 20 33 30 20 0d 0a  , ........ 30 ..
0380: 0d 0a 0d 0a 67 6c 6f 62 61 6c 2e 63 6f 6e 6e 65  ....global.conne
0390: 63 74 47 6c 6f 62 61 6c 73 28 53 65 6c 66 53 63  ctGlobals(SelfSc
03a0: 72 69 70 74 29 0d 0a 0d 0a 76 61 72 20 6e 6f 74  ript)....var not
03b0: 69 66 79 73 65 6e 64 20 3d 20 73 74 64 6c 69 62  ifysend = stdlib
03c0: 2e 72 65 71 75 69 72 65 28 27 4e 6f 74 69 66 79  .require('Notify
03d0: 53 65 6e 64 2e 6a 73 27 29 2e 47 65 74 4e 6f 74  Send.js').GetNot
03e0: 69 66 79 53 65 6e 64 28 29 3b 0d 0a 0d 0a 2f 2f  ifySend();....//
03f0: 20 d0 92 d0 be d1 81 d1 81 d1 82 d0 b0 d0 bd d0   ...............
0400: be d0 b2 d0 b8 d0 bc 20 d0 bd d0 b0 d1 81 d1 82  ....... ........
0410: d1 80 d0 be d0 b9 d0 ba d0 b8 0d 0a 76 61 72 20  ............var 
0420: 70 66 6c 54 72 61 79 4d 65 73 73 61 67 65 49 6e  pflTrayMessageIn
0430: 74 65 72 76 61 6c 20 3d 20 22 54 72 61 79 4d 65  terval = "TrayMe
0440: 73 73 61 67 65 2f 49 6e 74 65 72 76 61 6c 22 0d  ssage/Interval".
0450: 0a 70 72 6f 66 69 6c 65 52 6f 6f 74 2e 63 72 65  .profileRoot.cre
0460: 61 74 65 56 61 6c 75 65 28 70 66 6c 54 72 61 79  ateValue(pflTray
0470: 4d 65 73 73 61 67 65 49 6e 74 65 72 76 61 6c 2c  MessageInterval,
0480: 20 31 2c 20 70 66 6c 53 6e 65 67 6f 70 61 74 29   1, pflSnegopat)
0490: 0d 0a 0d 0a 2f 2f 20 d0 a2 d0 b5 d0 bf d0 b5 d1  ....// .........
04a0: 80 d1 8c 20 d0 bf d1 80 d0 be d1 87 d0 b8 d1 82  ... ............
04b0: d0 b0 d0 b5 d0 bc 20 d0 b0 d0 ba d1 82 d1 83 d0  ...... .........
04c0: b0 d0 bb d1 8c d0 bd d1 8b d0 b5 20 d0 b7 d0 bd  ........... ....
04d0: d0 b0 d1 87 d0 b5 d0 bd d0 b8 d1 8f 20 d0 b8 d0  ............ ...
04e0: b7 20 d0 bf d1 80 d0 be d1 84 d0 b0 d0 b9 d0 bb  . ..............
04f0: d0 b0 0d 0a 76 61 72 20 69 6e 74 65 72 76 61 6c  ....var interval
0500: 20 3d 20 70 72 6f 66 69 6c 65 52 6f 6f 74 2e 67   = profileRoot.g
0510: 65 74 56 61 6c 75 65 28 70 66 6c 54 72 61 79 4d  etValue(pflTrayM
0520: 65 73 73 61 67 65 49 6e 74 65 72 76 61 6c 29 0d  essageInterval).
0530: 0a 0d 0a 49 6e 69 74 28 29 3b 0d 0a 0d 0a 66 75  ...Init();....fu
0540: 6e 63 74 69 6f 6e 20 6f 6e 53 61 76 65 44 42 28  nction onSaveDB(
0550: 63 6d 64 29 20 7b 0d 0a 20 20 20 20 69 66 28 21  cmd) {..    if(!
0560: 63 6d 64 2e 69 73 42 65 66 6f 72 65 29 0d 0a 20  cmd.isBefore).. 
0570: 20 20 20 7b 20 0d 0a 20 20 20 20 20 20 20 20 74     { ..        t
0580: 72 79 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20  ry {..          
0590: 20 20 20 20 20 20 65 76 65 6e 74 73 2e 64 69 73        events.dis
05a0: 63 6f 6e 6e 65 63 74 28 77 69 6e 64 6f 77 73 2c  connect(windows,
05b0: 20 22 6f 6e 44 6f 4d 6f 64 61 6c 22 2c 20 53 65   "onDoModal", Se
05c0: 6c 66 53 63 72 69 70 74 2e 73 65 6c 66 2c 20 22  lfScript.self, "
05d0: 6f 6e 4d 65 73 73 61 67 65 42 6f 78 53 61 76 65  onMessageBoxSave
05e0: 44 42 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 20  DB");..         
05f0: 20 20 20 20 7d 20 63 61 74 63 68 20 28 65 29 20      } catch (e) 
0600: 7b 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20  { }..           
0610: 20 0d 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d   ..    } else {.
0620: 0a 20 20 20 20 20 20 20 20 65 76 65 6e 74 73 2e  .        events.
0630: 63 6f 6e 6e 65 63 74 28 77 69 6e 64 6f 77 73 2c  connect(windows,
0640: 20 22 6f 6e 44 6f 4d 6f 64 61 6c 22 2c 20 53 65   "onDoModal", Se
0650: 6c 66 53 63 72 69 70 74 2e 73 65 6c 66 2c 20 22  lfScript.self, "
0660: 6f 6e 4d 65 73 73 61 67 65 42 6f 78 53 61 76 65  onMessageBoxSave
0670: 44 42 22 29 3b 0d 0a 20 20 20 20 7d 0d 0a 7d 0d  DB");..    }..}.
0680: 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 6f 6e 4d 65  ...function onMe
0690: 73 73 61 67 65 42 6f 78 53 61 76 65 44 42 28 64  ssageBoxSaveDB(d
06a0: 6c 67 49 6e 66 6f 29 20 7b 0d 0a 20 20 20 20 69  lgInfo) {..    i
06b0: 66 20 28 28 64 6c 67 49 6e 66 6f 2e 73 74 61 67  f ((dlgInfo.stag
06c0: 65 20 3d 3d 20 6f 70 65 6e 4d 6f 64 61 6c 57 6e  e == openModalWn
06d0: 64 29 20 26 26 20 28 64 6c 67 49 6e 66 6f 2e 43  d) && (dlgInfo.C
06e0: 61 70 74 69 6f 6e 3d 3d 22 d0 9a d0 be d0 bd d1  aption==".......
06f0: 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 82 d0 be d1  ................
0700: 80 22 29 29 20 7b 0d 0a 20 20 20 20 20 20 20 20  .")) {..        
0710: 76 61 72 20 74 65 78 74 20 3d 20 27 27 2b 77 69  var text = ''+wi
0720: 6e 64 6f 77 73 2e 63 61 70 74 69 6f 6e 3b 0d 0a  ndows.caption;..
0730: 20 20 20 20 20 20 20 20 76 61 72 20 63 61 70 74          var capt
0740: 69 6f 6e 20 3d 20 22 d0 92 d1 8b d0 b3 d1 80 d1  ion = ".........
0750: 83 d0 b7 d0 ba d0 b0 20 d0 b1 d0 b0 d0 b7 d1 8b  ....... ........
0760: 20 d0 b7 d0 b0 d0 b2 d0 b5 d1 80 d1 88 d0 b5 d0   ...............
0770: bd d0 bd d0 b0 21 22 3b 0d 0a 20 20 20 20 20 20  .....!";..      
0780: 20 20 54 72 61 79 4d 65 73 73 61 67 65 28 63 61    TrayMessage(ca
0790: 70 74 69 6f 6e 2c 20 74 65 78 74 29 3b 0d 0a 20  ption, text);.. 
07a0: 20 20 20 20 20 20 20 0d 0a 20 20 20 20 7d 20 65         ..    } e
07b0: 6c 73 65 20 7b 0d 0a 20 20 20 20 20 20 20 20 69  lse {..        i
07c0: 66 20 28 28 64 6c 67 49 6e 66 6f 2e 73 74 61 67  f ((dlgInfo.stag
07d0: 65 20 3d 3d 20 61 66 74 65 72 44 6f 4d 6f 64 61  e == afterDoModa
07e0: 6c 29 20 26 26 20 28 64 6c 67 49 6e 66 6f 2e 43  l) && (dlgInfo.C
07f0: 61 70 74 69 6f 6e 3d 3d 22 d0 9a d0 be d0 bd d1  aption==".......
0800: 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 82 d0 be d1  ................
0810: 80 22 29 29 20 7b 0d 0a 20 20 20 20 20 20 20 20  .")) {..        
0820: 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20      ..          
0830: 20 20 74 72 79 20 7b 0d 0a 20 20 20 20 20 20 20    try {..       
0840: 20 20 20 20 20 20 20 20 20 65 76 65 6e 74 73 2e           events.
0850: 64 69 73 63 6f 6e 6e 65 63 74 28 77 69 6e 64 6f  disconnect(windo
0860: 77 73 2c 20 22 6f 6e 44 6f 4d 6f 64 61 6c 22 2c  ws, "onDoModal",
0870: 20 53 65 6c 66 53 63 72 69 70 74 2e 73 65 6c 66   SelfScript.self
0880: 2c 20 22 6f 6e 4d 65 73 73 61 67 65 42 6f 78 53  , "onMessageBoxS
0890: 61 76 65 44 42 22 29 3b 0d 0a 20 20 20 20 20 20  aveDB");..      
08a0: 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 20 28         } catch (
08b0: 65 29 20 7b 20 7d 0d 0a 20 20 20 20 20 20 20 20  e) { }..        
08c0: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d      }..        }
08d0: 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20  ..}....function 
08e0: 6f 6e 53 61 76 65 54 6f 46 69 6c 65 43 46 28 63  onSaveToFileCF(c
08f0: 6d 64 29 20 7b 0d 0a 20 20 20 20 69 66 28 21 63  md) {..    if(!c
0900: 6d 64 2e 69 73 42 65 66 6f 72 65 29 0d 0a 20 20  md.isBefore)..  
0910: 20 20 7b 20 0d 0a 20 20 20 20 20 20 20 20 74 72    { ..        tr
0920: 79 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20  y {..           
0930: 20 20 20 20 20 65 76 65 6e 74 73 2e 64 69 73 63       events.disc
0940: 6f 6e 6e 65 63 74 28 77 69 6e 64 6f 77 73 2c 20  onnect(windows, 
0950: 22 6f 6e 44 6f 4d 6f 64 61 6c 22 2c 20 53 65 6c  "onDoModal", Sel
0960: 66 53 63 72 69 70 74 2e 73 65 6c 66 2c 20 22 6f  fScript.self, "o
0970: 6e 4d 65 73 73 61 67 65 42 6f 78 53 61 76 65 54  nMessageBoxSaveT
0980: 6f 46 69 6c 65 43 46 22 29 3b 0d 0a 20 20 20 20  oFileCF");..    
0990: 20 20 20 20 20 20 20 20 20 7d 20 63 61 74 63 68           } catch
09a0: 20 28 65 29 20 7b 20 7d 0d 0a 20 20 20 20 20 20   (e) { }..      
09b0: 20 20 20 20 20 20 0d 0a 20 20 20 20 7d 20 65 6c        ..    } el
09c0: 73 65 20 7b 0d 0a 20 20 20 20 20 20 20 20 65 76  se {..        ev
09d0: 65 6e 74 73 2e 63 6f 6e 6e 65 63 74 28 77 69 6e  ents.connect(win
09e0: 64 6f 77 73 2c 20 22 6f 6e 44 6f 4d 6f 64 61 6c  dows, "onDoModal
09f0: 22 2c 20 53 65 6c 66 53 63 72 69 70 74 2e 73 65  ", SelfScript.se
0a00: 6c 66 2c 20 22 6f 6e 4d 65 73 73 61 67 65 42 6f  lf, "onMessageBo
0a10: 78 53 61 76 65 54 6f 46 69 6c 65 43 46 22 29 3b  xSaveToFileCF");
0a20: 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 66 75  ..    }..}....fu
0a30: 6e 63 74 69 6f 6e 20 6f 6e 4d 65 73 73 61 67 65  nction onMessage
0a40: 42 6f 78 53 61 76 65 54 6f 46 69 6c 65 43 46 28  BoxSaveToFileCF(
0a50: 64 6c 67 49 6e 66 6f 29 20 7b 0d 0a 20 20 20 20  dlgInfo) {..    
0a60: 69 66 20 28 28 64 6c 67 49 6e 66 6f 2e 73 74 61  if ((dlgInfo.sta
0a70: 67 65 20 3d 3d 20 6f 70 65 6e 4d 6f 64 61 6c 57  ge == openModalW
0a80: 6e 64 29 20 26 26 20 28 64 6c 67 49 6e 66 6f 2e  nd) && (dlgInfo.
0a90: 43 61 70 74 69 6f 6e 3d 3d 22 d0 9a d0 be d0 bd  Caption=="......
0aa0: d1 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 82 d0 be  ................
0ab0: d1 80 22 29 29 20 7b 0d 0a 20 20 20 20 20 20 20  ..")) {..       
0ac0: 20 76 61 72 20 74 65 78 74 20 3d 20 27 27 2b 77   var text = ''+w
0ad0: 69 6e 64 6f 77 73 2e 63 61 70 74 69 6f 6e 3b 0d  indows.caption;.
0ae0: 0a 20 20 20 20 20 20 20 20 76 61 72 20 63 61 70  .        var cap
0af0: 74 69 6f 6e 20 3d 20 22 d0 92 d1 8b d0 b3 d1 80  tion = "........
0b00: d1 83 d0 b7 d0 ba d0 b0 20 d0 ba d0 be d0 bd d1  ........ .......
0b10: 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 86 d0 b8 d0  ................
0b20: b8 20 d0 b7 d0 b0 d0 b2 d0 b5 d1 80 d1 88 d0 b5  . ..............
0b30: d0 bd d0 bd d0 b0 21 22 3b 0d 0a 20 20 20 20 20  ......!";..     
0b40: 20 20 20 54 72 61 79 4d 65 73 73 61 67 65 28 63     TrayMessage(c
0b50: 61 70 74 69 6f 6e 2c 20 74 65 78 74 29 3b 0d 0a  aption, text);..
0b60: 20 20 20 20 20 20 20 20 0d 0a 20 20 20 20 7d 20          ..    } 
0b70: 65 6c 73 65 20 7b 0d 0a 20 20 20 20 20 20 20 20  else {..        
0b80: 69 66 20 28 28 64 6c 67 49 6e 66 6f 2e 73 74 61  if ((dlgInfo.sta
0b90: 67 65 20 3d 3d 20 61 66 74 65 72 44 6f 4d 6f 64  ge == afterDoMod
0ba0: 61 6c 29 20 26 26 20 28 64 6c 67 49 6e 66 6f 2e  al) && (dlgInfo.
0bb0: 43 61 70 74 69 6f 6e 3d 3d 22 d0 9a d0 be d0 bd  Caption=="......
0bc0: d1 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1 82 d0 be  ................
0bd0: d1 80 22 29 29 20 7b 0d 0a 20 20 20 20 20 20 20  ..")) {..       
0be0: 20 20 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20       ..         
0bf0: 20 20 20 74 72 79 20 7b 0d 0a 20 20 20 20 20 20     try {..      
0c00: 20 20 20 20 20 20 20 20 20 20 65 76 65 6e 74 73            events
0c10: 2e 64 69 73 63 6f 6e 6e 65 63 74 28 77 69 6e 64  .disconnect(wind
0c20: 6f 77 73 2c 20 22 6f 6e 44 6f 4d 6f 64 61 6c 22  ows, "onDoModal"
0c30: 2c 20 53 65 6c 66 53 63 72 69 70 74 2e 73 65 6c  , SelfScript.sel
0c40: 66 2c 20 22 6f 6e 4d 65 73 73 61 67 65 42 6f 78  f, "onMessageBox
0c50: 53 61 76 65 54 6f 46 69 6c 65 43 46 22 29 3b 0d  SaveToFileCF");.
0c60: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20  .             } 
0c70: 63 61 74 63 68 20 28 65 29 20 7b 20 7d 0d 0a 20  catch (e) { }.. 
0c80: 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20             }..  
0c90: 20 20 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 0d 0a        }..}......
0ca0: 66 75 6e 63 74 69 6f 6e 20 6f 6e 52 65 73 74 6f  function onResto
0cb0: 72 65 44 42 28 63 6d 64 29 20 7b 0d 0a 20 20 20  reDB(cmd) {..   
0cc0: 20 69 66 28 21 63 6d 64 2e 69 73 42 65 66 6f 72   if(!cmd.isBefor
0cd0: 65 29 0d 0a 20 20 20 20 7b 20 0d 0a 20 20 20 20  e)..    { ..    
0ce0: 20 20 20 20 74 72 79 20 7b 0d 0a 20 20 20 20 20      try {..     
0cf0: 20 20 20 20 20 20 20 20 65 76 65 6e 74 73 2e 64          events.d
0d00: 69 73 63 6f 6e 6e 65 63 74 28 77 69 6e 64 6f 77  isconnect(window
0d10: 73 2c 20 22 6f 6e 44 6f 4d 6f 64 61 6c 22 2c 20  s, "onDoModal", 
0d20: 53 65 6c 66 53 63 72 69 70 74 2e 73 65 6c 66 2c  SelfScript.self,
0d30: 20 22 6f 6e 4d 65 73 73 61 67 65 42 6f 78 52 65   "onMessageBoxRe
0d40: 73 74 6f 72 65 44 42 22 29 3b 0d 0a 20 20 20 20  storeDB");..    
0d50: 20 20 20 20 20 20 20 20 20 7d 20 63 61 74 63 68           } catch
0d60: 20 28 65 29 20 7b 20 7d 0d 0a 20 20 20 20 20 20   (e) { }..      
0d70: 20 20 20 20 20 20 0d 0a 20 20 20 20 7d 20 65 6c        ..    } el
0d80: 73 65 20 7b 0d 0a 20 20 20 20 20 20 20 20 65 76  se {..        ev
0d90: 65 6e 74 73 2e 63 6f 6e 6e 65 63 74 28 77 69 6e  ents.connect(win
0da0: 64 6f 77 73 2c 20 22 6f 6e 44 6f 4d 6f 64 61 6c  dows, "onDoModal
0db0: 22 2c 20 53 65 6c 66 53 63 72 69 70 74 2e 73 65  ", SelfScript.se
0dc0: 6c 66 2c 20 22 6f 6e 4d 65 73 73 61 67 65 42 6f  lf, "onMessageBo
0dd0: 78 52 65 73 74 6f 72 65 44 42 22 29 3b 0d 0a 20  xRestoreDB");.. 
0de0: 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74     }..}....funct
0df0: 69 6f 6e 20 6f 6e 4d 65 73 73 61 67 65 42 6f 78  ion onMessageBox
0e00: 52 65 73 74 6f 72 65 44 42 28 64 6c 67 49 6e 66  RestoreDB(dlgInf
0e10: 6f 29 20 7b 0d 0a 20 20 20 20 2f 2f 4d 65 73 73  o) {..    //Mess
0e20: 61 67 65 28 22 31 20 22 2b 64 6c 67 49 6e 66 6f  age("1 "+dlgInfo
0e30: 2e 73 74 61 67 65 20 2b 22 20 63 61 70 74 20 22  .stage +" capt "
0e40: 2b 64 6c 67 49 6e 66 6f 2e 43 61 70 74 69 6f 6e  +dlgInfo.Caption
0e50: 29 0d 0a 20 20 20 20 69 66 20 28 28 64 6c 67 49  )..    if ((dlgI
0e60: 6e 66 6f 2e 73 74 61 67 65 20 3d 3d 20 31 29 20  nfo.stage == 1) 
0e70: 26 26 20 28 64 6c 67 49 6e 66 6f 2e 43 61 70 74  && (dlgInfo.Capt
0e80: 69 6f 6e 3d 3d 22 22 29 29 20 7b 0d 0a 20 20 20  ion=="")) {..   
0e90: 20 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 74   ..        var t
0ea0: 65 78 74 20 3d 20 27 27 2b 77 69 6e 64 6f 77 73  ext = ''+windows
0eb0: 2e 63 61 70 74 69 6f 6e 3b 0d 0a 20 20 20 20 20  .caption;..     
0ec0: 20 20 20 76 61 72 20 63 61 70 74 69 6f 6e 20 3d     var caption =
0ed0: 20 22 d0 97 d0 b0 d0 b3 d1 80 d1 83 d0 b7 d0 ba   "..............
0ee0: d0 b0 20 d0 b1 d0 b0 d0 b7 d1 8b 20 d0 b7 d0 b0  .. ........ ....
0ef0: d0 b2 d0 b5 d1 80 d1 88 d0 b5 d0 bd d0 bd d0 b0  ................
0f00: 21 22 3b 0d 0a 20 20 20 20 20 20 20 20 54 72 61  !";..        Tra
0f10: 79 4d 65 73 73 61 67 65 28 63 61 70 74 69 6f 6e  yMessage(caption
0f20: 2c 20 74 65 78 74 29 3b 0d 0a 20 20 20 20 20 20  , text);..      
0f30: 20 20 0d 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b    ..    } else {
0f40: 0d 0a 20 20 20 20 20 20 20 20 2f 2f 4d 65 73 73  ..        //Mess
0f50: 61 67 65 28 22 33 20 22 2b 64 6c 67 49 6e 66 6f  age("3 "+dlgInfo
0f60: 2e 73 74 61 67 65 20 2b 22 20 63 61 70 74 20 22  .stage +" capt "
0f70: 2b 64 6c 67 49 6e 66 6f 2e 43 61 70 74 69 6f 6e  +dlgInfo.Caption
0f80: 29 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 28  )..        if ((
0f90: 64 6c 67 49 6e 66 6f 2e 73 74 61 67 65 20 3d 3d  dlgInfo.stage ==
0fa0: 20 61 66 74 65 72 44 6f 4d 6f 64 61 6c 29 20 26   afterDoModal) &
0fb0: 26 20 28 64 6c 67 49 6e 66 6f 2e 43 61 70 74 69  & (dlgInfo.Capti
0fc0: 6f 6e 3d 3d 22 22 29 29 20 7b 0d 0a 20 20 20 20  on=="")) {..    
0fd0: 20 20 20 2f 2f 4d 65 73 73 61 67 65 28 22 34 20     //Message("4 
0fe0: 22 2b 64 6c 67 49 6e 66 6f 2e 73 74 61 67 65 20  "+dlgInfo.stage 
0ff0: 2b 22 20 63 61 70 74 20 22 2b 64 6c 67 49 6e 66  +" capt "+dlgInf
1000: 6f 2e 43 61 70 74 69 6f 6e 29 0d 0a 20 20 20 20  o.Caption)..    
1010: 20 20 20 0d 0a 20 20 20 20 20 20 20 20 20 20 20     ..           
1020: 20 74 72 79 20 7b 0d 0a 20 20 20 20 20 20 20 20   try {..        
1030: 20 20 20 20 20 20 20 20 65 76 65 6e 74 73 2e 64          events.d
1040: 69 73 63 6f 6e 6e 65 63 74 28 77 69 6e 64 6f 77  isconnect(window
1050: 73 2c 20 22 6f 6e 44 6f 4d 6f 64 61 6c 22 2c 20  s, "onDoModal", 
1060: 53 65 6c 66 53 63 72 69 70 74 2e 73 65 6c 66 2c  SelfScript.self,
1070: 20 22 6f 6e 4d 65 73 73 61 67 65 42 6f 78 52 65   "onMessageBoxRe
1080: 73 74 6f 72 65 44 42 22 29 3b 0d 0a 20 20 20 20  storeDB");..    
1090: 20 20 20 20 20 20 20 20 20 7d 20 63 61 74 63 68           } catch
10a0: 20 28 65 29 20 7b 20 7d 0d 0a 20 20 20 20 20 20   (e) { }..      
10b0: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
10c0: 20 7d 0d 0a 7d 0d 0a 2f 2f 20 d0 b5 d1 81 d0 bb   }..}..// ......
10d0: d0 b8 20 d0 b7 d0 b0 d0 b1 d1 8b d0 bb d0 b8 20  .. ............ 
10e0: d0 b2 20 d1 82 d0 b5 d1 87 d0 b5 d0 bd d0 b8 d0  .. .............
10f0: b8 20 d0 bc d0 b8 d0 bd d1 83 d1 82 d1 8b 2c 20  . ............, 
1100: d1 82 d0 be d0 b3 d0 b4 d0 b0 20 d0 bd d0 b0 d0  .......... .....
1110: bf d0 be d0 bc d0 bd d0 b8 d0 bc 2e 20 0d 0a 0d  ............ ...
1120: 0a 66 75 6e 63 74 69 6f 6e 20 6f 6e 55 70 64 61  .function onUpda
1130: 74 65 44 42 43 66 28 63 6d 64 29 20 7b 0d 0a 20  teDBCf(cmd) {.. 
1140: 20 20 20 69 66 28 63 6d 64 2e 69 73 42 65 66 6f     if(cmd.isBefo
1150: 72 65 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20  re)..    {..    
1160: 20 20 20 20 2f 2f 4d 65 73 73 61 67 65 28 22 6f      //Message("o
1170: 6e 55 70 64 61 74 65 44 42 43 66 20 62 65 66 6f  nUpdateDBCf befo
1180: 72 65 22 29 0d 0a 20 20 20 20 20 20 20 20 65 76  re")..        ev
1190: 65 6e 74 73 2e 63 6f 6e 6e 65 63 74 28 77 69 6e  ents.connect(win
11a0: 64 6f 77 73 2c 20 22 6f 6e 44 6f 4d 6f 64 61 6c  dows, "onDoModal
11b0: 22 2c 20 53 65 6c 66 53 63 72 69 70 74 2e 73 65  ", SelfScript.se
11c0: 6c 66 2c 20 22 6f 6e 4d 65 73 73 61 67 65 42 6f  lf, "onMessageBo
11d0: 78 55 70 64 61 74 65 44 42 43 66 22 29 3b 0d 0a  xUpdateDBCf");..
11e0: 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20 20      } else {..  
11f0: 20 20 20 20 20 20 74 72 79 20 7b 0d 0a 20 20 20        try {..   
1200: 20 20 20 20 20 20 20 20 20 20 20 20 20 65 76 65               eve
1210: 6e 74 73 2e 64 69 73 63 6f 6e 6e 65 63 74 28 77  nts.disconnect(w
1220: 69 6e 64 6f 77 73 2c 20 22 6f 6e 44 6f 4d 6f 64  indows, "onDoMod
1230: 61 6c 22 2c 20 53 65 6c 66 53 63 72 69 70 74 2e  al", SelfScript.
1240: 73 65 6c 66 2c 20 22 6f 6e 4d 65 73 73 61 67 65  self, "onMessage
1250: 42 6f 78 52 65 73 74 6f 72 65 44 42 22 29 3b 0d  BoxRestoreDB");.
1260: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20  .             } 
1270: 63 61 74 63 68 20 28 65 29 20 7b 20 7d 0d 0a 20  catch (e) { }.. 
1280: 20 20 20 20 20 20 20 2f 2f 4d 65 73 73 61 67 65         //Message
1290: 28 22 6f 6e 55 70 64 61 74 65 44 42 43 66 20 61  ("onUpdateDBCf a
12a0: 66 74 65 72 22 29 0d 0a 20 20 20 20 7d 0d 0a 7d  fter")..    }..}
12b0: 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 6f 6e 4d  ....function onM
12c0: 65 73 73 61 67 65 42 6f 78 55 70 64 61 74 65 44  essageBoxUpdateD
12d0: 42 43 66 28 64 6c 67 49 6e 66 6f 29 20 7b 0d 0a  BCf(dlgInfo) {..
12e0: 20 20 20 20 2f 2f 4d 65 73 73 61 67 65 28 22 6f      //Message("o
12f0: 6e 4d 65 73 73 61 67 65 42 6f 78 55 70 64 61 74  nMessageBoxUpdat
1300: 65 44 42 43 66 20 73 74 61 74 65 20 22 20 2b 20  eDBCf state " + 
1310: 64 6c 67 49 6e 66 6f 2e 73 74 61 67 65 20 2b 20  dlgInfo.stage + 
1320: 22 63 61 70 74 69 6f 6e 22 20 2b 20 64 6c 67 49  "caption" + dlgI
1330: 6e 66 6f 2e 43 61 70 74 69 6f 6e 29 0d 0a 20 20  nfo.Caption)..  
1340: 20 20 69 66 20 28 28 64 6c 67 49 6e 66 6f 2e 73    if ((dlgInfo.s
1350: 74 61 67 65 20 3d 3d 20 62 65 66 6f 72 65 44 6f  tage == beforeDo
1360: 4d 6f 64 61 6c 29 20 26 26 20 28 64 6c 67 49 6e  Modal) && (dlgIn
1370: 66 6f 2e 43 61 70 74 69 6f 6e 3d 3d 22 d0 a0 d0  fo.Caption=="...
1380: b5 d0 be d1 80 d0 b3 d0 b0 d0 bd d0 b8 d0 b7 d0  ................
1390: b0 d1 86 d0 b8 d1 8f 20 d0 b8 d0 bd d1 84 d0 be  ....... ........
13a0: d1 80 d0 bc d0 b0 d1 86 d0 b8 d0 b8 22 29 29 20  ............")) 
13b0: 7b 20 0d 0a 20 20 20 20 20 20 20 20 2f 2f 4d 65  { ..        //Me
13c0: 73 73 61 67 65 28 22 20 20 6f 6e 4d 65 73 73 61  ssage("  onMessa
13d0: 67 65 42 6f 78 55 70 64 61 74 65 44 42 43 66 20  geBoxUpdateDBCf 
13e0: 73 74 61 74 65 20 22 20 2b 20 64 6c 67 49 6e 66  state " + dlgInf
13f0: 6f 2e 73 74 61 67 65 20 2b 20 22 63 61 70 74 69  o.stage + "capti
1400: 6f 6e 22 20 2b 20 64 6c 67 49 6e 66 6f 2e 43 61  on" + dlgInfo.Ca
1410: 70 74 69 6f 6e 29 0d 0a 20 20 20 20 20 20 20 20  ption)..        
1420: 76 61 72 20 63 61 70 74 69 6f 6e 20 3d 20 27 27  var caption = ''
1430: 2b 77 69 6e 64 6f 77 73 2e 63 61 70 74 69 6f 6e  +windows.caption
1440: 3b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 74  ;..        var t
1450: 65 78 74 20 3d 20 22 d0 9d d0 b5 d0 be d0 b1 d1  ext = ".........
1460: 85 d0 be d0 b4 d0 b8 d0 bc d0 be 20 d0 bf d0 be  ........... ....
1470: d0 b4 d1 82 d0 b2 d0 b5 d0 b6 d0 b4 d0 b5 d0 bd  ................
1480: d0 b8 d0 b5 20 d1 80 d0 b5 d0 be d1 80 d0 b3 d0  .... ...........
1490: b0 d0 bd d0 b8 d0 b7 d0 b0 d1 86 d0 b8 d0 b8 20  ............... 
14a0: d0 b1 d0 b0 d0 b7 d1 8b 21 22 0d 0a 20 20 20 20  ........!"..    
14b0: 20 20 20 20 54 72 61 79 4d 65 73 73 61 67 65 28      TrayMessage(
14c0: 74 65 78 74 2c 20 63 61 70 74 69 6f 6e 29 3b 0d  text, caption);.
14d0: 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0d 0a 20  .    } else {.. 
14e0: 20 20 20 20 20 20 20 2f 2f 4d 65 73 73 61 67 65         //Message
14f0: 28 22 20 20 65 6c 73 65 20 6f 6e 4d 65 73 73 61  ("  else onMessa
1500: 67 65 42 6f 78 55 70 64 61 74 65 44 42 43 66 20  geBoxUpdateDBCf 
1510: 73 74 61 74 65 20 22 20 2b 20 64 6c 67 49 6e 66  state " + dlgInf
1520: 6f 2e 73 74 61 67 65 20 2b 20 22 63 61 70 74 69  o.stage + "capti
1530: 6f 6e 22 20 2b 20 64 6c 67 49 6e 66 6f 2e 43 61  on" + dlgInfo.Ca
1540: 70 74 69 6f 6e 29 0d 0a 20 20 20 20 20 20 20 20  ption)..        
1550: 69 66 20 28 28 64 6c 67 49 6e 66 6f 2e 73 74 61  if ((dlgInfo.sta
1560: 67 65 20 3d 3d 20 61 66 74 65 72 44 6f 4d 6f 64  ge == afterDoMod
1570: 61 6c 29 20 26 26 20 28 64 6c 67 49 6e 66 6f 2e  al) && (dlgInfo.
1580: 43 61 70 74 69 6f 6e 3d 3d 22 d0 a0 d0 b5 d0 be  Caption=="......
1590: d1 80 d0 b3 d0 b0 d0 bd d0 b8 d0 b7 d0 b0 d1 86  ................
15a0: d0 b8 d1 8f 20 d0 b8 d0 bd d1 84 d0 be d1 80 d0  .... ...........
15b0: bc d0 b0 d1 86 d0 b8 d0 b8 22 29 29 20 7b 20 0d  .........")) { .
15c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 4d  .            //M
15d0: 65 73 73 61 67 65 28 22 20 20 20 20 20 20 65 6c  essage("      el
15e0: 73 65 69 66 20 6f 6e 4d 65 73 73 61 67 65 42 6f  seif onMessageBo
15f0: 78 55 70 64 61 74 65 44 42 43 66 20 73 74 61 74  xUpdateDBCf stat
1600: 65 20 22 20 2b 20 64 6c 67 49 6e 66 6f 2e 73 74  e " + dlgInfo.st
1610: 61 67 65 20 2b 20 22 63 61 70 74 69 6f 6e 22 20  age + "caption" 
1620: 2b 20 64 6c 67 49 6e 66 6f 2e 43 61 70 74 69 6f  + dlgInfo.Captio
1630: 6e 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  n)..            
1640: 65 76 65 6e 74 73 2e 64 69 73 63 6f 6e 6e 65 63  events.disconnec
1650: 74 28 77 69 6e 64 6f 77 73 2c 20 22 6f 6e 44 6f  t(windows, "onDo
1660: 4d 6f 64 61 6c 22 2c 20 53 65 6c 66 53 63 72 69  Modal", SelfScri
1670: 70 74 2e 73 65 6c 66 2c 20 22 6f 6e 4d 65 73 73  pt.self, "onMess
1680: 61 67 65 42 6f 78 55 70 64 61 74 65 44 42 43 66  ageBoxUpdateDBCf
1690: 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a  ");..        }..
16a0: 20 20 20 20 7d 0d 0a 20 20 20 20 0d 0a 7d 0d 0a      }..    ..}..
16b0: 0d 0a 66 75 6e 63 74 69 6f 6e 20 49 6e 69 74 28  ..function Init(
16c0: 29 7b 0d 0a 20 20 20 20 0d 0a 20 20 20 20 76 61  ){..    ..    va
16d0: 72 20 63 6f 6d 70 61 72 65 20 3d 20 6e 65 77 20  r compare = new 
16e0: 54 72 61 79 43 6f 6d 70 61 72 65 57 61 74 63 68  TrayCompareWatch
16f0: 65 72 28 29 3b 0d 0a 20 20 20 20 73 74 64 63 6f  er();..    stdco
1700: 6d 6d 61 6e 64 73 2e 43 6f 6e 66 69 67 2e 43 6f  mmands.Config.Co
1710: 6d 70 61 72 65 44 42 43 66 67 2e 61 64 64 48 61  mpareDBCfg.addHa
1720: 6e 64 6c 65 72 28 6e 65 77 20 54 72 61 79 43 6f  ndler(new TrayCo
1730: 6d 70 61 72 65 57 61 74 63 68 65 72 28 29 2c 20  mpareWatcher(), 
1740: 22 6f 6e 43 6f 6d 70 61 72 65 22 29 3b 0d 0a 20  "onCompare");.. 
1750: 20 20 20 76 61 72 20 63 6f 6d 70 61 72 65 55 64     var compareUd
1760: 61 74 65 20 3d 20 6e 65 77 20 43 6f 6d 70 61 72  ate = new Compar
1770: 65 55 64 61 74 65 28 29 0d 0a 20 20 20 20 73 74  eUdate()..    st
1780: 64 63 6f 6d 6d 61 6e 64 73 2e 43 6f 6e 66 69 67  dcommands.Config
1790: 2e 55 70 64 61 74 65 2e 61 64 64 48 61 6e 64 6c  .Update.addHandl
17a0: 65 72 28 63 6f 6d 70 61 72 65 55 64 61 74 65 2c  er(compareUdate,
17b0: 20 22 6f 6e 43 6f 6d 70 61 72 65 22 29 3b 0d 0a   "onCompare");..
17c0: 20 20 20 20 73 74 64 63 6f 6d 6d 61 6e 64 73 2e      stdcommands.
17d0: 43 6f 6e 66 69 67 2e 4c 6f 61 64 46 72 6f 6d 46  Config.LoadFromF
17e0: 69 6c 65 2e 61 64 64 48 61 6e 64 6c 65 72 28 6e  ile.addHandler(n
17f0: 65 77 20 54 72 61 79 43 6f 6d 70 61 72 65 57 61  ew TrayCompareWa
1800: 74 63 68 65 72 28 29 2c 20 22 6f 6e 43 6f 6d 70  tcher(), "onComp
1810: 61 72 65 22 29 3b 0d 0a 20 20 20 20 73 74 64 63  are");..    stdc
1820: 6f 6d 6d 61 6e 64 73 2e 43 66 67 53 74 6f 72 65  ommands.CfgStore
1830: 2e 4d 65 72 67 65 43 66 67 53 74 6f 72 65 57 69  .MergeCfgStoreWi
1840: 74 68 46 69 6c 65 2e 61 64 64 48 61 6e 64 6c 65  thFile.addHandle
1850: 72 28 6e 65 77 20 54 72 61 79 43 6f 6d 70 61 72  r(new TrayCompar
1860: 65 57 61 74 63 68 65 72 28 29 2c 20 22 6f 6e 43  eWatcher(), "onC
1870: 6f 6d 70 61 72 65 22 29 3b 0d 0a 20 20 20 20 73  ompare");..    s
1880: 74 64 63 6f 6d 6d 61 6e 64 73 2e 43 66 67 53 74  tdcommands.CfgSt
1890: 6f 72 65 2e 4d 65 72 67 65 43 6f 6e 66 69 67 57  ore.MergeConfigW
18a0: 69 74 68 43 66 67 53 74 6f 72 65 2e 61 64 64 48  ithCfgStore.addH
18b0: 61 6e 64 6c 65 72 28 6e 65 77 20 54 72 61 79 43  andler(new TrayC
18c0: 6f 6d 70 61 72 65 57 61 74 63 68 65 72 28 29 2c  ompareWatcher(),
18d0: 20 22 6f 6e 43 6f 6d 70 61 72 65 22 29 3b 0d 0a   "onCompare");..
18e0: 20 20 20 20 73 74 64 63 6f 6d 6d 61 6e 64 73 2e      stdcommands.
18f0: 43 6f 6e 66 69 67 2e 55 70 64 61 74 65 44 42 43  Config.UpdateDBC
1900: 66 67 2e 61 64 64 48 61 6e 64 6c 65 72 28 53 65  fg.addHandler(Se
1910: 6c 66 53 63 72 69 70 74 2e 73 65 6c 66 2c 20 22  lfScript.self, "
1920: 6f 6e 55 70 64 61 74 65 44 42 43 66 22 29 3b 0d  onUpdateDBCf");.
1930: 0a 20 20 20 20 73 74 64 63 6f 6d 6d 61 6e 64 73  .    stdcommands
1940: 2e 43 6f 6e 66 69 67 2e 53 61 76 65 49 42 44 61  .Config.SaveIBDa
1950: 74 61 54 6f 46 69 6c 65 2e 61 64 64 48 61 6e 64  taToFile.addHand
1960: 6c 65 72 28 53 65 6c 66 53 63 72 69 70 74 2e 73  ler(SelfScript.s
1970: 65 6c 66 2c 20 22 6f 6e 53 61 76 65 44 42 22 29  elf, "onSaveDB")
1980: 3b 0d 0a 20 20 20 20 73 74 64 63 6f 6d 6d 61 6e  ;..    stdcomman
1990: 64 73 2e 43 6f 6e 66 69 67 2e 4c 6f 61 64 49 42  ds.Config.LoadIB
19a0: 44 61 74 61 46 72 6f 6d 46 69 6c 65 2e 61 64 64  DataFromFile.add
19b0: 48 61 6e 64 6c 65 72 28 53 65 6c 66 53 63 72 69  Handler(SelfScri
19c0: 70 74 2e 73 65 6c 66 2c 20 22 6f 6e 52 65 73 74  pt.self, "onRest
19d0: 6f 72 65 44 42 22 29 3b 0d 0a 20 20 20 20 73 74  oreDB");..    st
19e0: 64 63 6f 6d 6d 61 6e 64 73 2e 43 6f 6e 66 69 67  dcommands.Config
19f0: 2e 53 61 76 65 54 6f 46 69 6c 65 2e 61 64 64 48  .SaveToFile.addH
1a00: 61 6e 64 6c 65 72 28 53 65 6c 66 53 63 72 69 70  andler(SelfScrip
1a10: 74 2e 73 65 6c 66 2c 20 22 6f 6e 53 61 76 65 54  t.self, "onSaveT
1a20: 6f 46 69 6c 65 43 46 22 29 3b 0d 0a 0d 0a 7d 0d  oFileCF");....}.
1a30: 0a 0d 0a 66 75 6e 63 74 69 6f 6e 20 54 72 61 79  ...function Tray
1a40: 4d 65 73 73 61 67 65 28 54 69 74 6c 65 2c 20 54  Message(Title, T
1a50: 65 78 74 2c 20 54 69 6d 65 6f 75 74 2c 20 54 79  ext, Timeout, Ty
1a60: 70 65 29 20 7b 0d 0a 20 20 20 20 6e 6f 74 69 66  pe) {..    notif
1a70: 79 73 65 6e 64 2e 49 6e 66 6f 28 54 69 74 6c 65  ysend.Info(Title
1a80: 2c 20 54 65 78 74 2c 20 54 69 6d 65 6f 75 74 29  , Text, Timeout)
1a90: 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e  ;..}....function
1aa0: 20 54 72 61 79 43 6f 6d 70 61 72 65 57 61 74 63   TrayCompareWatc
1ab0: 68 65 72 28 29 20 7b 0d 0a 20 20 20 20 20 74 68  her() {..     th
1ac0: 69 73 2e 74 65 73 74 31 20 3d 20 22 22 0d 0a 7d  is.test1 = ""..}
1ad0: 0d 0a 54 72 61 79 43 6f 6d 70 61 72 65 57 61 74  ..TrayCompareWat
1ae0: 63 68 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e 6f  cher.prototype.o
1af0: 6e 43 6f 6d 70 61 72 65 20 3d 20 66 75 6e 63 74  nCompare = funct
1b00: 69 6f 6e 20 28 63 6d 64 29 20 7b 0d 0a 20 20 20  ion (cmd) {..   
1b10: 20 0d 0a 20 20 20 20 69 66 28 21 63 6d 64 2e 69   ..    if(!cmd.i
1b20: 73 42 65 66 6f 72 65 29 0d 0a 20 20 20 20 7b 0d  sBefore)..    {.
1b30: 0a 20 20 20 20 20 20 20 20 2f 2f 4d 65 73 73 61  .        //Messa
1b40: 67 65 28 22 54 72 61 79 43 6f 6d 70 61 72 65 57  ge("TrayCompareW
1b50: 61 74 63 68 65 72 20 69 73 20 6e 6f 74 20 62 65  atcher is not be
1b60: 66 6f 72 65 20 73 74 61 72 74 22 29 0d 0a 20 20  fore start")..  
1b70: 20 20 20 20 20 20 74 68 69 73 2e 73 74 61 72 74        this.start
1b80: 28 29 3b 0d 0a 20 20 20 20 7d 20 20 65 6c 73 65  ();..    }  else
1b90: 20 7b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 4d 65   {..        //Me
1ba0: 73 73 61 67 65 28 22 54 72 61 79 43 6f 6d 70 61  ssage("TrayCompa
1bb0: 72 65 57 61 74 63 68 65 72 20 69 73 20 62 65 66  reWatcher is bef
1bc0: 6f 72 65 20 73 74 6f 70 22 29 0d 0a 20 20 20 20  ore stop")..    
1bd0: 20 20 20 20 74 68 69 73 2e 73 74 6f 70 28 29 3b      this.stop();
1be0: 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 54 72 61 79  ..    }..}..Tray
1bf0: 43 6f 6d 70 61 72 65 57 61 74 63 68 65 72 2e 70  CompareWatcher.p
1c00: 72 6f 74 6f 74 79 70 65 2e 73 74 61 72 74 20 3d  rototype.start =
1c10: 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0d 0a 20   function() {.. 
1c20: 20 20 20 74 68 69 73 2e 63 6f 75 6e 74 54 69 6d     this.countTim
1c30: 65 72 20 3d 20 30 3b 0d 0a 20 20 20 20 74 68 69  er = 0;..    thi
1c40: 73 2e 74 69 6d 65 72 49 44 20 3d 20 63 72 65 61  s.timerID = crea
1c50: 74 65 54 69 6d 65 72 28 69 6e 74 65 72 76 61 6c  teTimer(interval
1c60: 20 2a 20 31 30 30 30 2c 20 74 68 69 73 2c 20 22   * 1000, this, "
1c70: 6f 6e 54 69 6d 65 72 22 29 0d 0a 20 20 20 20 2f  onTimer")..    /
1c80: 2f 4d 65 73 73 61 67 65 28 22 54 72 61 79 43 6f  /Message("TrayCo
1c90: 6d 70 61 72 65 57 61 74 63 68 65 72 20 73 74 61  mpareWatcher sta
1ca0: 72 74 20 22 20 2b 20 74 68 69 73 2e 74 69 6d 65  rt " + this.time
1cb0: 72 49 44 20 2b 20 22 20 63 6f 75 6e 74 20 22 20  rID + " count " 
1cc0: 2b 20 74 68 69 73 2e 63 6f 75 6e 74 54 69 6d 65  + this.countTime
1cd0: 72 29 0d 0a 7d 0d 0a 54 72 61 79 43 6f 6d 70 61  r)..}..TrayCompa
1ce0: 72 65 57 61 74 63 68 65 72 2e 70 72 6f 74 6f 74  reWatcher.protot
1cf0: 79 70 65 2e 73 74 6f 70 20 3d 20 66 75 6e 63 74  ype.stop = funct
1d00: 69 6f 6e 28 29 7b 0d 0a 20 20 20 20 2f 2f 4d 65  ion(){..    //Me
1d10: 73 73 61 67 65 28 22 54 72 61 79 43 6f 6d 70 61  ssage("TrayCompa
1d20: 72 65 57 61 74 63 68 65 72 20 73 74 6f 70 20 22  reWatcher stop "
1d30: 20 2b 20 74 68 69 73 2e 74 69 6d 65 72 49 44 20   + this.timerID 
1d40: 2b 20 22 20 63 6f 75 6e 74 20 22 20 2b 20 74 68  + " count " + th
1d50: 69 73 2e 63 6f 75 6e 74 54 69 6d 65 72 29 0d 0a  is.countTimer)..
1d60: 20 20 20 20 69 66 20 28 74 68 69 73 2e 74 69 6d      if (this.tim
1d70: 65 72 49 44 29 20 6b 69 6c 6c 54 69 6d 65 72 28  erID) killTimer(
1d80: 74 68 69 73 2e 74 69 6d 65 72 49 44 29 0d 0a 20  this.timerID).. 
1d90: 20 20 20 74 68 69 73 2e 74 69 6d 65 72 49 44 20     this.timerID 
1da0: 3d 20 30 3b 0d 0a 20 20 20 20 74 68 69 73 2e 63  = 0;..    this.c
1db0: 6f 75 6e 74 54 69 6d 65 72 20 3d 20 30 3b 0d 0a  ountTimer = 0;..
1dc0: 7d 0d 0a 54 72 61 79 43 6f 6d 70 61 72 65 57 61  }..TrayCompareWa
1dd0: 74 63 68 65 72 2e 70 72 6f 74 6f 74 79 70 65 2e  tcher.prototype.
1de0: 6f 6e 54 69 6d 65 72 20 3d 20 66 75 6e 63 74 69  onTimer = functi
1df0: 6f 6e 20 28 74 69 6d 65 72 49 44 29 20 7b 0d 0a  on (timerID) {..
1e00: 0d 0a 20 20 20 20 76 69 65 77 20 3d 20 77 69 6e  ..    view = win
1e10: 64 6f 77 73 2e 67 65 74 41 63 74 69 76 65 56 69  dows.getActiveVi
1e20: 65 77 28 29 3b 0d 0a 20 20 20 20 76 61 72 20 69  ew();..    var i
1e30: 64 20 3d 20 76 69 65 77 2e 69 64 3b 0d 0a 20 20  d = view.id;..  
1e40: 20 20 76 61 72 20 72 20 3d 20 76 69 65 77 2e 74    var r = view.t
1e50: 69 74 6c 65 3b 0d 0a 20 20 20 20 76 61 72 20 72  itle;..    var r
1e60: 65 20 3d 20 6e 65 77 20 52 65 67 45 78 70 28 2f  e = new RegExp(/
1e70: 28 d0 a1 d1 80 d0 b0 d0 b2 d0 bd d0 b5 d0 bd d0  (...............
1e80: b8 d0 b5 2c 20 d0 be d0 b1 d1 8a d0 b5 d0 b4 d0  ..., ...........
1e90: b8 d0 bd d0 b5 d0 bd d0 b8 d0 b5 7c d0 a1 d1 80  ...........|....
1ea0: d0 b0 d0 b2 d0 bd d0 b5 d0 bd d0 b8 d0 b5 7c d0  ..............|.
1eb0: 9e d0 b1 d0 bd d0 be d0 b2 d0 bb d0 b5 d0 bd d0  ................
1ec0: b8 d0 b5 29 28 2e 2a 29 2f 29 3b 0d 0a 20 20 20  ...)(.*)/);..   
1ed0: 20 76 61 72 20 6d 61 74 68 65 73 20 3d 20 72 2e   var mathes = r.
1ee0: 6d 61 74 63 68 28 72 65 29 3b 0d 0a 20 20 20 20  match(re);..    
1ef0: 69 66 20 28 6d 61 74 68 65 73 20 26 26 20 6d 61  if (mathes && ma
1f00: 74 68 65 73 2e 6c 65 6e 67 74 68 29 20 7b 0d 0a  thes.length) {..
1f10: 20 20 20 20 20 20 20 20 76 61 72 20 63 61 70 74          var capt
1f20: 69 6f 6e 20 3d 20 27 27 2b 77 69 6e 64 6f 77 73  ion = ''+windows
1f30: 2e 63 61 70 74 69 6f 6e 3b 0d 0a 20 20 20 20 20  .caption;..     
1f40: 20 20 20 54 72 61 79 4d 65 73 73 61 67 65 28 63     TrayMessage(c
1f50: 61 70 74 69 6f 6e 2c 20 27 d0 a1 d1 80 d0 b0 d0  aption, '.......
1f60: b2 d0 bd d0 b5 d0 bd d0 b8 d0 b5 20 d0 b7 d0 b0  ........... ....
1f70: d0 b2 d0 b5 d1 80 d1 88 d0 b5 d0 bd d0 bd d0 be  ................
1f80: 20 d0 b4 d0 bb d1 8f 20 7e 6e 20 27 2b 20 6d 61   ...... ~n '+ ma
1f90: 74 68 65 73 5b 32 5d 29 0d 0a 20 20 20 20 20 20  thes[2])..      
1fa0: 20 20 74 68 69 73 2e 73 74 6f 70 28 29 0d 0a 20    this.stop().. 
1fb0: 20 20 20 7d 0d 0a 20 20 20 20 74 68 69 73 2e 63     }..    this.c
1fc0: 6f 75 6e 74 54 69 6d 65 72 2b 2b 3b 0d 0a 20 20  ountTimer++;..  
1fd0: 20 20 2f 2f 4d 65 73 73 61 67 65 28 22 54 72 61    //Message("Tra
1fe0: 79 43 6f 6d 70 61 72 65 57 61 74 63 68 65 72 20  yCompareWatcher 
1ff0: 6f 6e 54 69 6d 65 72 20 22 2b 74 68 69 73 2e 63  onTimer "+this.c
2000: 6f 75 6e 74 54 69 6d 65 72 20 2b 20 22 20 74 69  ountTimer + " ti
2010: 6d 65 72 49 44 20 22 20 2b 74 68 69 73 2e 74 69  merID " +this.ti
2020: 6d 65 72 49 44 29 0d 0a 20 20 20 20 69 66 20 28  merID)..    if (
2030: 74 68 69 73 2e 63 6f 75 6e 74 54 69 6d 65 72 3e  this.countTimer>
2040: 35 29 20 7b 20 2f 2f d0 a2 d0 b0 d0 ba d0 b0 d1  5) { //.........
2050: 8f 20 d0 bf d1 80 d0 be d1 81 d1 82 d0 b8 d0 bd  . ..............
2060: d1 8c d0 ba d0 b0 d1 8f 20 d0 b7 d0 b0 d1 89 d0  ........ .......
2070: b8 d1 82 d0 b0 20 d0 be d1 82 20 d0 b1 d0 b5 d1  ..... .... .....
2080: 81 d0 ba d0 be d0 bd d0 b5 d1 87 d0 bd d0 be d0  ................
2090: b3 d0 be 20 d1 86 d0 b8 d0 ba d0 bb d0 b0 2e 20  ... ........... 
20a0: 0d 0a 20 20 20 20 20 20 20 20 74 68 69 73 2e 73  ..        this.s
20b0: 74 6f 70 28 29 0d 0a 20 20 20 20 7d 0d 0a 7d 0d  top()..    }..}.
20c0: 0a 0d 0a 2f 2f 20 d0 94 d0 bb d1 8f 20 d0 be d0  ...// ...... ...
20d0: b1 d0 bd d0 be d0 bb d0 b5 d0 bd d0 b8 d1 8f 2c  ...............,
20e0: 20 d0 b5 d1 81 d0 bb d0 b8 20 d0 bf d0 be d0 bb   ........ ......
20f0: d0 bd d0 be d1 81 d1 82 d1 8c d1 8e 20 d0 bd d0  ............ ...
2100: b0 20 d0 bf d0 be d0 b4 d0 b4 d0 b5 d1 80 d0 b6  . ..............
2110: d0 ba d0 b5 2c 20 d0 bf d1 80 d0 b8 20 d0 be d0  ...., ...... ...
2120: ba d0 be d0 bd d1 87 d0 b0 d0 bd d0 b8 d0 b8 20  ............... 
2130: d0 be d0 b1 d0 bd d0 be d0 bb d0 b2 d0 b5 d0 bd  ................
2140: d0 b8 d1 8f 20 d1 81 d0 bf d1 80 d0 b0 d1 88 d0  .... ...........
2150: b8 d0 b2 d0 b0 d0 b5 d1 82 2c 20 d1 85 d0 be d1  ........., .....
2160: 87 d0 b5 d1 88 d1 8c 20 d0 be d0 b1 d0 bd d0 be  ....... ........
2170: d0 b2 d0 b8 d1 82 d1 8c 20 d0 b1 d0 b0 d0 b7 d1  ........ .......
2180: 83 3f 0d 0a 66 75 6e 63 74 69 6f 6e 20 43 6f 6d  .?..function Com
2190: 70 61 72 65 55 64 61 74 65 28 29 20 7b 0d 0a 20  pareUdate() {.. 
21a0: 20 20 20 20 74 68 69 73 2e 74 65 73 74 31 20 3d      this.test1 =
21b0: 20 22 22 0d 0a 20 20 20 20 20 74 68 69 73 2e 43   ""..     this.C
21c0: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 49 73 53 75  onfigurationIsSu
21d0: 70 70 6f 72 74 65 74 20 3d 20 66 61 6c 73 65 0d  pportet = false.
21e0: 0a 7d 0d 0a 43 6f 6d 70 61 72 65 55 64 61 74 65  .}..CompareUdate
21f0: 2e 70 72 6f 74 6f 74 79 70 65 2e 6f 6e 43 6f 6d  .prototype.onCom
2200: 70 61 72 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20  pare = function 
2210: 28 63 6d 64 29 20 7b 0d 0a 20 20 20 20 0d 0a 20  (cmd) {..    .. 
2220: 20 20 20 69 66 28 21 63 6d 64 2e 69 73 42 65 66     if(!cmd.isBef
2230: 6f 72 65 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20  ore)..    {..   
2240: 20 20 20 20 20 2f 2f 4d 65 73 73 61 67 65 28 22       //Message("
2250: 43 6f 6d 70 61 72 65 55 64 61 74 65 20 69 73 20  CompareUdate is 
2260: 6e 6f 74 20 62 65 66 6f 72 65 20 73 74 61 72 74  not before start
2270: 22 29 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28  ")..        if (
2280: 21 74 68 69 73 2e 43 6f 6e 66 69 67 75 72 61 74  !this.Configurat
2290: 69 6f 6e 49 73 53 75 70 70 6f 72 74 65 74 29 7b  ionIsSupportet){
22a0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68  ..            th
22b0: 69 73 2e 73 74 61 72 74 28 29 0d 0a 20 20 20 20  is.start()..    
22c0: 20 20 20 20 20 20 20 20 74 68 69 73 2e 43 6f 6e          this.Con
22d0: 66 69 67 75 72 61 74 69 6f 6e 49 73 53 75 70 70  figurationIsSupp
22e0: 6f 72 74 65 74 20 3d 20 66 61 6c 73 65 3b 0d 0a  ortet = false;..
22f0: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 7d          }..    }
2300: 20 65 6c 73 65 20 7b 0d 0a 20 20 20 20 20 20 20   else {..       
2310: 20 2f 2f 4d 65 73 73 61 67 65 28 22 43 6f 6d 70   //Message("Comp
2320: 61 72 65 55 64 61 74 65 20 69 73 20 62 65 66 6f  areUdate is befo
2330: 72 65 20 73 74 6f 70 22 29 0d 0a 20 20 20 20 20  re stop")..     
2340: 20 20 20 74 68 69 73 2e 73 74 6f 70 28 29 3b 0d     this.stop();.
2350: 0a 20 20 20 20 20 20 20 20 65 76 65 6e 74 73 2e  .        events.
2360: 63 6f 6e 6e 65 63 74 28 77 69 6e 64 6f 77 73 2c  connect(windows,
2370: 20 22 6f 6e 44 6f 4d 6f 64 61 6c 22 2c 20 74 68   "onDoModal", th
2380: 69 73 2c 20 22 6f 6e 4d 65 73 73 61 67 65 42 6f  is, "onMessageBo
2390: 78 22 29 3b 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a  x");..    }..}..
23a0: 43 6f 6d 70 61 72 65 55 64 61 74 65 2e 70 72 6f  CompareUdate.pro
23b0: 74 6f 74 79 70 65 2e 73 74 61 72 74 20 3d 20 66  totype.start = f
23c0: 75 6e 63 74 69 6f 6e 28 74 69 6d 65 29 20 7b 0d  unction(time) {.
23d0: 0a 20 20 20 20 0d 0a 20 20 20 20 74 68 69 73 2e  .    ..    this.
23e0: 74 69 6d 65 20 3d 20 69 6e 74 65 72 76 61 6c 3b  time = interval;
23f0: 0d 0a 20 20 20 20 74 68 69 73 2e 63 6f 75 6e 74  ..    this.count
2400: 54 69 6d 65 72 20 3d 20 30 3b 0d 0a 20 20 20 20  Timer = 0;..    
2410: 74 68 69 73 2e 74 69 6d 65 72 49 44 20 20 3d 20  this.timerID  = 
2420: 63 72 65 61 74 65 54 69 6d 65 72 28 74 68 69 73  createTimer(this
2430: 2e 74 69 6d 65 20 2a 20 31 30 30 30 2c 20 74 68  .time * 1000, th
2440: 69 73 2c 20 22 6f 6e 54 69 6d 65 72 22 29 0d 0a  is, "onTimer")..
2450: 20 20 20 20 2f 2f 4d 65 73 73 61 67 65 28 22 43      //Message("C
2460: 6f 6d 70 61 72 65 55 64 61 74 65 20 73 74 61 72  ompareUdate star
2470: 74 20 22 20 2b 20 74 68 69 73 2e 74 69 6d 65 72  t " + this.timer
2480: 49 44 20 2b 20 22 20 63 6f 75 6e 74 20 22 20 2b  ID + " count " +
2490: 20 74 68 69 73 2e 63 6f 75 6e 74 54 69 6d 65 72   this.countTimer
24a0: 29 0d 0a 7d 0d 0a 43 6f 6d 70 61 72 65 55 64 61  )..}..CompareUda
24b0: 74 65 2e 70 72 6f 74 6f 74 79 70 65 2e 73 74 6f  te.prototype.sto
24c0: 70 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 7b 0d  p = function(){.
24d0: 0a 20 20 20 20 2f 2f 4d 65 73 73 61 67 65 28 22  .    //Message("
24e0: 43 6f 6d 70 61 72 65 55 64 61 74 65 20 73 74 6f  CompareUdate sto
24f0: 70 20 22 20 2b 20 74 68 69 73 2e 74 69 6d 65 72  p " + this.timer
2500: 49 44 20 2b 20 22 20 63 6f 75 6e 74 20 22 20 2b  ID + " count " +
2510: 20 74 68 69 73 2e 63 6f 75 6e 74 54 69 6d 65 72   this.countTimer
2520: 29 0d 0a 20 20 20 20 69 66 20 28 74 68 69 73 2e  )..    if (this.
2530: 74 69 6d 65 72 49 44 29 20 6b 69 6c 6c 54 69 6d  timerID) killTim
2540: 65 72 28 74 68 69 73 2e 74 69 6d 65 72 49 44 29  er(this.timerID)
2550: 0d 0a 20 20 20 20 0d 0a 20 20 20 20 74 68 69 73  ..    ..    this
2560: 2e 74 69 6d 65 72 49 44 20 3d 20 30 3b 0d 0a 20  .timerID = 0;.. 
2570: 20 20 20 74 68 69 73 2e 63 6f 75 6e 74 54 69 6d     this.countTim
2580: 65 72 20 3d 20 30 3b 0d 0a 7d 0d 0a 43 6f 6d 70  er = 0;..}..Comp
2590: 61 72 65 55 64 61 74 65 2e 70 72 6f 74 6f 74 79  areUdate.prototy
25a0: 70 65 2e 6f 6e 54 69 6d 65 72 20 3d 20 66 75 6e  pe.onTimer = fun
25b0: 63 74 69 6f 6e 20 28 74 69 6d 65 72 49 44 29 20  ction (timerID) 
25c0: 7b 0d 0a 0d 0a 20 20 20 20 76 69 65 77 20 3d 20  {....    view = 
25d0: 77 69 6e 64 6f 77 73 2e 67 65 74 41 63 74 69 76  windows.getActiv
25e0: 65 56 69 65 77 28 29 3b 0d 0a 20 20 20 20 76 61  eView();..    va
25f0: 72 20 69 64 20 3d 20 76 69 65 77 2e 69 64 3b 0d  r id = view.id;.
2600: 0a 20 20 20 20 76 61 72 20 72 20 3d 20 76 69 65  .    var r = vie
2610: 77 2e 74 69 74 6c 65 3b 0d 0a 20 20 20 20 76 61  w.title;..    va
2620: 72 20 72 65 20 3d 20 6e 65 77 20 52 65 67 45 78  r re = new RegEx
2630: 70 28 2f 28 d0 a1 d1 80 d0 b0 d0 b2 d0 bd d0 b5  p(/(............
2640: d0 bd d0 b8 d0 b5 2c 20 d0 be d0 b1 d1 8a d0 b5  ......, ........
2650: d0 b4 d0 b8 d0 bd d0 b5 d0 bd d0 b8 d0 b5 7c d0  ..............|.
2660: a1 d1 80 d0 b0 d0 b2 d0 bd d0 b5 d0 bd d0 b8 d0  ................
2670: b5 7c d0 9e d0 b1 d0 bd d0 be d0 b2 d0 bb d0 b5  .|..............
2680: d0 bd d0 b8 d0 b5 29 28 2e 2a 29 2f 29 3b 0d 0a  ......)(.*)/);..
2690: 20 20 20 20 76 61 72 20 6d 61 74 68 65 73 20 3d      var mathes =
26a0: 20 72 2e 6d 61 74 63 68 28 72 65 29 3b 0d 0a 20   r.match(re);.. 
26b0: 20 20 20 69 66 20 28 6d 61 74 68 65 73 20 26 26     if (mathes &&
26c0: 20 6d 61 74 68 65 73 2e 6c 65 6e 67 74 68 29 20   mathes.length) 
26d0: 7b 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 63  {..        var c
26e0: 61 70 74 69 6f 6e 20 3d 20 27 27 2b 77 69 6e 64  aption = ''+wind
26f0: 6f 77 73 2e 63 61 70 74 69 6f 6e 3b 0d 0a 20 20  ows.caption;..  
2700: 20 20 20 20 20 20 54 72 61 79 4d 65 73 73 61 67        TrayMessag
2710: 65 28 63 61 70 74 69 6f 6e 2c 20 27 d0 a1 d1 80  e(caption, '....
2720: d0 b0 d0 b2 d0 bd d0 b5 d0 bd d0 b8 d0 b5 20 d0  .............. .
2730: b7 d0 b0 d0 b2 d0 b5 d1 80 d1 88 d0 b5 d0 bd d0  ................
2740: bd d0 be 20 d0 b4 d0 bb d1 8f 20 7e 6e 20 27 2b  ... ...... ~n '+
2750: 20 6d 61 74 68 65 73 5b 32 5d 29 0d 0a 20 20 20   mathes[2])..   
2760: 20 20 20 20 20 74 68 69 73 2e 73 74 6f 70 28 29       this.stop()
2770: 0d 0a 20 20 20 20 20 20 20 20 74 72 79 20 7b 0d  ..        try {.
2780: 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 76 65  .            eve
2790: 6e 74 73 2e 64 69 73 63 6f 6e 6e 65 63 74 28 77  nts.disconnect(w
27a0: 69 6e 64 6f 77 73 2c 20 22 6f 6e 44 6f 4d 6f 64  indows, "onDoMod
27b0: 61 6c 22 2c 20 74 68 69 73 2c 20 22 6f 6e 4d 65  al", this, "onMe
27c0: 73 73 61 67 65 42 6f 78 22 29 3b 0d 0a 20 20 20  ssageBox");..   
27d0: 20 20 20 20 20 7d 20 63 61 74 63 68 20 28 65 29       } catch (e)
27e0: 20 7b 0d 0a 20 20 20 20 20 20 20 20 0d 0a 20 20   {..        ..  
27f0: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 7d 0d 0a        }..    }..
2800: 20 20 20 20 74 68 69 73 2e 63 6f 75 6e 74 54 69      this.countTi
2810: 6d 65 72 2b 2b 3b 0d 0a 20 20 20 20 2f 2f 4d 65  mer++;..    //Me
2820: 73 73 61 67 65 28 22 43 6f 6d 70 61 72 65 55 64  ssage("CompareUd
2830: 61 74 65 20 6f 6e 54 69 6d 65 72 20 22 2b 74 68  ate onTimer "+th
2840: 69 73 2e 63 6f 75 6e 74 54 69 6d 65 72 20 2b 20  is.countTimer + 
2850: 22 20 74 69 6d 65 72 49 44 20 22 20 2b 74 68 69  " timerID " +thi
2860: 73 2e 74 69 6d 65 72 49 44 29 0d 0a 20 20 20 20  s.timerID)..    
2870: 69 66 20 28 74 68 69 73 2e 63 6f 75 6e 74 54 69  if (this.countTi
2880: 6d 65 72 3e 35 29 20 7b 20 2f 2f d0 a2 d0 b0 d0  mer>5) { //.....
2890: ba d0 b0 d1 8f 20 d0 bf d1 80 d0 be d1 81 d1 82  ..... ..........
28a0: d0 b8 d0 bd d1 8c d0 ba d0 b0 d1 8f 20 d0 b7 d0  ............ ...
28b0: b0 d1 89 d0 b8 d1 82 d0 b0 20 d0 be d1 82 20 d0  ......... .... .
28c0: b1 d0 b5 d1 81 d0 ba d0 be d0 bd d0 b5 d1 87 d0  ................
28d0: bd d0 be d0 b3 d0 be 20 d1 86 d0 b8 d0 ba d0 bb  ....... ........
28e0: d0 b0 2e 20 0d 0a 20 20 20 20 20 20 20 20 2f 2f  ... ..        //
28f0: 4d 65 73 73 61 67 65 28 22 43 6f 6d 70 61 72 65  Message("Compare
2900: 55 64 61 74 65 20 6f 6e 54 69 6d 65 72 20 22 2b  Udate onTimer "+
2910: 74 68 69 73 2e 63 6f 75 6e 74 54 69 6d 65 72 20  this.countTimer 
2920: 2b 20 22 20 74 69 6d 65 72 49 44 20 22 2b 74 68  + " timerID "+th
2930: 69 73 2e 74 69 6d 65 72 49 44 29 0d 0a 20 20 20  is.timerID)..   
2940: 20 20 20 20 20 74 68 69 73 2e 73 74 6f 70 28 29       this.stop()
2950: 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a 43 6f  ..    }..}....Co
2960: 6d 70 61 72 65 55 64 61 74 65 2e 70 72 6f 74 6f  mpareUdate.proto
2970: 74 79 70 65 2e 6f 6e 4d 65 73 73 61 67 65 42 6f  type.onMessageBo
2980: 78 20 3d 20 66 75 6e 63 74 69 6f 6e 28 64 6c 67  x = function(dlg
2990: 49 6e 66 6f 29 20 7b 0d 0a 20 20 20 20 2f 2f 4d  Info) {..    //M
29a0: 65 73 73 61 67 65 28 22 43 6f 6d 70 61 72 65 55  essage("CompareU
29b0: 64 61 74 65 20 6f 6e 4d 65 73 73 61 67 65 42 6f  date onMessageBo
29c0: 78 20 64 6c 67 49 6e 66 6f 20 73 74 61 67 65 22  x dlgInfo stage"
29d0: 2b 64 6c 67 49 6e 66 6f 2e 73 74 61 67 65 20 2b  +dlgInfo.stage +
29e0: 20 22 20 63 61 70 74 69 6f 6e 20 22 2b 64 6c 67   " caption "+dlg
29f0: 49 6e 66 6f 2e 43 61 70 74 69 6f 6e 29 0d 0a 20  Info.Caption).. 
2a00: 20 20 20 69 66 20 28 28 64 6c 67 49 6e 66 6f 2e     if ((dlgInfo.
2a10: 73 74 61 67 65 20 3d 3d 20 6f 70 65 6e 4d 6f 64  stage == openMod
2a20: 61 6c 57 6e 64 29 20 26 26 20 28 64 6c 67 49 6e  alWnd) && (dlgIn
2a30: 66 6f 2e 43 61 70 74 69 6f 6e 3d 3d 22 d0 9a d0  fo.Caption=="...
2a40: be d0 bd d1 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0 d1  ................
2a50: 82 d0 be d1 80 22 29 29 20 7b 0d 0a 20 20 20 20  .....")) {..    
2a60: 20 20 20 20 74 68 69 73 2e 73 74 6f 70 28 29 3b      this.stop();
2a70: 0d 0a 20 20 20 20 20 20 20 20 76 61 72 20 63 61  ..        var ca
2a80: 70 74 69 6f 6e 20 3d 20 27 27 2b 77 69 6e 64 6f  ption = ''+windo
2a90: 77 73 2e 63 61 70 74 69 6f 6e 3b 0d 0a 20 20 20  ws.caption;..   
2aa0: 20 20 20 20 20 76 61 72 20 74 65 78 74 20 3d 20       var text = 
2ab0: 22 d0 96 d0 b4 d1 83 20 d0 bf d0 be d0 b4 d1 82  "...... ........
2ac0: d0 b2 d0 b5 d0 b6 d0 b4 d0 b5 d0 bd d0 b8 d1 8f  ................
2ad0: 20 d0 be d0 b1 d0 bd d0 be d0 b2 d0 bb d0 b5 d0   ...............
2ae0: bd d0 b8 d1 8f 20 d0 b1 d0 b0 d0 b7 d1 8b 21 22  ..... ........!"
2af0: 0d 0a 20 20 20 20 20 20 20 20 54 72 61 79 4d 65  ..        TrayMe
2b00: 73 73 61 67 65 28 74 65 78 74 2c 20 63 61 70 74  ssage(text, capt
2b10: 69 6f 6e 29 3b 0d 0a 20 20 20 20 20 20 20 20 74  ion);..        t
2b20: 72 79 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20  ry {..          
2b30: 20 20 65 76 65 6e 74 73 2e 64 69 73 63 6f 6e 6e    events.disconn
2b40: 65 63 74 28 77 69 6e 64 6f 77 73 2c 20 22 6f 6e  ect(windows, "on
2b50: 44 6f 4d 6f 64 61 6c 22 2c 20 74 68 69 73 2c 20  DoModal", this, 
2b60: 22 6f 6e 4d 65 73 73 61 67 65 42 6f 78 22 29 3b  "onMessageBox");
2b70: 0d 0a 20 20 20 20 20 20 20 20 7d 20 63 61 74 63  ..        } catc
2b80: 68 20 28 65 29 20 7b 0d 0a 20 20 20 20 20 20 20  h (e) {..       
2b90: 20 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20   ..        }..  
2ba0: 20 20 20 20 20 20 74 68 69 73 2e 43 6f 6e 66 69        this.Confi
2bb0: 67 75 72 61 74 69 6f 6e 49 73 53 75 70 70 6f 72  gurationIsSuppor
2bc0: 74 65 74 20 3d 20 74 72 75 65 3b 20 2f 2f d0 9a  tet = true; //..
2bd0: d0 be d0 bd d1 84 d0 b8 d0 b3 d1 83 d1 80 d0 b0  ................
2be0: d1 86 d0 b8 d1 8f 20 d0 bd d0 b0 20 d0 bf d0 be  ...... .... ....
2bf0: d0 b4 d0 b4 d0 b5 d1 80 d0 b6 d1 83 d0 ba d0 b5  ................
2c00: 2c 20 d1 84 d0 be d1 80 d0 bc d1 8b 20 d0 b4 d0  , .......... ...
2c10: b8 d0 b0 d0 bb d0 be d0 b3 d0 b0 20 d0 b8 20 d1  ........... .. .
2c20: 81 d1 80 d0 b0 d0 b2 d0 bd d0 b5 d0 bd d0 b8 d1  ................
2c30: 8f 20 d0 bd d0 b5 20 d0 b1 d1 83 d0 b4 d0 b5 d1  . .... .........
2c40: 82 2e 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a  ....    }..}....
2c50: 0d 0a 2f 2f 20 d0 9c d0 b0 d0 ba d1 80 d0 be d1  ..// ...........
2c60: 81 20 d0 b4 d0 bb d1 8f 20 d0 b2 d1 8b d0 b7 d0  . ...... .......
2c70: be d0 b2 d0 b0 20 d0 be d0 ba d0 bd d0 b0 20 d0  ..... ........ .
2c80: bd d0 b0 d1 81 d1 82 d1 80 d0 be d0 b9 d0 ba d0  ................
2c90: b8 0d 0a 66 75 6e 63 74 69 6f 6e 20 6d 61 63 72  ...function macr
2ca0: 6f 73 d0 9d d0 b0 d1 81 d1 82 d1 80 d0 be d0 b9  os..............
2cb0: d0 ba d0 b0 54 72 61 79 d0 a1 d0 be d0 be d0 b1  ....Tray........
2cc0: d1 89 d0 b5 d0 bd d0 b8 d0 b9 28 29 0d 0a 7b 0d  ..........()..{.
2cd0: 0a 20 20 20 20 76 61 72 20 70 61 74 68 54 6f 46  .    var pathToF
2ce0: 6f 72 6d 20 3d 20 53 65 6c 66 53 63 72 69 70 74  orm = SelfScript
2cf0: 2e 66 75 6c 6c 50 61 74 68 2e 72 65 70 6c 61 63  .fullPath.replac
2d00: 65 28 2f 6a 73 24 2f 2c 20 27 73 73 66 27 29 0d  e(/js$/, 'ssf').
2d10: 0a 20 20 20 20 2f 2f 20 d0 9e d0 b1 d1 80 d0 b0  .    // ........
2d20: d0 b1 d0 be d1 82 d0 ba d1 83 20 d1 81 d0 be d0  .......... .....
2d30: b1 d1 8b d1 82 d0 b8 d0 b9 20 d1 84 d0 be d1 80  ......... ......
2d40: d0 bc d1 8b 20 d0 bf d1 80 d0 b8 d0 b2 d1 8f d0  .... ...........
2d50: b6 d0 b5 d0 bc 20 d0 ba 20 d1 81 d0 b0 d0 bc d0  ..... .. .......
2d60: be d0 bc d1 83 20 d1 81 d0 ba d1 80 d0 b8 d0 bf  ..... ..........
2d70: d1 82 d1 83 0d 0a 20 20 20 20 66 6f 72 6d 20 3d  ......    form =
2d80: 20 6c 6f 61 64 53 63 72 69 70 74 46 6f 72 6d 28   loadScriptForm(
2d90: 70 61 74 68 54 6f 46 6f 72 6d 2c 20 53 65 6c 66  pathToForm, Self
2da0: 53 63 72 69 70 74 2e 73 65 6c 66 29 0d 0a 20 20  Script.self)..  
2db0: 20 20 66 6f 72 6d 2e d0 98 d0 bd d1 82 d0 b5 d1    form..........
2dc0: 80 d0 b2 d0 b0 d0 bb 20 3d 20 69 6e 74 65 72 76  ....... = interv
2dd0: 61 6c 0d 0a 20 20 20 20 66 6f 72 6d 2e d0 92 d1  al..    form....
2de0: 80 d0 b5 d0 bc d1 8f d0 a1 d0 be d0 be d0 b1 d1  ................
2df0: 89 d0 b5 d0 bd d0 b8 d1 8f 20 3d 20 74 69 6d 65  ......... = time
2e00: 6f 75 74 3b 0d 0a 20 20 20 20 66 6f 72 6d 2e d0  out;..    form..
2e10: 9e d1 82 d0 ba d1 80 d1 8b d1 82 d1 8c d0 9c d0  ................
2e20: be d0 b4 d0 b0 d0 bb d1 8c d0 bd d0 be 28 29 0d  .............().
2e30: 0a 20 20 20 20 66 6f 72 6d 20 3d 20 6e 75 6c 6c  .    form = null
2e40: 0d 0a 7d 0d 0a 0d 0a 2f 2a 20 d0 92 d0 be d0 b7  ..}..../* ......
2e50: d0 b2 d1 80 d0 b0 d1 89 d0 b0 d0 b5 d1 82 20 d0  .............. .
2e60: bd d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d0 b5 20  ............... 
2e70: d0 bc d0 b0 d0 ba d1 80 d0 be d1 81 d0 b0 20 d0  .............. .
2e80: bf d0 be 20 d1 83 d0 bc d0 be d0 bb d1 87 d0 b0  ... ............
2e90: d0 bd d0 b8 d1 8e 20 2d 20 d0 b2 d1 8b d0 b7 d1  ...... - .......
2ea0: 8b d0 b2 d0 b0 d0 b5 d1 82 d1 81 d1 8f 2c 20 d0  ............., .
2eb0: ba d0 be d0 b3 d0 b4 d0 b0 20 d0 bf d0 be d0 bb  ......... ......
2ec0: d1 8c d0 b7 d0 be d0 b2 d0 b0 d1 82 d0 b5 d0 bb  ................
2ed0: d1 8c 20 0d 0a d0 b4 d0 b2 d0 b0 d0 b6 d0 b4 d1  .. .............
2ee0: 8b 20 d1 89 d0 b5 d0 bb d0 ba d0 b0 d0 b5 d1 82  . ..............
2ef0: 20 d0 bc d1 8b d1 88 d1 8c d1 8e 20 d0 bf d0 be   .......... ....
2f00: 20 d0 bd d0 b0 d0 b7 d0 b2 d0 b0 d0 bd d0 b8 d1   ...............
2f10: 8e 20 d1 81 d0 ba d1 80 d0 b8 d0 bf d1 82 d0 b0  . ..............
2f20: 20 d0 b2 20 d0 be d0 ba d0 bd d0 b5 20 d0 a1 d0   .. ........ ...
2f30: bd d0 b5 d0 b3 d0 be d0 bf d0 b0 d1 82 d0 b0 2e  ................
2f40: 20 2a 2f 0d 0a 66 75 6e 63 74 69 6f 6e 20 67 65   */..function ge
2f50: 74 44 65 66 61 75 6c 74 4d 61 63 72 6f 73 28 29  tDefaultMacros()
2f60: 20 7b 0d 0a 20 20 20 20 72 65 74 75 72 6e 20 27   {..    return '
2f70: d0 9d d0 b0 d1 81 d1 82 d1 80 d0 be d0 b9 d0 ba  ................
2f80: d0 b0 54 72 61 79 d0 a1 d0 be d0 be d0 b1 d1 89  ..Tray..........
2f90: d0 b5 d0 bd d0 b8 d0 b9 27 3b 0d 0a 7d 0d 0a 0d  ........';..}...
2fa0: 0a 2f 2f 20 d0 9e d0 b1 d1 80 d0 b0 d0 b1 d0 be  .// ............
2fb0: d1 82 d1 87 d0 b8 d0 ba d0 b8 20 d0 bd d0 b0 d0  .......... .....
2fc0: b6 d0 b0 d1 82 d0 b8 d0 b9 20 d0 ba d0 bd d0 be  ......... ......
2fd0: d0 bf d0 be d0 ba 20 d0 b2 20 d1 84 d0 be d1 80  ...... .. ......
2fe0: d0 bc d0 b5 0d 0a 66 75 6e 63 74 69 6f 6e 20 d0  ......function .
2ff0: 9e d0 ba d0 9d d0 b0 d0 b6 d0 b0 d1 82 d0 b8 d0  ................
3000: b5 28 d0 ad d0 bb d0 b5 d0 bc d0 b5 d0 bd d1 82  .(..............
3010: 29 0d 0a 7b 0d 0a 20 20 20 20 2f 2f 20 d0 9f d1  )..{..    // ...
3020: 80 d0 be d1 87 d0 b8 d1 82 d0 b0 d0 b5 d0 bc 20  ............... 
3030: d0 b7 d0 bd d0 b0 d1 87 d0 b5 d0 bd d0 b8 d1 8f  ................
3040: 20 d0 b8 d0 b7 20 d1 84 d0 be d1 80 d0 bc d1 8b   .... ..........
3050: 20 d0 b8 20 d0 b5 d1 81 d0 bb d0 b8 20 d0 be d0   .. ........ ...
3060: bd d0 b8 20 d0 b8 d0 b7 d0 bc d0 b5 d0 bd d0 b8  ... ............
3070: d0 bb d0 b8 d1 81 d1 8c 2c 20 d1 81 d0 be d1 85  ........, ......
3080: d1 80 d0 b0 d0 bd d0 b8 d0 bc 20 d0 b8 d1 85 0d  .......... .....
3090: 0a 20 20 20 20 69 66 28 66 6f 72 6d 2e d0 98 d0  .    if(form....
30a0: bd d1 82 d0 b5 d1 80 d0 b2 d0 b0 d0 bb 20 21 3d  ............. !=
30b0: 20 69 6e 74 65 72 76 61 6c 29 0d 0a 20 20 20 20   interval)..    
30c0: 7b 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72  {..        inter
30d0: 76 61 6c 20 3d 20 66 6f 72 6d 2e d0 98 d0 bd d1  val = form......
30e0: 82 d0 b5 d1 80 d0 b2 d0 b0 d0 bb 0d 0a 20 20 20  .............   
30f0: 20 20 20 20 20 70 72 6f 66 69 6c 65 52 6f 6f 74       profileRoot
3100: 2e 73 65 74 56 61 6c 75 65 28 70 66 6c 54 72 61  .setValue(pflTra
3110: 79 4d 65 73 73 61 67 65 49 6e 74 65 72 76 61 6c  yMessageInterval
3120: 2c 20 69 6e 74 65 72 76 61 6c 29 0d 0a 20 20 20  , interval)..   
3130: 20 7d 0d 0a 20 20 20 20 66 6f 72 6d 2e d0 97 d0   }..    form....
3140: b0 d0 ba d1 80 d1 8b d1 82 d1 8c 28 29 0d 0a 20  ...........().. 
3150: 20 20 20 69 66 28 6d 79 54 69 6d 65 72 49 44 29     if(myTimerID)
3160: 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20  ..    {..       
3170: 20 6b 69 6c 6c 54 69 6d 65 72 28 6d 79 54 69 6d   killTimer(myTim
3180: 65 72 49 44 29 0d 0a 20 20 20 20 20 20 20 20 6d  erID)..        m
3190: 79 54 69 6d 65 72 49 44 20 3d 20 30 0d 0a 20 20  yTimerID = 0..  
31a0: 20 20 7d 0d 0a 20 20 20 20 49 6e 69 74 28 29 3b    }..    Init();
31b0: 0d 0a 7d 0d 0a                                   ..}..