Also, have you tried doing this without introducing the new panstart event?  I'd like to know if you can just use the pan and swipe events. It will require more code changes, but the resulting code might actually be simpler.