rectangles collision side detection
function collide(r1,r2){
var dx=(r1.x+r1.w/2)-(r2.x+r2.w/2);
var dy=(r1.y+r1.h/2)-(r2.y+r2.h/2);
var width=(r1.w+r2.w)/2;
var height=(r1.h+r2.h)/2;
var crossWidth=width*dy;
var crossHeight=height*dx;
var collision='none';
//
if(Math.abs(dx)<=width && Math.abs(dy)<=height){
if(crossWidth>crossHeight){
collision=(crossWidth>(-crossHeight))?'bottom':'left';
}else{
collision=(crossWidth>-(crossHeight))?'right':'top';
}
}
return(collision);
}