// 1kFly.js ~ sadasant.com
// http://jsbin.com/aluyax/3
function fly(f,mx,my,gx,gy,tx,ty,b,X,Y,x,y,i,r,M,a,w,W,w1){
with(document){
var h=["☼❤☼"," ❤"],
P=M.PI*i,A=M.abs,
D=.7+Math.random()*.7,
p=createElement('p'),s,
o=onmousemove;(s=p.style).fontFamily="monospace";s.position="fixed"
body.appendChild(p)
onmousemove=function(e){mx=e.pageX;my=e.pageY;o(e)}
onmouseup=function(){fly(-f,mx,my,gx,gy,tx,ty,b,X,Y,x,y,i,r*D,M,a,w,W,w1)}}
setInterval(function(){
p.innerHTML=h[~~(b=!b)]
dx=gx-x;dy=gy-y
w=(A(dx/tx)+A(dy/ty))/2
if(!W&w<i){x=X;y=Y}
W=W||w<i
if(W){
a=x*f/P
y+=i;x+=i
w1=2
}else{
w1=1.1-w
a=(w*f*3*w1*D)/P;j=i*w1*D
w1*=r*D
y+=j*dy
x+=j*dx
}
s.top=(Y=y+w1*M.cos(a))+'px'
s.left=(X=x+w1*M.sin(a))+'px'
if(W&A((mx-gx)+(my-gy))/2>r)
tx=(gx=mx)-x,ty=(gy=my)-y,f=M.random()<.5?-1:1,W=!W
},30)}fly(1,1,1,1,1,1,1,0,0,0,0,0,.05,30,Math)
Ly8gMWtGbHkuanMgfiBzYWRhc2FudC5jb20NCi8vIGh0dHA6Ly9qc2Jpbi5jb20vYWx1eWF4LzMNCmZ1bmN0aW9uIGZseShmLG14LG15LGd4LGd5LHR4LHR5LGIsWCxZLHgseSxpLHIsTSxhLHcsVyx3MSl7DQp3aXRoKGRvY3VtZW50KXsNCnZhciBoPVsi4pi84p2k4pi8IiwiJm5ic3A74p2kIl0sDQpQPU0uUEkqaSxBPU0uYWJzLA0KRD0uNytNYXRoLnJhbmRvbSgpKi43LA0KcD1jcmVhdGVFbGVtZW50KCdwJykscywNCm89b25tb3VzZW1vdmU7KHM9cC5zdHlsZSkuZm9udEZhbWlseT0ibW9ub3NwYWNlIjtzLnBvc2l0aW9uPSJmaXhlZCINCmJvZHkuYXBwZW5kQ2hpbGQocCkNCm9ubW91c2Vtb3ZlPWZ1bmN0aW9uKGUpe214PWUucGFnZVg7bXk9ZS5wYWdlWTtvKGUpfQ0Kb25tb3VzZXVwPWZ1bmN0aW9uKCl7Zmx5KC1mLG14LG15LGd4LGd5LHR4LHR5LGIsWCxZLHgseSxpLHIqRCxNLGEsdyxXLHcxKX19DQpzZXRJbnRlcnZhbChmdW5jdGlvbigpew0KcC5pbm5lckhUTUw9aFt+fihiPSFiKV0NCmR4PWd4LXg7ZHk9Z3kteQ0Kdz0oQShkeC90eCkrQShkeS90eSkpLzINCmlmKCFXJnc8aSl7eD1YO3k9WX0NClc9V3x8dzxpDQppZihXKXsNCmE9eCpmL1ANCnkrPWk7eCs9aQ0KdzE9Mg0KfWVsc2V7DQp3MT0xLjEtdw0KYT0odypmKjMqdzEqRCkvUDtqPWkqdzEqRA0KdzEqPXIqRA0KeSs9aipkeQ0KeCs9aipkeA0KfQ0Kcy50b3A9KFk9eSt3MSpNLmNvcyhhKSkrJ3B4Jw0Kcy5sZWZ0PShYPXgrdzEqTS5zaW4oYSkpKydweCcNCmlmKFcmQSgobXgtZ3gpKyhteS1neSkpLzI+cikNCnR4PShneD1teCkteCx0eT0oZ3k9bXkpLXksZj1NLnJhbmRvbSgpPC41Py0xOjEsVz0hVw0KfSwzMCl9Zmx5KDEsMSwxLDEsMSwxLDEsMCwwLDAsMCwwLC4wNSwzMCxNYXRoKQ==
Original source not submitted