<?php
include('template.inc.php');
include_header_documents("Charts");
include_once('../include/common.inc.php');
$agenciesdb = $server->get_db('disclosr-agencies');

$idtoname = Array();
foreach ($agenciesdb->get_view("app", "byCanonicalName")->rows as $row) {
    $idtoname[$row->id] = trim($row->value->name);
}
$foidocsdb = $server->get_db('disclosr-foidocuments');

?>
<div class="foundation-header">
    <h1><a href="about.php">Charts</a></h1>
    <h4 class="subheader">Lorem ipsum.</h4>
</div>
<div id="bydate" style="width:1000px;height:300px;"></div>
<div id="byagency" style="width:1200px;height:300px;"></div>
<script id="source">
    window.onload = function () {
        $(document).ready(function () {
            var
                d1 = [],
                options1,
                o1;

            <?php
                try {
                    $rows = $foidocsdb->get_view("app", "byDateMonthYear?group=true",null, false,false,true)->rows;


                    $dataValues = Array();
                    foreach ($rows as $row) {
                        $dataValues[$row->key] = $row->value;
                    }
                    $i = 0;
                    ksort($dataValues);
                    foreach ($dataValues as $key => $value) {
            $date = date_create_from_format('Y-m-d', $key);
            if (date_format($date, 'U') != "") {
                        echo "       d1.push([".date_format($date, 'U')."000, $value]);" . PHP_EOL;
            //            echo "        emplabels.push('$key');" . PHP_EOL;
                        $i++;
            }
                    }
                } catch (SetteeRestClientException $e) {
                    setteErrorHandler($e);
                }
                ?>


            options1 = {
                xaxis: {
                    mode: 'time',
                    labelsAngle: 45
                },
                selection: {
                    mode: 'x'
                },
                HtmlText: false,
                title: 'Time'
            };

            // Draw graph with default options, overwriting with passed options
            function drawGraph(opts) {

                // Clone the options, so the 'options' variable always keeps intact.
                o1 = Flotr._.extend(Flotr._.clone(options1), opts || {});

                // Return a new graph.
                return Flotr.draw(
                    document.getElementById("bydate"),
                    [ d1 ],
                    o1
                );
            }

            graph = drawGraph();

            Flotr.EventAdapter.observe(document.getElementById("bydate"), 'flotr:select', function (area) {
                // Draw selected area
                graph = drawGraph({
                    xaxis: { min: area.x1, max: area.x2, mode: 'time', labelsAngle: 45 },
                    yaxis: { min: area.y1, max: area.y2 }
                });
            });

            // When graph is clicked, draw the graph with default area.
            Flotr.EventAdapter.observe(document.getElementById("bydate"), 'flotr:click', function () {
                graph = drawGraph();
            });

        });
    };

    var d2 = [];
    var agencylabels = [];
    function agencytrackformatter(obj) {

        return agencylabels[Math.floor(obj.x)] + " = " + obj.y;

    }
    function agencytickformatter(val, axis) {
        if (agencylabels[Math.floor(val)]) {
            return '<p style="margin-top:8em;-webkit-transform:rotate(-90deg);">' + (agencylabels[Math.floor(val)]) + "</b>";

        } else {
            return "";
        }
    }
    <?php
        try {
            $rows = $foidocsdb->get_view("app", "byAgencyID?group=true",null, false,false,true)->rows;


            $dataValues = Array();
            $i = 0;
            foreach ($rows as $row) {
                echo "       d2.push([".$i.", $row->value]);" . PHP_EOL;
                echo "       agencylabels.push(['".str_replace("'","",$idtoname[$row->key])."']);" . PHP_EOL;

                $i++;
            }
        } catch (SetteeRestClientException $e) {
            setteErrorHandler($e);
        }
        ?>
    // Draw the graph
    Flotr.draw(
        document.getElementById("byagency"),
        [d2],
        {
            bars: {
                show: true,
                horizontal: false,
                shadowSize: 0,
                barWidth: 0.5
            },
            mouse: {
                track: true,
                relative: true,
                trackFormatter: agencytrackformatter
            },
            yaxis: {
                min: 0,
                autoscaleMargin: 1
            },
            xaxis: {
                minorTickFreq: 1,
                noTicks: agencylabels.length,
                showMinorLabels: true,
                tickFormatter: agencytickformatter
            },
            legend: {
                show: false
            }
        }
    );
</script>

<?php
include_footer_documents();
?>


