<?php
/**
 * @author Kanstantsin A Kamkou (2ka.by)
 * History:
 *  - 21.08.2012 Bootstrap 2.1.0 corrections
 */

if( !function_exists( 'renderSubMenuVertical' ) )
{
    function renderSubMenuVertical( $pages, $view, $level=0 ){
        $html = '';

        foreach ($pages as $page) {
            // Continue if invisible on ACL check false
            if (!$page->isVisible() || !$view->navigation()->accept($page)) continue;

            $maxDepth = $view->navigation()->menu()->getMaxDepth();
            $sub = null;
            if( $level < $maxDepth ){

                if($submenu = renderSubMenuVertical( $page->pages, $view, ($level+1) )){
                    $sub = '<ul>'.$submenu.'</ul>';
                }
            }


            $hasChildren = !empty($sub);


            $liclass = '';
            $aclass = $page->getClass();
            $aattr = '';

            if( $hasChildren ) {
                $liclass .= '';
                $aclass  .= '';
                $aattr .= 'id="'.$page->ref.'"';
            }
            if($page->isActive() ){
                $liclass .= ' active';
                //$page->setActive();
            }
            elseif( $_SERVER['REQUEST_URI']  == $page->getHref() ) {
                //check home page et link to home
                $liclass .= ' active';
                //$page->setActive();
            }
            if( $page->isActive() ){
                $parent = $page->getParent();
                if( $parent){
                    $parent->setActive();
                    $parent->setClass( $parent->getClass().' parentactive') ;
                }
            }


            // header
            $html .= '<li' . (!empty($liclass) ? ' class="'.$liclass.'"' : '') . '>';

            $html .= '<a '. (!empty($aclass) ? ' class="'.$aclass.'"' : '') .' '.$aattr.' href="' .  $page->getHref() . '">';
            $html .= $view->translate($page->getLabel());



            if( $hasChildren){
                $html .= '</a>';
                $html .= $sub;
            }else{
                $html .= '</a>';
            }
            $html .= '</li>';
        }

        return $html;
    }
}


$maxDepth = $this->navigation()->menu()->getMaxDepth();

$view = $this;
$str = '<ul class="subnav '.$this->navigation()->menu()->getUlClass().'">';

$str .= renderSubMenuVertical($this->container, $this);

$str .= '</ul>';

echo $str;