Position bestimmen ist ein bisschen tricky. Da gibts aber schon einige Treffer wenn man danach sucht. Ich bin ja nicht wirklich Fan von Tips wie *Google weiß es*, aber such doch mal nach: javascript mausposition bestimmen
Deinen Code könnte man noch kürzen (machts übersichtlicher) und die Richtung als String speichern find ich auch nicht sehr schön.
Merk dir doch einfach die Schrittweite in x und y Richtung (positiv oder negativ) und dann machst du
x += xSpeed;
y += ySpeed;
if (x > ...)
xSpeed = -step;
if (x < ...)
xSpeed = step;
aber das nur am Rande