<?php
    require_once("../config.php");
    require_once("../lib/attributes.php");
    require_once("functions.php");
    $numLand=5; // NRW
    $numRegbez=(isset($_GET['regbez'])) ? (int)$_GET['regbez'] : 1;
    $numKreis=(isset($_GET['kreis'])) ? (int)$_GET['kreis'] : 1;
    $numGemeinde=(isset($_GET['gemeinde'])) ? (int)$_GET['gemeinde'] : 1;
    $numJahr=$numLatestYear;

    // Name, Population und Fläche der Gemeinde
    $result= $db->prepare("SELECT * FROM community WHERE ULAND=:land AND UREGBEZ=:regbez AND UKREIS=:kreis AND UGEMEINDE=:gemeinde");
    $result->bindParam(":land",$numLand);
    $result->bindParam(":regbez",$numRegbez);
    $result->bindParam(":kreis",$numKreis);
    $result->bindParam(":gemeinde",$numGemeinde);
    $result->execute();
    if ($row = $result->fetch(PDO::FETCH_ASSOC)) {
        $strName=$row['Name'];
        $numFlaeche=$row['Flaeche'];
        $numPopulation=$row['Einwohner'];
        $numRegbez=$row['UREGBEZ'];
        $numKreis=$row['UKREIS'];
        $numGemeinde=$row['UGEMEINDE'];
    } else {exit;}

    $strLocation=" AND ULAND=$numLand AND UREGBEZ=$numRegbez AND UKREIS=$numKreis AND UGEMEINDE=$numGemeinde ";
    $resultUnfallzahlen = get_unfallzahlen($numJahr,$strLocation);
    $resultUnfallart = get_unfallart($numJahr,$strLocation);
    $resultUnfalltyp = get_unfalltyp($numJahr,$strLocation);
    $resultBeteiligte = get_beteiligte($numJahr,$strLocation);
    $resultVerlauf = get_verlauf($strLocation);
    $numGesamt=0;

