D=document;S=D.body.style;S.margin=0;S.overflow='hidden';C=D.getElementById('c');X=C.getContext('2d');A=Math;R=A.random;C.width=W=innerWidth;C.height=H=innerHeight;M=[];X.fillStyle='#000';X.fillRect(0,0,W,H);C.addEventListener('click',c,false);d();function c(e){r=R()*50;M.push([e.clientX,e.clientY,r,0,0,r/2]);}function d(){X.save();X.fillStyle='rgba(0,0,0,0.2)';X.fillRect(0,0,W,H);X.fillStyle='#FFF';for(i in M){m=M[i];X.fillRect(m[0]+R()*m[2]-m[5],m[1]+R()*m[2]-m[5],3,3);}for(i in M){m=M[i];x=0;y=0;for(j in M){n=M[j];if(m!=n){r=(n[0]-m[0])*(n[0]-m[0])+(n[1]-m[1])*(n[1]-m[1]);if(r<127500){b=A.floor(r/500);e=255-b;X.strokeStyle = 'rgb('+b+','+e+','+255+')';X.beginPath();X.moveTo(m[0],m[1]);X.lineTo(n[0],n[1]);X.closePath();X.stroke();}f=1.5*n[2]*m[2]/r;a=f/m[2];x+=a*(n[0]-m[0]);y+=a*(n[1]-m[1]);}}m[3]+=x;m[4]+=y;}for(i in M){m=M[i];m[0]+=m[3];m[1]+=m[4];}X.restore();setTimeout('d()',40);}
RD1kb2N1bWVudDtTPUQuYm9keS5zdHlsZTtTLm1hcmdpbj0wO1Mub3ZlcmZsb3c9J2hpZGRlbic7Qz1ELmdldEVsZW1lbnRCeUlkKCdjJyk7WD1DLmdldENvbnRleHQoJzJkJyk7QT1NYXRoO1I9QS5yYW5kb207Qy53aWR0aD1XPWlubmVyV2lkdGg7Qy5oZWlnaHQ9SD1pbm5lckhlaWdodDtNPVtdO1guZmlsbFN0eWxlPScjMDAwJztYLmZpbGxSZWN0KDAsMCxXLEgpO0MuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLGMsZmFsc2UpO2QoKTtmdW5jdGlvbiBjKGUpe3I9UigpKjUwO00ucHVzaChbZS5jbGllbnRYLGUuY2xpZW50WSxyLDAsMCxyLzJdKTt9ZnVuY3Rpb24gZCgpe1guc2F2ZSgpO1guZmlsbFN0eWxlPSdyZ2JhKDAsMCwwLDAuMiknO1guZmlsbFJlY3QoMCwwLFcsSCk7WC5maWxsU3R5bGU9JyNGRkYnO2ZvcihpIGluIE0pe209TVtpXTtYLmZpbGxSZWN0KG1bMF0rUigpKm1bMl0tbVs1XSxtWzFdK1IoKSptWzJdLW1bNV0sMywzKTt9Zm9yKGkgaW4gTSl7bT1NW2ldO3g9MDt5PTA7Zm9yKGogaW4gTSl7bj1NW2pdO2lmKG0hPW4pe3I9KG5bMF0tbVswXSkqKG5bMF0tbVswXSkrKG5bMV0tbVsxXSkqKG5bMV0tbVsxXSk7aWYocjwxMjc1MDApe2I9QS5mbG9vcihyLzUwMCk7ZT0yNTUtYjtYLnN0cm9rZVN0eWxlID0gJ3JnYignK2IrJywnK2UrJywnKzI1NSsnKSc7WC5iZWdpblBhdGgoKTtYLm1vdmVUbyhtWzBdLG1bMV0pO1gubGluZVRvKG5bMF0sblsxXSk7WC5jbG9zZVBhdGgoKTtYLnN0cm9rZSgpO31mPTEuNSpuWzJdKm1bMl0vcjthPWYvbVsyXTt4Kz1hKihuWzBdLW1bMF0pO3krPWEqKG5bMV0tbVsxXSk7fX1tWzNdKz14O21bNF0rPXk7fWZvcihpIGluIE0pe209TVtpXTttWzBdKz1tWzNdO21bMV0rPW1bNF07fVgucmVzdG9yZSgpO3NldFRpbWVvdXQoJ2QoKScsNDApO30=
Original source not submitted