Вот смотрите. Вы написали полотно кода. Неужели так сложно было сделать пример на jsBin или jsFiddle, чтобы мы сразу увидели, как именно шарик двигается, и что вообще за шарик? Разумеется, можно разобраться в вашем коде, можно и самим залить куда-нибудь, только вряд ли кто-то будет этим заниматься. Пожалуйста, используйте "песочницы" для задач, в которых больше, чем три строки кода.