     jbone(document.body).on 'mouseup.overup', => @_cleanup()
     jbone(document.body).on 'mouseout.overout', (e) => @_onmousewinout(e)
 
+  # starts the touch mode
+  _ontouchstart: (e) ->
+    @dragStart = mouse.getMouseCoordsScreen e.changedTouches[0]
+    @dragStartScroll = [@g.zoomer.get('_alignmentScrollLeft'), @g.zoomer.get('_alignmentScrollTop')]
+    jbone(document.body).on 'touchmove.overtmove', (e) => @_ontouchmove(e)
+    jbone(document.body).on 'touchend.overtend touchleave.overtleave
+    touchcancel.overtcanel', => @_touchCleanup()
+
   # checks whether mouse moved out of the window
   # -> terminate dragging
   _onmousewinout: (e) ->


    @throttledDraw()

    # abort selection events of the browser
    e.preventDefault()
    e.stopPropagation()


  manageEvents: ->
    events = {}
    events.mousedown = "_onmousedown"
    events.touchstart = "_ontouchstart"

    if @g.config.get "registerMouseClicks"
      events.click = "_onclick"
