Move the mouse around to add balls to the screen, clicking on the mouse changes to spread out mode, you can add balls to the screen in this mode too. Click the mouse to switch between modes.
function B(e){this.x=0;this.y=0;this.radius=e;this.scaleX=1;this.scaleY=1;this.color="#000"}function cb(){var e=new B(M.random()*15);e.x=M.random()*wi;e.y=M.random()*h;e.m=e.radius;e.ox=M.random()*wi;e.oy=M.random()*h;bs.push(e)}function ani(e){if(!go){var t=mX-e.x,n=mY-e.y,r=M.sqrt(t*t+n*n)}else{var t=e.ox-e.x,n=e.oy-e.y,r=M.sqrt(t*t+n*n)}e.x+=t*ea;e.y+=n*ea;if(e.y+e.radius>h)e.y=h-e.radius;e.d(a)}var w=window,wi=w.innerWidth,h=w.innerHeight,mX=0,mY=0,g=.25,ea=.3,bs=[],go=false,M=Math;c.setAttribute("width",wi);c.setAttribute("height",h);b.style.margin="0px";B.prototype.d=function(e){e.save();e.translate(this.x,this.y);e.scale(this.scaleX,this.scaleY);e.fillStyle=this.color;e.beginPath();e.arc(0,0,this.radius,0,M.PI*2,true);e.closePath();e.fill();e.restore()};c.addEventListener("mousemove",function(e){mX=e.pageX;mY=e.pageY;cb()},false);c.addEventListener("mousedown",function(){go=!go},false);(function e(){a.clearRect(0,0,c.width,c.height);bs.forEach(ani);setTimeout(e,30)})()
ZnVuY3Rpb24gQihlKXt0aGlzLng9MDt0aGlzLnk9MDt0aGlzLnJhZGl1cz1lO3RoaXMuc2NhbGVYPTE7dGhpcy5zY2FsZVk9MTt0aGlzLmNvbG9yPSIjMDAwIn1mdW5jdGlvbiBjYigpe3ZhciBlPW5ldyBCKE0ucmFuZG9tKCkqMTUpO2UueD1NLnJhbmRvbSgpKndpO2UueT1NLnJhbmRvbSgpKmg7ZS5tPWUucmFkaXVzO2Uub3g9TS5yYW5kb20oKSp3aTtlLm95PU0ucmFuZG9tKCkqaDticy5wdXNoKGUpfWZ1bmN0aW9uIGFuaShlKXtpZighZ28pe3ZhciB0PW1YLWUueCxuPW1ZLWUueSxyPU0uc3FydCh0KnQrbipuKX1lbHNle3ZhciB0PWUub3gtZS54LG49ZS5veS1lLnkscj1NLnNxcnQodCp0K24qbil9ZS54Kz10KmVhO2UueSs9biplYTtpZihlLnkrZS5yYWRpdXM+aCllLnk9aC1lLnJhZGl1cztlLmQoYSl9dmFyIHc9d2luZG93LHdpPXcuaW5uZXJXaWR0aCxoPXcuaW5uZXJIZWlnaHQsbVg9MCxtWT0wLGc9LjI1LGVhPS4zLGJzPVtdLGdvPWZhbHNlLE09TWF0aDtjLnNldEF0dHJpYnV0ZSgid2lkdGgiLHdpKTtjLnNldEF0dHJpYnV0ZSgiaGVpZ2h0IixoKTtiLnN0eWxlLm1hcmdpbj0iMHB4IjtCLnByb3RvdHlwZS5kPWZ1bmN0aW9uKGUpe2Uuc2F2ZSgpO2UudHJhbnNsYXRlKHRoaXMueCx0aGlzLnkpO2Uuc2NhbGUodGhpcy5zY2FsZVgsdGhpcy5zY2FsZVkpO2UuZmlsbFN0eWxlPXRoaXMuY29sb3I7ZS5iZWdpblBhdGgoKTtlLmFyYygwLDAsdGhpcy5yYWRpdXMsMCxNLlBJKjIsdHJ1ZSk7ZS5jbG9zZVBhdGgoKTtlLmZpbGwoKTtlLnJlc3RvcmUoKX07Yy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLGZ1bmN0aW9uKGUpe21YPWUucGFnZVg7bVk9ZS5wYWdlWTtjYigpfSxmYWxzZSk7Yy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGZ1bmN0aW9uKCl7Z289IWdvfSxmYWxzZSk7KGZ1bmN0aW9uIGUoKXthLmNsZWFyUmVjdCgwLDAsYy53aWR0aCxjLmhlaWdodCk7YnMuZm9yRWFjaChhbmkpO3NldFRpbWVvdXQoZSwzMCl9KSgp
Original source not submitted