   constructor: (@pane, @allPanes) ->
 
   focusPaneAbove: ->
-    @bestChoiceForVerticalNavigation(@panesInAdjecentRowAbove())?.focus()
+    @bestChoiceForVerticalNavigation(@panesInAdjacentRowAbove())?.focus()
 
   focusPaneBelow: ->
-    @bestChoiceForVerticalNavigation(@panesInAdjecentRowBelow())?.focus()
+    @bestChoiceForVerticalNavigation(@panesInAdjacentRowBelow())?.focus()
 
   focusPaneOnLeft: ->
-    @bestChoiceForHorizontalNavigation(@panesInAdjecentColumnOnLeft())?.focus()
+    @bestChoiceForHorizontalNavigation(@panesInAdjacentColumnOnLeft())?.focus()
 
   focusPaneOnRight: ->
-    @bestChoiceForHorizontalNavigation(@panesInAdjecentColumnOnRight())?.focus()
+    @bestChoiceForHorizontalNavigation(@panesInAdjacentColumnOnRight())?.focus()
 
   focus: ->
     @pane.focus()


  ### Internal ###

  panesInAdjecentRowAbove: ->
    allPanesAbove = @otherPanes().filter (pane) => @isBelow(pane)
    yBottomValues = _.map allPanesAbove, (pane) -> pane.yBottom()
    maxYBottom = _.max yBottomValues
    panesVerticallyNearest = allPanesAbove.filter (pane) ->
      pane.yBottom() == maxYBottom

  panesInAdjecentRowBelow: ->
    allPanesBelow = @otherPanes().filter (pane) => @isAbove(pane)

    yTopValues = _.map allPanesBelow, (pane) -> pane.yTop()

    panesVerticallyNearest = allPanesBelow.filter (pane) ->
      pane.yTop() == minYTop

  panesInAdjacentColumnOnLeft: ->
    allPanesOnLeft = @otherPanes().filter (pane) => @isRightOf(pane)
    xRightValues = _.map allPanesOnLeft, (pane) -> pane.xRight()
    maxXRight = _.max xRightValues
