%# BEGIN BPS TAGGED BLOCK {{{
%# 
%# COPYRIGHT:
%# 
%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
%#                                          <jesse@bestpractical.com>
%# 
%# (Except where explicitly superseded by other copyright notices)
%# 
%# 
%# LICENSE:
%# 
%# This work is made available to you under the terms of Version 2 of
%# the GNU General Public License. A copy of that license should have
%# been provided with this software, but in any event can be snarfed
%# from www.gnu.org.
%# 
%# This work is distributed in the hope that it will be useful, but
%# WITHOUT ANY WARRANTY; without even the implied warranty of
%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
%# General Public License for more details.
%# 
%# You should have received a copy of the GNU General Public License
%# along with this program; if not, write to the Free Software
%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
%# 02110-1301 or visit their web page on the internet at
%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
%# 
%# 
%# CONTRIBUTION SUBMISSION POLICY:
%# 
%# (The following paragraph is not intended to limit the rights granted
%# to you to modify and distribute this software under the terms of
%# the GNU General Public License and is only of importance to you if
%# you choose to contribute your changes and enhancements to the
%# community by submitting them to Best Practical Solutions, LLC.)
%# 
%# By intentionally submitting any modifications, corrections or
%# derivatives to this work, or any other work intended for use with
%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
%# you are the copyright holder for those contributions and you grant
%# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
%# royalty-free, perpetual, license to use, copy, create derivative
%# works based on those contributions, and sublicense and distribute
%# those contributions and any derivatives thereof.
%# 
%# END BPS TAGGED BLOCK }}}
<ul<% !$level ? ' id="system-menu"' : ''|n %><% $menu_class ? qq[ class="$menu_class"] : ''|n %>>
<div<% $menu_class ? qq[ class="$menu_class"] : ''|n %>><div class="wrapper">
<%perl>
 my $sep         = 0;
 my $postsep     = 0;
 my $accesskey   = 1;
 
 $count = 0;
 $class = {};

my @tabs = sort keys %$toptabs;
 foreach $tab (@tabs) {
     $count++;

     my $current = $current_toptab || '';
     my $path    = $toptabs->{$tab}->{'path'} || "";
     
     $path    =~ s#/index.html$##gi;
     $current =~ s#/index.html$##gi;
     
     $sep     = $toptabs->{$tab}->{'separator'} ? 1 : 0;

     my @aclass;
     push @aclass, 'selected'
            if $path eq $current;

     push @aclass, 'odd'
            if $level % 2;

     $class->{a} = join ' ', @aclass;

     my @li;
     push @li, 'first'
            if $count == 1;

     push @li, 'pre-separator'
            if $sep;

     push @li, 'post-separator'
            if $postsep;

     push @li, 'last' if ( $tab eq $tabs[-1]);
     $class->{li} = join ' ', @li;

     my $url = ($toptabs->{$tab}->{'path'}||'') =~ /^(?:https?|mailto):/i
         ? $toptabs->{$tab}->{'path'} || ''
         : RT->Config->Get('WebPath') . "/" . $toptabs->{$tab}->{'path'};
     
</%perl>
    <li<% $class->{'li'} ? qq[ class="$class->{li}"] : ''|n %> >
    <% $count > 1 && !$postsep && qq[<span class="bullet">&#183; </span>]|n%>
    <a href="<% $url %>"
      <% $class->{a} && qq[ class="$class->{a}"] |n %>
      <% !$level && " accesskey='".$accesskey++."'" |n %>>
    <% $toptabs->{$tab}->{'title'}%></a>

%# Second-level items
%     if ($toptabs->{$tab}->{'subtabs'}
%         and keys %{$toptabs->{$tab}->{'subtabs'}})
%     {
          <& /Elements/Menu, level => $level+1, 
                             current_toptab => $toptabs->{$tab}->{'current_subtab'},
                             toptabs => $toptabs->{$tab}->{'subtabs'},
                             last_level => $toptabs->{$tab}->{last_system_menu_level} &>
%     }
  </li>
%     if ($sep) {
  <li class="separator">&#183;&#183;&#183;</li>
%     }
%
%     $postsep = $sep;
% }
</div></div>
</ul>

<%INIT>
my ($tab, $class, $count);

my @ul;
push @ul, 'last-menu-level'
    if $last_level;
push @ul, 'odd'
    if $level % 2;
my $menu_class = join ' ', @ul;
</%INIT>

<%ARGS>
$toptabs => {}
$current_toptab => ''
$level => 0
$last_level => 0
</%ARGS>
