{{- $currentNode := . -}}
{{- $menuItemL6  := $.Scratch.Get "menu.Item.L6" -}}
{{- $menuItemL5  := $.Scratch.Get "menu.Item.L5" -}}
{{- $menuItemL4  := $.Scratch.Get "menu.Item.L4" -}}
{{- $menuItemL3  := $.Scratch.Get "menu.Item.L3" -}}
{{- $menuItemL2  := $.Scratch.Get "menu.Item.L2" -}}
{{- $menuItemL1  := $.Scratch.Get "menu.Item.L1" -}}
{{- $menuItem    := $.Scratch.Get "menu.Item" -}}

{{- if $currentNode.IsMenuCurrent "main" $menuItem -}}
  {{- $.Scratch.Set "menu.Found" true -}}
  {{- $.Scratch.Set "menu.Item.L6" false -}}
  {{- $.Scratch.Set "menu.Item.L5" false -}}
  {{- $.Scratch.Set "menu.Item.L4" false -}}
  {{- $.Scratch.Set "menu.Item.L3" false -}}
  {{- $.Scratch.Set "menu.Item.L2" false -}}
  {{- $.Scratch.Set "menu.Item.L1" false -}}
  {{- $.Scratch.Set "menu.Item.L0" $menuItem -}}

  {{- if $menuItemL1 -}}
    {{- if eq $menuItemL1.Identifier $menuItem.Parent -}}
    {{- $.Scratch.Set "menu.Item.L1" $menuItemL1 -}}
    {{- if $menuItemL2 -}}
      {{- if eq $menuItemL2.Identifier $menuItemL1.Parent -}}
      {{- $.Scratch.Set "menu.Item.L2" $menuItemL2 -}}
      {{- if $menuItemL3 -}}
        {{- if eq $menuItemL3.Identifier $menuItemL2.Parent -}}
        {{- $.Scratch.Set "menu.Item.L3" $menuItemL3 -}}
        {{- if $menuItemL4 -}}
          {{- if eq $menuItemL4.Identifier $menuItemL3.Parent -}}
          {{- $.Scratch.Set "menu.Item.L4" $menuItemL4 -}}
          {{- if $menuItemL5 -}}
            {{- if eq $menuItemL5.Identifier $menuItemL4.Parent -}}
            {{- $.Scratch.Set "menu.Item.L5" $menuItemL5 -}}
            {{- if $menuItemL6 -}}
              {{- if eq $menuItemL6.Identifier $menuItemL5.Parent -}}
              {{- $.Scratch.Set "menu.Item.L6" $menuItemL6 -}}
            {{- end -}}
            {{- end -}}
          {{- end -}}
          {{- end -}}
        {{- end -}}
        {{- end -}}
      {{- end -}}
      {{- end -}}
    {{- end -}}
    {{- end -}}
  {{- end -}}
  {{- end -}}
{{- else -}}
  {{- if $menuItem.HasChildren -}}
    {{- $found := $.Scratch.Get "menu.Found" -}}
    {{- range $menuItem.Children -}}
      {{- $.Scratch.Set "menu.Item" . -}}
      {{- if eq ($.Scratch.Get "menu.Found") false -}}
        {{- $.Scratch.Set "menu.Item.L6" $menuItemL5 -}}
        {{- $.Scratch.Set "menu.Item.L5" $menuItemL4 -}}
        {{- $.Scratch.Set "menu.Item.L4" $menuItemL3 -}}
        {{- $.Scratch.Set "menu.Item.L3" $menuItemL2 -}}
        {{- $.Scratch.Set "menu.Item.L2" $menuItemL1 -}}
        {{- $.Scratch.Set "menu.Item.L1" $menuItem -}}
        {{- $.Scratch.Set "menu.Item" . -}}
        {{- partial "menu/currentItem.html" $currentNode -}}
        {{- if eq ($.Scratch.Get "menu.Found") false -}}
          {{- $.Scratch.Set "menu.Prev" . -}}
        {{- end -}}
      {{- else if and (eq $found false) (eq ($.Scratch.Get "menu.Next") false) -}}
        {{- $.Scratch.Set "menu.Next" . -}}
      {{- end -}}
    {{- end -}}
    {{- if eq ($.Scratch.Get "menu.Found") false -}}
      {{- $.Scratch.Set "menu.Prev" false -}}
    {{- end -}}
  {{- end -}}
{{- end -}}
