<?php
$drWidth = 250;
$crWidth = 250;
$AccountCategories = $this->acc->getAccountCategories($acgroup_id);
$array = json_decode(json_encode($AccountCategories), true);
$tree = buildCategoryTree($array, false);
function buildCategoryTree($categories, $parent_id = 0, $showZero = true)
{
    $tree = array();
    foreach ($categories as $category) {
        if ($category['parent_category_id'] == $parent_id) {
            $children = buildCategoryTree($categories, $category['accategory_id'], $showZero);
            if (!empty($children)) {
                $category['children'] = $children;
            }
            if ($showZero && ($category['dr'] !== 0 || $category['cr'] !== 0)) {
                $tree[] = $category;
            } elseif (!$showZero && ($category['dr'] !== 0 && $category['cr'] !== 0)) {
                $tree[] = $category;
            }
        }
    }
    return $tree;
}
function displayCategoryTree($tree)
{
    echo '<table class="table table-bordered">';
    foreach ($tree as $category) {
        echo '<tr>';
        echo '<td class="col-1">' . $category['accategory_id'] . '</td>';
        echo '<td class="col-6"><a href="' . site_url("accounts/reports/balance_by_group") . "?category=" . $category['accategory_id'] . '">' . $category['accategory_name'] . '</a></td>';
        echo '<td class="col-2">' . myCurrency($category['dr']) . '</td>';
        echo '<td class="col-2">' . myCurrency($category['cr']) . '</td>';
        echo '</tr>';
        if (isset($category['children']) && !empty($category['children'])) {
            echo '<tr>';
            echo '<td colspan="4 ">';
            displayCategoryTree($category['children']);
            echo '</td>';
            echo '</tr>';
        }
    }
    echo '</table>';
}
?>
<style>
    .expandable {
        text-decoration: underline;
    }
  
</style>
<div class="content-wrapper">
    <div class="content">
        <div class="container-fluid">
            <?php //pre($tree); 
            ?>
            <div class="row">
                <div class="col">
                    <div class="card card-primary card-outline">
                        <div class="card-header">
                            <h5 class="m-0"><?php echo $pageTitle; ?> </h5>
                        </div>
                        <div class="card-body">
                            <input type="checkbox" name="showZero" value="true" id="showZero">
                            <label for="showZero">
                                Show Zero Balances
                            </label>
                            <?php displayCategoryTree($tree);  ?>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <script>
            function toggleSubTable(row) {
                var subTable = row.nextElementSibling;
                subTable.style.display = subTable.style.display === 'none' ? 'table-row' : 'none';
            }
        </script>
    </div>
    <!-- /.content -->