1 <!DOCTYPE HEML PUBLIC> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <style> 6 html, body 7 { 8 width: 100%; 9 height: 100%; 10 margin: 0; 11 padding: 0; 12 border: 0; 13 } 14 15 div 16 { 17 margin: 0; 18 padding: 0; 19 border: 0; 20 } 21 .nav 22 { 23 position: absolute; 24 top: 0; 25 left: 0; 26 width: 100%; 27 height: 27px; 28 background-color: white; 29 color: black; 30 text-align: center; 31 line-height: 25px; 32 } 33 a 34 { 35 color: black; 36 text-decoration: none; 37 border-bottom: 1px dashed black; 38 } 39 a:hover 40 { 41 border-bottom: 1px solid red; 42 } 43 .previous 44 { 45 float: left; 46 margin-left: 10px; 47 } 48 .next 49 { 50 float: right; 51 margin-right: 10px; 52 } 53 .green 54 { 55 color: green; 56 } 57 .red 58 { 59 color: red; 60 } 61 textarea 62 { 63 width: 100%; 64 height: 100%; 65 border: 0; 66 padding: 0; 67 margin: 0; 68 padding-bottom: 20px; 69 } 70 .block-outer 71 { 72 float: left; 73 width: 22%; 74 height: 100%; 75 padding: 5px; 76 border-left: 1px solid black; 77 margin: 30px 3px 3px 3px; 78 } 79 .block-inner 80 { 81 height: 68%; 82 } 83 .one 84 { 85 border: 0; 86 } 87 </style> 88 </head> 89 <body marginwidth="0" marginheight="0"> 90 <canvas id="c" height="356" width="446"> 91 <script> 92 var collapsed = true; 93 function toggle() 94 { 95 var fs = top.document.getElementsByTagName('frameset')[0]; 96 var f = fs.getElementsByTagName('frame'); 97 if (collapsed) 98 { 99 fs.rows = '250px,*'; 100 fs.noResize = false; 101 f[0].noResize = false; 102 f[1].noResize = false; 103 } 104 else 105 { 106 fs.rows = '30px,*'; 107 fs.noResize = true; 108 f[0].noResize = true; 109 f[1].noResize = true; 110 } 111 collapsed = !collapsed; 112 } 113 </script> 114 <script> 115 var b = document.body; 116 var c = document.getElementsByTagName('canvas')[0]; 117 var a = c.getContext('2d'); 118 document.body.clientWidth; 119 </script> 120 <script> 121 M=Math; 122 Q=M.random;J=[]; 123 U=16; 124 T=M.sin; 125 E=M.sqrt; 126 for(O=k=0;x=z=j=i=k<200;) 127 with(M[k]=k?c.cloneNode(0):c) 128 { 129 width=height=k?32:W=446; 130 with(getContext('2d')) 131 if(k>10|!k) 132 for( 133 font='60px Impact', 134 V='rgba(';I=i*U,fillStyle=k?k==13?V+'205,205,215,.15)': 135 V+(147+I)+','+(k%2?128+I:0)+','+I+',.5)':'#cca',i<7; 136 ) 137 beginPath( 138 fill( 139 arc( 140 U-i/3, 141 24-i/2, 142 k==13?4-(i++)/2:8-i++, 143 0, 144 M.PI*2,1 145 ) 146 ) 147 ); 148 else for(; 149 x=T(i), 150 y=Q()*2-1, 151 D=x*x+y*y, 152 B=E(D-x/.9-1.5*y+1), 153 R=67*(B+1)*(L=k/9+.8)>>1, 154 i++<W; 155 ) 156 if(D<1) 157 beginPath( 158 strokeStyle=V+R+','+(R+B*L>>0)+',40,.1)' 159 ), 160 moveTo(U+x*8,U+y*8), 161 lineTo(U+x*U,U+y*U), 162 stroke(); 163 for( 164 y=H=k+E(k++)*25, 165 R=Q()*W; 166 P=3,j<H; 167 ) 168 J[O++]=[x+=T(R)*P+Q()*6-3,y+=Q()*U-8,z+=T(R-11)*P+Q()*6-3,j/H*20+((j+=U)>H&Q()>.8?Q(P=9)*4:0)>>1] 169 } 170 setInterval(function G(m,l) 171 { 172 A=T(D-11); 173 if(l) 174 return( 175 m[2]-l[2])*A+(l[0]-m[0])*T(D); 176 a.clearRect(0,0,W,W); 177 J.sort(G); 178 for( 179 i=0; 180 L=J[i++]; 181 a.drawImage 182 ( 183 M[L[3]+1],207+L[0]*A+L[2]*T(D)>>0,L[1]>>1) ) 184 { 185 if(i==2e3) 186 a.fillText 187 ( 188 'Happy Christmas!', 189 U,345); 190 if(!(i%7)) 191 a.drawImage 192 ( 193 M[13], 194 ((157*(i*i)+T(D*5+i*i)*5)%W)>>0, 195 ((113*i+(D*i)/60)%(290+i/99))>>0 196 ); 197 } 198 D+=.02 199 },1) 200 </script> 201 </body> 202 </html>