Hex Artifact Content
Not logged in

Artifact 2a217daa993d333e6d96ff43b5693f96b0d4ea41:

Attachment "additional_header_stuff.txt" to ticket [fd5f24a5ca] added by anonymous 2010-12-01 21:29:41.
0000: 0a 3c 73 74 79 6c 65 20 74 79 70 65 3d 22 74 65  .<style type="te
0010: 78 74 2f 63 73 73 22 3e 0a 2e 64 69 66 66 20 7b  xt/css">..diff {
0020: 70 61 64 64 69 6e 67 3a 20 2e 35 65 6d 3b 20 62  padding: .5em; b
0030: 6f 72 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 64  order: 1px solid
0040: 20 23 63 63 63 3b 7d 0a 2e 61 64 64 65 64 20 7b   #ccc;}..added {
0050: 70 61 64 64 69 6e 67 2d 6c 65 66 74 3a 20 2e 35  padding-left: .5
0060: 65 6d 3b 20 62 6f 72 64 65 72 2d 6c 65 66 74 3a  em; border-left:
0070: 20 2e 35 65 6d 20 73 6f 6c 69 64 20 23 30 30 66   .5em solid #00f
0080: 3b 7d 0a 2e 64 65 6c 65 74 65 64 20 7b 70 61 64  ;}..deleted {pad
0090: 64 69 6e 67 2d 6c 65 66 74 3a 20 2e 35 65 6d 3b  ding-left: .5em;
00a0: 20 62 6f 72 64 65 72 2d 6c 65 66 74 3a 20 2e 35   border-left: .5
00b0: 65 6d 20 73 6f 6c 69 64 20 23 66 30 30 3b 7d 0a  em solid #f00;}.
00c0: 2e 6d 6f 64 69 66 69 65 64 20 7b 70 61 64 64 69  .modified {paddi
00d0: 6e 67 2d 6c 65 66 74 3a 20 2e 35 65 6d 3b 20 62  ng-left: .5em; b
00e0: 6f 72 64 65 72 2d 6c 65 66 74 3a 20 2e 35 65 6d  order-left: .5em
00f0: 20 73 6f 6c 69 64 20 23 66 38 30 3b 7d 0a 2e 63   solid #f80;}..c
0100: 68 61 6e 67 65 64 20 7b 70 61 64 64 69 6e 67 2d  hanged {padding-
0110: 6c 65 66 74 3a 20 2e 35 65 6d 3b 20 62 6f 72 64  left: .5em; bord
0120: 65 72 2d 6c 65 66 74 3a 20 2e 35 65 6d 20 73 6f  er-left: .5em so
0130: 6c 69 64 20 23 30 66 30 3b 7d 0a 3c 2f 73 74 79  lid #0f0;}.</sty
0140: 6c 65 3e 0a 3c 73 63 72 69 70 74 20 74 79 70 65  le>.<script type
0150: 3d 22 74 65 78 74 2f 6a 61 76 61 73 63 72 69 70  ="text/javascrip
0160: 74 22 3e 0a 2f 2f 3c 21 5b 43 44 41 54 41 5b 0a  t">.//<![CDATA[.
0170: 0a 66 75 6e 63 74 69 6f 6e 20 61 6e 6e 6f 74 61  .function annota
0180: 74 65 28 29 20 7b 0a 2f 2a 20 71 75 69 63 6b 2c  te() {./* quick,
0190: 20 64 69 72 74 79 20 26 20 75 67 6c 79 20 63 6f   dirty & ugly co
01a0: 6c 6f 72 20 63 6f 64 69 6e 67 20 6f 66 20 61 6e  lor coding of an
01b0: 6e 6f 74 61 74 69 6f 6e 73 0a 20 20 20 21 6f 6e  notations.   !on
01c0: 6c 79 20 70 65 72 20 64 61 79 28 73 29 2c 20 6e  ly per day(s), n
01d0: 6f 74 20 62 79 20 65 76 65 6e 74 21 20 2a 2f 0a  ot by event! */.
01e0: 69 66 20 28 21 64 6f 63 75 6d 65 6e 74 2e 74 69  if (!document.ti
01f0: 74 6c 65 2e 6d 61 74 63 68 28 2f 41 6e 6e 6f 74  tle.match(/Annot
0200: 61 74 69 6f 6e 2f 29 29 0a 20 20 72 65 74 75 72  ation/)).  retur
0210: 6e 20 66 61 6c 73 65 3b 20 2f 2a 20 67 6f 20 6f  n false; /* go o
0220: 75 74 20 68 65 72 65 20 2a 2f 0a 0a 2f 2a 20 63  ut here */../* c
0230: 6f 6c 6f 72 20 64 65 66 69 6e 69 74 69 6f 6e 73  olor definitions
0240: 3a 20 69 6e 69 74 69 61 6c 2c 20 63 75 72 72 65  : initial, curre
0250: 6e 74 2c 20 6e 65 78 74 20 74 6f 20 6c 61 73 74  nt, next to last
0260: 20 2e 2e 2e 2c 20 61 6c 6c 20 6f 74 68 65 72 73   ..., all others
0270: 20 28 62 65 74 77 65 65 6e 29 20 2a 2f 0a 76 61   (between) */.va
0280: 72 20 63 6f 6c 6f 72 73 20 3d 20 6e 65 77 20 41  r colors = new A
0290: 72 72 61 79 28 27 23 65 65 65 27 2c 27 23 66 36  rray('#eee','#f6
02a0: 30 27 2c 27 23 30 66 36 27 2c 27 23 36 30 66 27  0','#0f6','#60f'
02b0: 2c 27 23 34 38 62 27 2c 27 23 38 62 62 27 2c 20  ,'#48b','#8bb', 
02c0: 27 23 66 66 61 27 29 3b 0a 76 61 72 20 70 72 65  '#ffa');.var pre
02d0: 73 20 3d 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74  s = document.get
02e0: 45 6c 65 6d 65 6e 74 73 42 79 54 61 67 4e 61 6d  ElementsByTagNam
02f0: 65 28 27 70 72 65 27 29 5b 30 5d 2e 67 65 74 45  e('pre')[0].getE
0300: 6c 65 6d 65 6e 74 73 42 79 54 61 67 4e 61 6d 65  lementsByTagName
0310: 28 27 61 27 29 3b 0a 76 61 72 20 64 61 79 73 20  ('a');.var days 
0320: 3d 20 6e 65 77 20 41 72 72 61 79 28 29 3b 0a 66  = new Array();.f
0330: 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69  or (var i = 0; i
0340: 20 3c 20 70 72 65 73 2e 6c 65 6e 67 74 68 3b 20   < pres.length; 
0350: 69 2b 2b 29 20 7b 20 2f 2a 20 63 6f 6c 6c 65 63  i++) { /* collec
0360: 74 69 6e 67 20 64 61 74 65 73 20 2a 2f 0a 20 20  ting dates */.  
0370: 76 61 72 20 64 61 79 20 3d 20 70 72 65 73 5b 69  var day = pres[i
0380: 5d 2e 6e 65 78 74 53 69 62 6c 69 6e 67 2e 64 61  ].nextSibling.da
0390: 74 61 3b 0a 20 20 76 61 72 20 67 65 74 20 3d 20  ta;.  var get = 
03a0: 64 61 79 2e 6d 61 74 63 68 28 2f 5c 73 2b 28 5c  day.match(/\s+(\
03b0: 64 7b 34 7d 29 2d 28 5c 64 7b 32 7d 29 2d 28 5c  d{4})-(\d{2})-(\
03c0: 64 7b 32 7d 29 5c 73 2e 2b 2f 69 29 3b 0a 20 20  d{2})\s.+/i);.  
03d0: 74 72 61 73 68 20 3d 20 67 65 74 2e 73 68 69 66  trash = get.shif
03e0: 74 28 29 3b 0a 20 20 64 61 79 73 20 3d 20 64 61  t();.  days = da
03f0: 79 73 2e 63 6f 6e 63 61 74 28 20 67 65 74 2e 6a  ys.concat( get.j
0400: 6f 69 6e 28 27 27 29 20 29 3b 20 7d 0a 0a 76 61  oin('') ); }..va
0410: 72 20 69 6e 69 74 69 61 6c 20 3d 20 64 61 79 73  r initial = days
0420: 2e 73 68 69 66 74 28 29 3b 0a 64 61 79 73 20 3d  .shift();.days =
0430: 20 64 61 79 73 2e 73 6f 72 74 28 29 3b 20 69 20   days.sort(); i 
0440: 3d 20 30 3b 0a 76 61 72 20 6c 61 73 74 20 3d 20  = 0;.var last = 
0450: 27 27 3b 0a 76 61 72 20 66 69 76 65 20 3d 20 6e  '';.var five = n
0460: 65 77 20 41 72 72 61 79 28 27 31 27 2c 27 32 27  ew Array('1','2'
0470: 2c 27 33 27 2c 27 34 27 2c 27 35 27 29 3b 20 2f  ,'3','4','5'); /
0480: 2a 20 64 75 6d 6d 79 20 64 61 74 65 73 20 2a 2f  * dummy dates */
0490: 0a 64 6f 20 7b 20 2f 2a 20 67 65 74 74 69 6e 67  .do { /* getting
04a0: 20 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e 74   the most recent
04b0: 20 66 69 76 65 20 64 61 79 73 20 2a 2f 0a 20 20   five days */.  
04c0: 76 61 72 20 68 6f 6c 64 20 3d 20 64 61 79 73 2e  var hold = days.
04d0: 70 6f 70 28 29 3b 0a 20 20 69 66 20 28 68 6f 6c  pop();.  if (hol
04e0: 64 20 21 3d 20 6c 61 73 74 29 20 7b 0a 20 20 20  d != last) {.   
04f0: 20 66 69 76 65 5b 69 5d 20 3d 20 68 6f 6c 64 3b   five[i] = hold;
0500: 0a 20 20 20 20 69 2b 2b 3b 0a 20 20 20 20 6c 61  .    i++;.    la
0510: 73 74 20 3d 20 68 6f 6c 64 3b 20 7d 0a 7d 20 77  st = hold; }.} w
0520: 68 69 6c 65 20 28 28 64 61 79 73 2e 6c 65 6e 67  hile ((days.leng
0530: 74 68 20 3e 20 30 29 20 26 26 20 28 69 20 3c 20  th > 0) && (i < 
0540: 35 29 29 3b 0a 2f 2f 61 6c 65 72 74 28 69 20 2b  5));.//alert(i +
0550: 27 20 27 2b 20 66 69 76 65 2b 27 20 23 20 27 2b  ' '+ five+' # '+
0560: 20 66 69 72 73 74 29 3b 0a 2f 2a 20 61 70 70 6c   first);./* appl
0570: 79 20 63 6f 6c 6f 72 20 64 65 66 69 6e 69 74 69  y color definiti
0580: 6f 6e 20 2a 2f 0a 76 61 72 20 70 72 65 73 20 3d  on */.var pres =
0590: 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45 6c 65   document.getEle
05a0: 6d 65 6e 74 73 42 79 54 61 67 4e 61 6d 65 28 27  mentsByTagName('
05b0: 70 72 65 27 29 5b 30 5d 2e 67 65 74 45 6c 65 6d  pre')[0].getElem
05c0: 65 6e 74 73 42 79 54 61 67 4e 61 6d 65 28 27 61  entsByTagName('a
05d0: 27 29 3b 0a 2f 2f 61 6c 65 72 74 28 70 72 65 73  ');.//alert(pres
05e0: 5b 30 5d 2e 6e 65 78 74 53 69 62 6c 69 6e 67 2e  [0].nextSibling.
05f0: 64 61 74 61 29 3b 0a 66 6f 72 20 28 76 61 72 20  data);.for (var 
0600: 69 20 3d 20 30 3b 20 69 20 3c 20 70 72 65 73 2e  i = 0; i < pres.
0610: 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b 0a 20  length; i++) {. 
0620: 20 76 61 72 20 64 61 79 20 3d 20 70 72 65 73 5b   var day = pres[
0630: 69 5d 2e 6e 65 78 74 53 69 62 6c 69 6e 67 2e 64  i].nextSibling.d
0640: 61 74 61 3b 0a 20 20 76 61 72 20 67 65 74 20 3d  ata;.  var get =
0650: 20 64 61 79 2e 6d 61 74 63 68 28 2f 5c 73 28 5c   day.match(/\s(\
0660: 64 7b 34 7d 29 2d 28 5c 64 7b 32 7d 29 2d 28 5c  d{4})-(\d{2})-(\
0670: 64 7b 32 7d 29 5c 73 2e 2b 2f 69 29 3b 0a 20 20  d{2})\s.+/i);.  
0680: 76 61 72 20 77 65 72 74 20 3d 20 67 65 74 5b 31  var wert = get[1
0690: 5d 2b 67 65 74 5b 32 5d 2b 67 65 74 5b 33 5d 3b  ]+get[2]+get[3];
06a0: 0a 20 20 70 72 65 73 5b 69 5d 2e 73 74 79 6c 65  .  pres[i].style
06b0: 2e 70 61 64 64 69 6e 67 52 69 67 68 74 20 3d 20  .paddingRight = 
06c0: 27 2e 35 65 6d 27 3b 0a 20 20 70 72 65 73 5b 69  '.5em';.  pres[i
06d0: 5d 2e 73 74 79 6c 65 2e 62 6f 72 64 65 72 52 69  ].style.borderRi
06e0: 67 68 74 20 3d 20 22 2e 35 65 6d 20 73 6f 6c 69  ght = ".5em soli
06f0: 64 20 22 3b 0a 20 20 73 77 69 74 63 68 20 28 77  d ";.  switch (w
0700: 65 72 74 29 20 7b 0a 20 20 20 20 63 61 73 65 20  ert) {.    case 
0710: 28 69 6e 69 74 69 61 6c 29 3a 20 2f 2a 20 66 69  (initial): /* fi
0720: 72 73 74 20 63 69 20 2a 2f 0a 20 20 20 20 20 20  rst ci */.      
0730: 70 72 65 73 5b 69 5d 2e 73 74 79 6c 65 2e 62 61  pres[i].style.ba
0740: 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 20 3d 20  ckgroundColor = 
0750: 63 6f 6c 6f 72 73 5b 30 5d 3b 0a 20 20 20 20 20  colors[0];.     
0760: 20 70 72 65 73 5b 69 5d 2e 73 74 79 6c 65 2e 62   pres[i].style.b
0770: 6f 72 64 65 72 52 69 67 68 74 43 6f 6c 6f 72 20  orderRightColor 
0780: 3d 20 63 6f 6c 6f 72 73 5b 30 5d 3b 0a 20 20 20  = colors[0];.   
0790: 20 20 20 62 72 65 61 6b 3b 09 0a 20 20 20 20 63     break;..    c
07a0: 61 73 65 20 28 66 69 76 65 5b 30 5d 29 3a 20 2f  ase (five[0]): /
07b0: 2a 20 63 75 72 72 65 6e 74 20 2a 2f 0a 20 20 20  * current */.   
07c0: 20 20 20 70 72 65 73 5b 69 5d 2e 73 74 79 6c 65     pres[i].style
07d0: 2e 62 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72  .backgroundColor
07e0: 20 3d 20 63 6f 6c 6f 72 73 5b 31 5d 3b 0a 20 20   = colors[1];.  
07f0: 20 20 20 20 70 72 65 73 5b 69 5d 2e 73 74 79 6c      pres[i].styl
0800: 65 2e 62 6f 72 64 65 72 52 69 67 68 74 43 6f 6c  e.borderRightCol
0810: 6f 72 20 3d 20 63 6f 6c 6f 72 73 5b 31 5d 3b 0a  or = colors[1];.
0820: 20 20 20 20 20 20 62 72 65 61 6b 3b 09 0a 20 20        break;..  
0830: 20 20 63 61 73 65 20 28 66 69 76 65 5b 31 5d 29    case (five[1])
0840: 3a 20 2f 2a 20 6e 65 78 74 20 74 6f 20 6c 61 73  : /* next to las
0850: 74 20 2a 2f 0a 20 20 20 20 20 20 70 72 65 73 5b  t */.      pres[
0860: 69 5d 2e 73 74 79 6c 65 2e 62 61 63 6b 67 72 6f  i].style.backgro
0870: 75 6e 64 43 6f 6c 6f 72 20 3d 20 63 6f 6c 6f 72  undColor = color
0880: 73 5b 32 5d 3b 0a 20 20 20 20 20 20 70 72 65 73  s[2];.      pres
0890: 5b 69 5d 2e 73 74 79 6c 65 2e 62 6f 72 64 65 72  [i].style.border
08a0: 52 69 67 68 74 43 6f 6c 6f 72 20 3d 20 63 6f 6c  RightColor = col
08b0: 6f 72 73 5b 32 5d 3b 0a 20 20 20 20 20 20 62 72  ors[2];.      br
08c0: 65 61 6b 3b 09 0a 20 20 20 20 63 61 73 65 20 28  eak;..    case (
08d0: 66 69 76 65 5b 32 5d 29 3a 0a 20 20 20 20 20 20  five[2]):.      
08e0: 70 72 65 73 5b 69 5d 2e 73 74 79 6c 65 2e 62 6f  pres[i].style.bo
08f0: 72 64 65 72 52 69 67 68 74 43 6f 6c 6f 72 20 3d  rderRightColor =
0900: 20 63 6f 6c 6f 72 73 5b 33 5d 3b 0a 20 20 20 20   colors[3];.    
0910: 20 20 62 72 65 61 6b 3b 09 0a 20 20 20 20 63 61    break;..    ca
0920: 73 65 20 28 66 69 76 65 5b 33 5d 29 3a 0a 20 20  se (five[3]):.  
0930: 20 20 20 20 70 72 65 73 5b 69 5d 2e 73 74 79 6c      pres[i].styl
0940: 65 2e 62 6f 72 64 65 72 52 69 67 68 74 43 6f 6c  e.borderRightCol
0950: 6f 72 20 3d 20 63 6f 6c 6f 72 73 5b 34 5d 3b 0a  or = colors[4];.
0960: 20 20 20 20 20 20 62 72 65 61 6b 3b 09 0a 20 20        break;..  
0970: 20 20 63 61 73 65 20 28 66 69 76 65 5b 34 5d 29    case (five[4])
0980: 3a 0a 20 20 20 20 20 20 70 72 65 73 5b 69 5d 2e  :.      pres[i].
0990: 73 74 79 6c 65 2e 62 6f 72 64 65 72 52 69 67 68  style.borderRigh
09a0: 74 43 6f 6c 6f 72 20 3d 20 63 6f 6c 6f 72 73 5b  tColor = colors[
09b0: 35 5d 3b 0a 20 20 20 20 20 20 62 72 65 61 6b 3b  5];.      break;
09c0: 09 0a 20 20 20 20 64 65 66 61 75 6c 74 3a 20 2f  ..    default: /
09d0: 2a 20 6f 74 68 65 72 73 20 2a 2f 0a 20 20 20 20  * others */.    
09e0: 20 20 70 72 65 73 5b 69 5d 2e 73 74 79 6c 65 2e    pres[i].style.
09f0: 62 6f 72 64 65 72 52 69 67 68 74 43 6f 6c 6f 72  borderRightColor
0a00: 20 3d 20 63 6f 6c 6f 72 73 5b 36 5d 3b 0a 20 20   = colors[6];.  
0a10: 20 20 20 20 62 72 65 61 6b 3b 0a 7d 7d 0a 20 20      break;.}}.  
0a20: 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 20 2f  return true;.} /
0a30: 2a 20 61 6e 6e 6f 74 61 74 65 28 29 20 2a 2f 0a  * annotate() */.
0a40: 0a 66 75 6e 63 74 69 6f 6e 20 63 6f 6c 6f 72 64  .function colord
0a50: 69 66 66 28 29 20 7b 0a 76 61 72 20 70 72 65 73  iff() {.var pres
0a60: 20 3d 20 64 6f 63 75 6d 65 6e 74 2e 67 65 74 45   = document.getE
0a70: 6c 65 6d 65 6e 74 73 42 79 54 61 67 4e 61 6d 65  lementsByTagName
0a80: 28 27 70 72 65 27 29 3b 0a 66 6f 72 20 28 76 61  ('pre');.for (va
0a90: 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 70 72 65  r i = 0; i < pre
0aa0: 73 2e 6c 65 6e 67 74 68 3b 20 69 2b 2b 29 20 7b  s.length; i++) {
0ab0: 0a 20 20 69 66 20 28 70 72 65 73 5b 69 5d 2e 68  .  if (pres[i].h
0ac0: 61 73 43 68 69 6c 64 4e 6f 64 65 73 28 29 20 26  asChildNodes() &
0ad0: 26 20 28 70 72 65 73 5b 69 5d 2e 67 65 74 41 74  & (pres[i].getAt
0ae0: 74 72 69 62 75 74 65 28 27 63 6c 61 73 73 27 29  tribute('class')
0af0: 20 3d 3d 20 27 64 69 66 66 27 29 29 20 7b 0a 20   == 'diff')) {. 
0b00: 20 20 20 70 72 65 73 5b 69 5d 2e 69 6e 6e 65 72     pres[i].inner
0b10: 48 54 4d 4c 20 3d 20 70 72 65 73 5b 69 5d 2e 69  HTML = pres[i].i
0b20: 6e 6e 65 72 48 54 4d 4c 2e 72 65 70 6c 61 63 65  nnerHTML.replace
0b30: 28 2f 5e 28 2e 2b 29 24 2f 6d 67 2c 20 22 3c 73  (/^(.+)$/mg, "<s
0b40: 70 61 6e 3e 24 31 3c 2f 73 70 61 6e 3e 22 29 3b  pan>$1</span>");
0b50: 0a 20 20 20 20 2f 2f 70 72 65 73 5b 69 5d 2e 73  .    //pres[i].s
0b60: 74 79 6c 65 2e 62 6f 72 64 65 72 20 3d 20 27 31  tyle.border = '1
0b70: 70 78 20 64 61 73 68 65 64 20 23 66 36 30 27 3b  px dashed #f60';
0b80: 0a 20 20 20 20 76 61 72 20 73 70 61 6e 73 20 3d  .    var spans =
0b90: 20 70 72 65 73 5b 69 5d 2e 67 65 74 45 6c 65 6d   pres[i].getElem
0ba0: 65 6e 74 73 42 79 54 61 67 4e 61 6d 65 28 27 73  entsByTagName('s
0bb0: 70 61 6e 27 29 3b 0a 20 20 20 20 2f 2f 61 6c 65  pan');.    //ale
0bc0: 72 74 28 73 70 61 6e 73 2e 6c 65 6e 67 74 68 29  rt(spans.length)
0bd0: 3b 0a 20 20 20 20 66 6f 72 20 28 76 61 72 20 6a  ;.    for (var j
0be0: 20 3d 20 30 3b 20 6a 20 3c 20 73 70 61 6e 73 2e   = 0; j < spans.
0bf0: 6c 65 6e 67 74 68 3b 20 6a 2b 2b 29 0a 20 20 20  length; j++).   
0c00: 20 20 20 69 66 20 28 73 70 61 6e 73 5b 6a 5d 2e     if (spans[j].
0c10: 68 61 73 43 68 69 6c 64 4e 6f 64 65 73 28 29 29  hasChildNodes())
0c20: 20 7b 0a 20 20 20 20 20 20 20 20 76 61 72 20 68   {.        var h
0c30: 61 73 20 3d 20 73 70 61 6e 73 5b 6a 5d 2e 69 6e  as = spans[j].in
0c40: 6e 65 72 48 54 4d 4c 5b 30 5d 3b 0a 20 20 20 20  nerHTML[0];.    
0c50: 20 20 20 20 69 66 20 28 68 61 73 29 20 7b 0a 20      if (has) {. 
0c60: 20 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20           switch 
0c70: 28 68 61 73 29 20 7b 0a 20 20 20 20 20 20 20 20  (has) {.        
0c80: 20 20 20 20 63 61 73 65 20 27 2b 27 3a 20 2f 2a      case '+': /*
0c90: 20 6c 69 6e 65 20 61 64 64 65 64 20 2a 2f 0a 20   line added */. 
0ca0: 20 20 20 20 20 20 20 20 20 20 20 20 20 73 70 61               spa
0cb0: 6e 73 5b 6a 5d 2e 73 74 79 6c 65 2e 62 61 63 6b  ns[j].style.back
0cc0: 67 72 6f 75 6e 64 43 6f 6c 6f 72 20 3d 20 22 23  groundColor = "#
0cd0: 39 66 39 22 3b 0a 20 20 20 20 20 20 20 20 20 20  9f9";.          
0ce0: 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20      break;.     
0cf0: 20 20 20 20 20 20 20 63 61 73 65 20 27 2d 27 3a         case '-':
0d00: 20 2f 2a 20 6c 69 6e 65 20 72 65 6d 6f 76 65 64   /* line removed
0d10: 20 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20   */.            
0d20: 20 20 73 70 61 6e 73 5b 6a 5d 2e 73 74 79 6c 65    spans[j].style
0d30: 2e 62 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72  .backgroundColor
0d40: 20 3d 20 22 23 66 39 39 22 3b 0a 20 20 20 20 20   = "#f99";.     
0d50: 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a           break;.
0d60: 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65              case
0d70: 20 27 40 27 3a 20 2f 2a 20 73 79 6e 63 20 2a 2f   '@': /* sync */
0d80: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73  .              s
0d90: 70 61 6e 73 5b 6a 5d 2e 73 74 79 6c 65 2e 62 61  pans[j].style.ba
0da0: 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 20 3d 20  ckgroundColor = 
0db0: 22 23 66 66 39 22 3b 0a 20 20 20 20 20 20 20 20  "#ff9";.        
0dc0: 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20        break;.   
0dd0: 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74           default
0de0: 3a 20 2f 2a 20 75 6e 63 68 61 6e 64 65 64 20 6c  : /* unchanded l
0df0: 69 6e 65 73 20 2a 2f 0a 20 20 20 20 20 20 20 20  ines */.        
0e00: 20 20 20 20 20 20 2f 2f 20 73 70 61 6e 73 5b 6a        // spans[j
0e10: 5d 2e 73 74 79 6c 65 2e 63 6f 6c 6f 72 20 3d 20  ].style.color = 
0e20: 22 23 39 39 39 22 3b 0a 20 20 20 20 20 20 20 20  "#999";.        
0e30: 20 20 20 20 20 20 2f 2f 20 73 70 61 6e 73 5b 6a        // spans[j
0e40: 5d 2e 73 74 79 6c 65 2e 62 61 63 6b 67 72 6f 75  ].style.backgrou
0e50: 6e 64 43 6f 6c 6f 72 20 3d 20 22 23 66 66 65 22  ndColor = "#ffe"
0e60: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ;.              
0e70: 62 72 65 61 6b 3b 0a 7d 7d 7d 7d 7d 7d 20 2f 2a  break;.}}}}}} /*
0e80: 20 63 6f 6c 6f 72 64 69 66 66 28 29 20 2a 2f 0a   colordiff() */.
0e90: 0a 66 75 6e 63 74 69 6f 6e 20 6d 61 69 6e 28 29  .function main()
0ea0: 20 7b 0a 20 20 69 66 20 28 21 61 6e 6e 6f 74 61   {.  if (!annota
0eb0: 74 65 28 29 29 0a 20 20 20 20 63 6f 6c 6f 72 64  te()).    colord
0ec0: 69 66 66 28 29 3b 0a 20 20 64 6f 63 75 6d 65 6e  iff();.  documen
0ed0: 74 2e 67 65 74 45 6c 65 6d 65 6e 74 73 42 79 54  t.getElementsByT
0ee0: 61 67 4e 61 6d 65 28 22 62 6f 64 79 22 29 5b 30  agName("body")[0
0ef0: 5d 2e 73 65 74 41 74 74 72 69 62 75 74 65 28 27  ].setAttribute('
0f00: 6f 6e 6c 6f 61 64 27 2c 20 27 27 29 3b 0a 7d 20  onload', '');.} 
0f10: 2f 2a 20 6d 61 69 6e 28 29 20 2a 2f 0a 0a 2f 2f  /* main() */..//
0f20: 5d 5d 3e 0a 3c 2f 73 63 72 69 70 74 3e 0a 3c 2f  ]]>.</script>.</
0f30: 68 65 61 64 3e 0a 3c 62 6f 64 79 20 6f 6e 6c 6f  head>.<body onlo
0f40: 61 64 3d 27 6d 61 69 6e 28 29 27 3e 0a           ad='main()'>.