       when 'touchstart' then @onTouchStart(e)
       when 'touchmove' then @onTouchMove(e)
       when 'touchend' then @onTouchEnd(e)  
+      when 'click' then @onTouchEnd(e)  
 
   onTouchStart: (e) ->
-    e.stopPropagation()
     @moved = false
+    e.target.addEventListener('touchend', @onTouchEnd, false)
     e.target.addEventListener('touchmove', @onTouchMove, false)
-    e.target.addEventListener('touchend', @onTouchEnd, false)
-    document.getElementById('result').innerHTML += ' ' + e.type
+
+    @touches.startX = e.touches[0].clientX
+    @touches.startY = e.touches[0].clientY
 
   onTouchMove: (e) ->
     @moved = true

    e.target.removeEventListener('touchend', @onTouchEnd, false)

    if not @moved
      e.preventDefault()  
      theEvent = document.createEvent('MouseEvents')
      theEvent.initEvent('click', true, true)
      e.target.dispatchEvent(theEvent)

  fixInput: (e) =>
    if not @os.android

    @transitionAnimation = false if @os.android and @os.version <= '2.1'

    @hideUrlBar() if options.hideUrlbar

    if window.Touch
      document.body.addEventListener('touchstart', @handleEvents, false)
      document.body.addEventListener('click', @handleEvents, false)

  # Public: Go to a specific page.
  #
