     @mainMenu = document.querySelector @mainMenu if typeof @mainMenu is "string"
 
     @detectUserAgent()
-    
+
     @transitionAnimation = false if @os.android and @os.version <= '2.1'
 
     @hideUrlBar() if options.hideUrlbar
 
-    document.body.addEventListener('touchstart', @handleEvents, false)
-    document.body.addEventListener('mousedown', @handleEvents, false)
+    if @isTouch()
+      document.body.addEventListener 'touchstart', @handleEvents, false
+    else
+      document.body.addEventListener 'mousedown', @handleEvents, false
+
+  # Private: Is the device touch enabled.
+  #
+  # Returns True if the device is touch enabled, else False.
+  isTouch: =>
+    if @os.android
+      !!('ontouchstart' of window)
+    else
+      window.Touch?
 
   # Public: Go to a specific page.
   #

    window.setTimeout =>
      if @transitionAnimation
        switch transitionType
          when "slide" then @slide(targetPage, currentPage)
          when "slideUp" then @slideUp(targetPage, currentPage)
      else
        @displayPage(targetPage, currentPage)
        
    , 10

  # Private: Perform a slide transition.

  #
  # Returns nothing.
  closeMenu: ->
    @mainMenu.style.display = "none"
    @menuOpen = false

  # Private: Translate page on a specified axis.
