n=[];M=Math;Q=M.random;c.height=c.width=W=t=446;J=[];U=16;T=M.sin;function F(){a.clearRect(0,0,W,W);for(A=T(t-11),i=0;i<O;L.b=L.z*A-L.x*T(t))(L=J[i++]).a=L.x*A+L.z*T(t);J.sort(function(a,b){return a.b-b.b});for(a.font='60px Impact',a.fillStyle='#cca',i=0;i<O;a.drawImage(n[(L=J[i++]).n],207+L.a>>0,150+L.y>>0))if(i==O>>1)a.fillText('Merry Christmas!',U,396);t+=.02;setTimeout(F,9)}for(O=k=0;k<12;k++)with(n[k]=c.cloneNode(0)){width=height=32;with(getContext('2d')){if(k>9){for(i=0;i<99;i+=U){beginPath();fillStyle=V+(147+i)+','+(k%2?128+i:0)+','+i+',.5)';arc(U-i/48,24-i/32,8-i/U,0,M.PI*2,1);fill()}}else for(i=W;x=T(i)*U,y=Q()*32-U,E=x-10,D=y-12,B=M.sqrt(E*E+D*D),R=(70+B*4)*(L=k/9+.8)>>1,i--;)if(x*x+y*y<256){strokeStyle=(V='rgba(')+R+','+(R+(B*L>>2))+',40,.1)';beginPath();moveTo(U+x/2,U+y/2);lineTo(U+x,U+y);stroke()}}}for(j=200;j--;)for(H=j+M.sqrt(j)*25,L=H/U,R=Q()*W,y=H/2-99,x=z=i=0;V=3,S=i/L*20,i<L;i++,x+=T(R)*V+Q()*6-3,z+=T(R-11)*V+Q()*6-3,y+=Q()*8-4,J[O++]={x:x,y:y,z:z,n:S>>1})if(i+1>=L&&Q()>.8)V=9,S+=Q()*4;F()
bj1bXTtNPU1hdGg7UT1NLnJhbmRvbTtjLmhlaWdodD1jLndpZHRoPVc9dD00NDY7Sj1bXTtVPTE2O1Q9TS5zaW47ZnVuY3Rpb24gRigpe2EuY2xlYXJSZWN0KDAsMCxXLFcpO2ZvcihBPVQodC0xMSksaT0wO2k8TztMLmI9TC56KkEtTC54KlQodCkpKEw9SltpKytdKS5hPUwueCpBK0wueipUKHQpO0ouc29ydChmdW5jdGlvbihhLGIpe3JldHVybiBhLmItYi5ifSk7Zm9yKGEuZm9udD0nNjBweCBJbXBhY3QnLGEuZmlsbFN0eWxlPScjY2NhJyxpPTA7aTxPO2EuZHJhd0ltYWdlKG5bKEw9SltpKytdKS5uXSwyMDcrTC5hPj4wLDE1MCtMLnk+PjApKWlmKGk9PU8+PjEpYS5maWxsVGV4dCgnTWVycnkgQ2hyaXN0bWFzIScsVSwzOTYpO3QrPS4wMjtzZXRUaW1lb3V0KEYsOSl9Zm9yKE89az0wO2s8MTI7aysrKXdpdGgobltrXT1jLmNsb25lTm9kZSgwKSl7d2lkdGg9aGVpZ2h0PTMyO3dpdGgoZ2V0Q29udGV4dCgnMmQnKSl7aWYoaz45KXtmb3IoaT0wO2k8OTk7aSs9VSl7YmVnaW5QYXRoKCk7ZmlsbFN0eWxlPVYrKDE0NytpKSsnLCcrKGslMj8xMjgraTowKSsnLCcraSsnLC41KSc7YXJjKFUtaS80OCwyNC1pLzMyLDgtaS9VLDAsTS5QSSoyLDEpO2ZpbGwoKX19ZWxzZSBmb3IoaT1XO3g9VChpKSpVLHk9USgpKjMyLVUsRT14LTEwLEQ9eS0xMixCPU0uc3FydChFKkUrRCpEKSxSPSg3MCtCKjQpKihMPWsvOSsuOCk+PjEsaS0tOylpZih4KngreSp5PDI1Nil7c3Ryb2tlU3R5bGU9KFY9J3JnYmEoJykrUisnLCcrKFIrKEIqTD4+MikpKycsNDAsLjEpJztiZWdpblBhdGgoKTttb3ZlVG8oVSt4LzIsVSt5LzIpO2xpbmVUbyhVK3gsVSt5KTtzdHJva2UoKX19fWZvcihqPTIwMDtqLS07KWZvcihIPWorTS5zcXJ0KGopKjI1LEw9SC9VLFI9USgpKlcseT1ILzItOTkseD16PWk9MDtWPTMsUz1pL0wqMjAsaTxMO2krKyx4Kz1UKFIpKlYrUSgpKjYtMyx6Kz1UKFItMTEpKlYrUSgpKjYtMyx5Kz1RKCkqOC00LEpbTysrXT17eDp4LHk6eSx6OnosbjpTPj4xfSlpZihpKzE+PUwmJlEoKT4uOClWPTksUys9USgpKjQ7Rigp
Original source not submitted