Имхо, при вызове click(), параметры x и y никто не устанавливает, поэтому они отрицательны (хотя в WebKit они нулевые, ща смотрел).
Думаю если генерировать события через dispatchEvent, то все будет ок.
http://habrahabr.ru/post/114244/
Вобще в спецификации упоминается свойство isTrusted, но оно помоему только в FireFox есть.