function xtc_show_category($counter, $oldlevel = 1)
{
    global $foo, $categories_string, $id, $cPath;
    $level = $foo[$counter]['level'] + 1;
    //BOF +++ UL LI Verschachtelung  mit Quelltext Tab Einzügen +++
    $ul = $tab = '';
    for ($i = 1; $i <= $level; $i++) {
        $tab .= "\t";
    }
    if ($level > $oldlevel) {
        //neue Unterebene
        $ul = "\n" . $tab . '<ul class="nav nav-pills nav-stacked">' . "\n";
        $categories_string = rtrim($categories_string, "\n");
        //Zeilenumbruch entfernen
        $categories_string = substr($categories_string, 0, strlen($categories_string) - 5);
        //letztes  </li>  entfernen
    } elseif ($level < $oldlevel) {
        //zurück zur höheren Ebene
        $ul = close_ul_tags($level, $oldlevel);
    }
    //EOF +++ UL LI Verschachtelung  mit Quelltext Tab Einzügen +++
    //BOF +++ Kategorien markieren +++
    $category_path = explode('_', $cPath);
    //Kategoriepfad in Array einlesen
    //Elternkategorie markieren
    $cat_active_parent = '';
    $in_path = in_array($counter, $category_path);
    //Testen, ob aktuelle Kategorie ID im Kategoriepfad enthalten ist
    if ($in_path) {
        $cat_active_parent = " activeparent" . $level;
    }
    //Aktive Kategorie markieren
    $cat_active = '';
    $this_category = array_pop($category_path);
    //Letzter Eintrag im Array ist die aktuelle Kategorie
    if ($this_category == $counter) {
        $cat_active = " active" . $level;
    }
    //EOF +++ Kategorien markieren +++
    //BOF +++ Kategorie Linkerstellung +++
    $cPath_new = xtc_category_link($counter, $foo[$counter]['name']);
    if (trim($categories_string == '')) {
        $categories_string = "\n";
    }
    //Zeilenschaltung Codedarstellung
    $categories_string .= $ul;
    //UL LI Versschachtelung
    $categories_string .= $tab;
    //Tabulator Codedarstellung
    $categories_string .= '<li class="level' . $level . $cat_active . $cat_active_parent . '">';
    $categories_string .= '<a href="' . xtc_href_link(FILENAME_DEFAULT, $cPath_new) . '" title="' . $foo[$counter]['name'] . '">';
    $categories_string .= '<h3 class="h6">' . $foo[$counter]['name'] . '</h3>';
    //Anzeige Anzahl der Produkte in Kategorie, für bessere Performance im Admin deaktivieren
    if (SHOW_COUNTS == 'true') {
        $products_in_category = xtc_count_products_in_category($counter);
        if ($products_in_category > 0) {
            $categories_string .= '&nbsp;(' . $products_in_category . ')';
        }
    }
    $categories_string .= '</a></li>';
    $categories_string .= "\n";
    //Zeilenschaltung Codedarstellung
    //EOF  +++ Kategorie Linkerstellung +++
    //Nächste Kategorie
    if ($foo[$counter]['next_id']) {
        xtc_show_category($foo[$counter]['next_id'], $level);
    } else {
        if ($level > 1) {
            $categories_string .= close_ul_tags(1, $level);
        }
        return;
    }
}
                }
                //BOF - DokuMan - 2010-09-21 - fixed undefined index 2
                //$foo[$last_id]['next_id'] = $foo[$value]['next_id'];
                $foo[$last_id]['next_id'] = isset($foo[$value]['next_id']) ? $foo[$value]['next_id'] : 0;
                //EOF - DokuMan - 2010-09-21 - fixed undefined index 2
                $foo[$value]['next_id'] = $first_id;
                $new_path .= '_';
            } else {
                break;
            }
        }
    }
    //BOF - DokuMan - 2011-01-21 - Fix a notice when there is no category
    //xtc_show_category($first_element);
    if (!empty($first_element)) {
        xtc_show_category($first_element);
    }
    //BOF - DokuMan - 2011-01-21 - Fix a notice when there is no category
    $box_smarty->assign('BOX_CONTENT', $categories_string);
    //DokuMan - 2010-03-02 - BOX_CONTENT on wrong position
}
// set cache ID
//BOF - DokuMan - 2010-02-28 - fix Smarty cache error on unlink
/*
if (!$cache || $rebuild) {
  $box_smarty->assign('BOX_CONTENT', $categories_string);
  if ($rebuild) $box_smarty->clear_cache(CURRENT_TEMPLATE.'/boxes/box_categories.html', $cache_id);
  $box_categories = $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/box_categories.html',$cache_id);
} else {
  $box_categories = $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/box_categories.html', $cache_id);
}