Providing setTimeout a negative time will not always result in the
callback function being called. This works in other browsers, but in
Internet Explorer (8 or lower) you have to make sure any negative
times are changed to zero.

I haven't tested this myself, but like Thomasz said, it's probably better to be safe.