     panesVerticallyNearest = allPanesBelow.filter (pane) ->
       pane.yTop() == minYTop
 
-  panesInAdjecentColumnOnLeft: ->
+  panesInAdjacentColumnOnLeft: ->
     allPanesOnLeft = @otherPanes().filter (pane) => @isRightOf(pane)
     xRightValues = _.map allPanesOnLeft, (pane) -> pane.xRight()
     maxXRight = _.max xRightValues

  constructor: (@pane, @allPanes) ->

  focusPaneAbove: ->
    @bestChoiceForVerticalNavigation(@panesInAdjecentRowAbove())?.focus()

  focusPaneBelow: ->
    @bestChoiceForVerticalNavigation(@panesInAdjecentRowBelow())?.focus()

  focusPaneOnLeft: ->
    @bestChoiceForHorizontalNavigation(@panesInAdjecentColumnOnLeft())?.focus()

  focusPaneOnRight: ->
    @bestChoiceForHorizontalNavigation(@panesInAdjecentColumnOnRight())?.focus()

  focus: ->
    @pane.focus()


  ### Internal ###

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

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

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