?>
<!DOCTYPE html>
<html lang="de">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Fahrrad-Unfallstatistik NRW</title>
        <link rel="stylesheet" href="../css/bootstrap.min.css"/>
        <script src="../js/jquery.min.js"></script>
        <script src="../js/bootstrap.min.js"></script>
        <script src="../js/highcharts.js"></script>
        <style>
            .rechts {text-align:right;background-color:#eee;}
            .l {border-left: 1px solid black; }
        </style>
    </head>
    <body>
   
    <?php include("navbar.php"); ?>

   
    <div class="container" style="margin-top:4em;">  
   <h1>Fahrradunfälle in <?=$strName?></h2>
   <p>Einwohnerzahl: <?=$numPopulation?>&nbsp;&nbsp;  Fläche: <?=$numFlaeche?> km<sup>2</sup></p>

   <!-- Unfallverlauf -->
   <div class="row">
        <div class="col-5">
            <h4>Unfallverlauf von  <?=$numLatestYear?> bis <?=$numStartYear?></h4>
            <table class='table table-sm'>
                <tr><th></th><th>2022</th><th>2021</th><th>2020</th><th>2019</th></tr>
                <tr><td><?= $arrCategory[1]?></td><?= get_row($resultVerlauf,1) ?></tr>
                <tr><td><?= $arrCategory[2]?></td><?= get_row($resultVerlauf,2) ?></tr>
                <tr><td><?= $arrCategory[3]?></td><?= get_row($resultVerlauf,3) ?></tr>
                <tr><th>Gesamt</th><?= get_row($resultVerlauf,0) ?></tr>
            </table> 
        </div>
        <div class="col-7">
            <div id="c_unfallverlauf"></div>
        </div>
    </div>

   <!-- Unfallzahlen        -->
    <div class="row">
        <div class="col-5">  
            <h4>Unfallzahlen <?=$numJahr?></h4>
            <table class="table table-sm">
                <?php
                 //DEBUG echo "<pre>"; print_r($resultUnfallzahlen);echo "</pre>";
                    $numGesamt=0;
                    foreach ($resultUnfallzahlen as $row) {  
                        echo "<tr><td>".$arrCategory[$row['UKATEGORIE']]."</td><td>".$row['anz']."</td></tr>\n";
                        $numGesamt+=$row['anz']; 
                    }
                    ?>
                    <tr><th>Gesamt</th><td><strong><?=$numGesamt?></strong></td></tr>
                </table>
                <table class="table table-sm">
                    <tr><th>Quote pro Tausend Einwohner</th><td><?= round($numGesamt/$numPopulation*1000,2) ?></td></tr>
                    <tr><th>Quote pro Fläche</th><td><?= round($numGesamt/$numFlaeche,1) ?> /km<sup>2</sup></td></tr>
                </table>
        </div>
        <div class="col-7">
            <div id="c_unfallzahlen"></div>
        </div>
    </div>

    <!-- Unfallbeteilgte -->
    <div class="row">
        <div class="col-5">
            <h4>Unfallbeteiligte</h4>
            <table class='table table-sm'>
                <?php
                  // DEBUG: echo "<pre>"; print_r($resultBeteiligte);echo "</pre>";
                  foreach ($resultBeteiligte as $key => $numCount) {  
                     echo "<tr><td>".$arrBeteiligte[$key]."</td><td>".$numCount."</td></tr>\n"; 
                }
                ?>
            </table> 
        </div>
        <div class="col-7">
            <div id="c_unfallbeteiligte"></div>
        </div>
    </div>

    <!-- Unfalltyp -->
    <div class="row">
        <div class="col-5">
            <h4>Unfalltyp</h4>
            <table class='table table-sm'>
            <?php
                foreach ($resultUnfalltyp as $row) {  
                    echo "<tr><td>".$arrUnfalltyp[$row['UTYP1']]."</td><td>".$row['anz']."</td></tr>\n"; 
                }
            ?>
            </table>
        </div>
        <div class="col-7">
            <div id="c_unfalltyp"></div>
        </div>
    </div>

    <!-- Unfallarten  -->
    <div class="row">
        <div class="col-5">
            <h4>Unfallart</h4>
            <table class='table table-sm'>
            <?php
                foreach ($resultUnfallart as $row) {  
                   echo "<tr><td>".$arrUnfallart[$row['UART']]."</td><td>".$row['anz']."</td></tr>\n";
                }
            ?>  
            </table>     
        </div>
        <div class="col-7">
            <div id="c_unfallarten"></div>
        </div>
    </div>
</div>
</body>
<script>

Highcharts.chart('c_unfallzahlen', {
    chart: {
        plotBackgroundColor: null,
        plotBorderWidth: null,
        plotShadow: false,
        type: 'pie'
    },
    title: {
        text: 'Unfallzahlen',
        align: 'center'
    },
    tooltip: {
        pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
    },
    accessibility: {
        point: {
            valueSuffix: '%'
        }
    },
    plotOptions: {
        pie: {
            allowPointSelect: true,
            cursor: 'pointer',
            dataLabels: {
                enabled: true,
                format: '<b>{point.name}</b>: {point.percentage:.1f} %'
            }
        }
    },
    series: [{
        name: 'Unfallzahlen',
        colorByPoint: true,
        data: <?= get_series($resultUnfallzahlen,$arrCategory,"UKATEGORIE") ?>
    }]
});


Highcharts.chart('c_unfallarten', {
    chart: {
        plotBackgroundColor: null,
        plotBorderWidth: null,
        plotShadow: false,
        type: 'pie'
    },
    title: {
        text: 'Unfallarten',
        align: 'center'
    },
    tooltip: {
        pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
    },
    accessibility: {
        point: {
            valueSuffix: '%'
        }
    },
    plotOptions: {
        pie: {
            allowPointSelect: true,
            cursor: 'pointer',
            dataLabels: {
                enabled: true,
                format: '<b>{point.name}</b>: {point.percentage:.1f} %'
            }
        }
    },
    series: [{
        name: 'Unfallarten',
        colorByPoint: true,
        data: <?= get_series($resultUnfallart,$arrUnfallart,"UART") ?>
    }]
});


Highcharts.chart('c_unfalltyp', {
    chart: {
        plotBackgroundColor: null,
        plotBorderWidth: null,
        plotShadow: false,
        type: 'pie'
    },
    title: {
        text: 'Unfalltypen',
        align: 'center'
    },
    tooltip: {
        pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
    },
    accessibility: {
        point: {
            valueSuffix: '%'
        }
    },
    plotOptions: {
        pie: {
            allowPointSelect: true,
            cursor: 'pointer',
            dataLabels: {
                enabled: true,
                format: '<b>{point.name}</b>: {point.percentage:.1f} %'
            }
        }
    },
    series: [{
        name: 'Unfallarten',
        colorByPoint: true,
        data: <?= get_series($resultUnfalltyp,$arrUnfalltyp,"UTYP1") ?>
    }]
});

Highcharts.chart('c_unfallbeteiligte', {
    chart: {
        plotBackgroundColor: null,
        plotBorderWidth: null,
        plotShadow: false,
        type: 'pie'
    },
    title: {
        text: 'Unfallbeteiligte',
        align: 'center'
    },
    tooltip: {
        pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
    },
    accessibility: {
        point: {
            valueSuffix: '%'
        }
    },
    plotOptions: {
        pie: {
            allowPointSelect: true,
            cursor: 'pointer',
            dataLabels: {
                enabled: true,
                format: '<b>{point.name}</b>: {point.percentage:.1f} %'
            }
        }
    },
    series: [{
        name: 'Unfallarten',
        colorByPoint: true,
        data: <?= get_series_beteiligte($resultBeteiligte,$arrBeteiligte) ?>
    }]
});

Highcharts.chart('c_unfallverlauf', {
    chart: {
        type: 'column'
    },
    title: {
        text: 'Verlauf der Fahrradunfälle',
        align: 'center'
    },
    xAxis: {
        categories: ['2022','2021','2020','2019']
    },
    yAxis: {
        min: 0,
        title: {
            text: 'Jahr'
        },
        stackLabels: {
            enabled: true
        }
    },
    legend: {
        align: 'left',
        x: 400,
        verticalAlign: 'top',
        y: 30,
        floating: true,
        backgroundColor:
            Highcharts.defaultOptions.legend.backgroundColor || 'white',
        borderColor: '#CCC',
        borderWidth: 1,
        shadow: false
    },
    tooltip: {
        headerFormat: '<b>{point.x}</b><br/>',
        pointFormat: '{series.name}: {point.y}<br/>Total: {point.stackTotal}'
    },
    plotOptions: {
        column: {
            stacking: 'normal',
            dataLabels: {
                enabled: true
            }
        }
    },
    series: <?=get_series_verlauf($resultVerlauf,$arrCategory)?>
});
</script>
</html>