<?php
    
    require("config.php");    
    require_once("lib/functions.php");

    $strIntro ="<h4>".$strTitle."</h4>";
    $strIntro .= nl2br2($strIntroText);
    
    $numVehicle = (isset($_GET['v'])) ? (int) $_GET['v'] : 1;
    
    switch ($numVehicle) {
        case 1: 
        case 0: 
            $strWhere ="IstRad = 1";
            $topic=2;
            break;
        case 2: 
            $strWhere = "IstPKW = 1";
            $topic=4;
            break;
        case 3:
            $strWhere = "IstFuss = 1";
            $topic=1;
            break;
        case 4: 
            $strWhere = "IstKrad = 1";
            $topic=0;
            break;
        case 5: 
            $strWhere = "IstGkfz = 1";
            $topic=5;
            break;
        case 6: 
            $strWhere = "IstSonstige = 1";
            $topic=3;
            break;
        default: $strWhere ="IstRad = 1";
                 $topic=2;
    }

    $strSQL="SELECT * FROM Unfallorte2019_Hamm WHERE ".$strWhere;

        
    $result = $db->query($strSQL);
    $arrMarker = array();
    $arrDescription = array();
    $description="";
    while ($row = $result->fetchArray()) {
        //print_r($row);echo "<hr>";
        $id = $row[0];
        $numLng = $row['XGCSWGS84'];
        $numLat = $row['YGCSWGS84'];
        if ($row['IstRad']) $description .="mit Fahrradbeteiligung, ";
        if ($row['IstPKW']) $description .="mit PKW-Beteiligung, ";
        if ($row['IstFuss']) $description .="mit Fußgängerbeteiligung, ";
        if ($row['IstKrad']) $description .="mit Kraftradbeteiligung, ";
        if ($row['IstGkfz']) $description .="mit Güterkraftzeugbeteiligung, ";
        if ($row['IstSonstige']) $description .="mit Beteiligung eines oben nicht genannten Verkehrsmittels";


        $strDescription=generate_tooltip_description($row);
        
        $arrMarker[]="marker[".$id."] = [L.marker([".$numLat."," .$numLng."],"
                     ." { icon: ".$arrMarkerType[$topic]." }),'check_".$topic."'];\n"
                     ."marker[".$id."][0].addTo(mymap);\n "
                     ."marker[".$id."][0].bindPopup('".$strDescription."');";
    }
    $markerid=$id+1;
/*
 marker[val.id] = [L.marker([val.lat, val.lng], { "icon": L.MakiMarkers.icon({ "color": color, "size": "m", "icon": "circle" }) }).bindPopup(html), val.membertype];
            marker[val.id][0].addTo(map);
*/
?>
<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <script src="js/jquery.min.js"></script>
    <script src="js/leaflet.js"></script>
    <script src="js/leaflet.ajax.js"></script>
    <script src="js/leaflet.awesome-markers.js"></script>
    <script src="js/leaflet.snogylop.js"></script>

    <link rel="stylesheet" href="css/font-awesome.min.css">
    <link rel="stylesheet" href="css/bootstrap.min.css" />
    <link rel="stylesheet" href="css/leaflet.css" />
    <link rel="stylesheet" href="css/leaflet.awesome-markers.css" />
    <link rel="stylesheet" href="css/style.css" />
    <title><?= $strTitle ?></title>
</head>

<body>

  <!--  Navbar -->
  <nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
        <a class="navbar-brand" href="#"><?= $strTitle ?></a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbars" aria-controls="navbars" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>
        <div class="collapse navbar-collapse" id="navbars">
       
            <ul class="navbar-nav mr-auto">
               
    <?php foreach ($arrVehicles as $key => $strVehicle): 
         $strActive =  ($numVehicle==$key) ? "active" : ""
    ?>
                
                <li class="nav-item <?=$strActive?>">
                    <a class="nav-link" href="index.php?v=<?=$key?>"><?=$strVehicle?>
                    <span class="sr-only">(current)</span> </a>
     <?php endforeach; ?>

            </ul>
            
           <div>
            <ul class="navbar-nav mr-auto right">
                <li class="nav-item">
                    <a class="nav-link" href="impressum.php">Impressum</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="datenschutz.php">Datenschutzerklärung</a>
                </li>
            </ul>
        </div>
</div>
    </nav>
    <!-- Ende Navbar -->

    <div class="container-fluid" style="margin-top: 4em;">
        <div class="row">

            <nav class="col-md-2 d-none d-md-block bg-light sidebar">
                <div class="sidebar-sticky">
                    
                    <h2>Unfälle mit  <?= $arrVehicles_pl[$numVehicle]; ?> </h2>
                    <ul class="nav flex-column">
                       <?php echo get_statistics($numVehicle,$strWhere); ?>
                    </ul>

                </div>
            </nav>

            <main role="main" class="col-md-9 ml-sm-auto col-lg-10 px-1">
                <div id="mapid"></div>
            </main>

        </div>
        <!-- row -->
    </div>
    <!-- container-fluid -->
  

   <div id="loader"><img src="css/images/ajax-loader.gif"></div>
    <script>


    // Map ---------------------------------------------------------------------- 

    var mymap = L.map('mapid').setView([<?=$numInfoLat ?>, <?=$numInfoLng ?>], <?=$numZoom ?>);

    var mapLink = '<a href="http://openstreetmap.org">OpenStreetMap</a>';
   // ocmlink = '<a href="http://thunderforest.com/">Thunderforest</a>'; 
    var ocmLink = '<a href="https://www.mapbox.com/">Mapbox</a>';
        
    L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', {
        maxZoom: 18,
        minZoom:<?=$numZoom ?>,
        attribution: 'Map data &copy; '+ mapLink +' contributors, ' +
            '<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
            'Imagery © ' + ocmLink,
        //id: 'mapbox/streets-v11',
        id: 'mapbox/outdoors-v11',
        tileSize: 512,
        zoomOffset: -1
        }).addTo(mymap);

    //  markerIcons  ------------------------------------------------------------------------------

    var infoMarker    = L.AwesomeMarkers.icon({icon: 'info', prefix: 'fa', markerColor: 'orange'});
    var bicycleMarker = L.AwesomeMarkers.icon({icon: 'bicycle', prefix: 'fa', markerColor: 'red'});
    var carMarker     = L.AwesomeMarkers.icon({icon: 'car', prefix: 'fa', markerColor: 'red'});
    var truckMarker   = L.AwesomeMarkers.icon({icon: 'truck', prefix: 'fa', markerColor: 'beige'});
    var trainMarker   = L.AwesomeMarkers.icon({icon: 'bus', prefix: 'fa', markerColor: 'blue'});
    var pedestrianMarker = L.AwesomeMarkers.icon({icon: 'male', prefix: 'fa', markerColor: 'darkblue'});

    function getMarker(topic) {
        var arrMarker = [];
        <?php
          foreach ($arrMarkerType as $key => $value) {
            echo "arrMarker[".$key."]=".$value.";\n";
          } 
        ?>
        return arrMarker[topic];
    }

    //Hamm-Layer - todo invers area ---------------------------------------

    var myStyle = {
        "color": "grey",
        "fillColor": "lightblue",
        "weight": 4,
        "opacity": 0.6
    };

    var hammLayer = new L.GeoJSON.AJAX(["<?= $fileGeojson ?>"], {  
        style: myStyle,
        invert: true
    });
    hammLayer.addTo(mymap);
    
    // Marker from database  -------------------------------------------------------

    var marker = [];
    var arrDescription = [];
    
    <?php
        foreach ($arrMarker as $idx=>$strMarker) {
            echo $strMarker."\n";
        }
        echo "var marker_max=".$markerid."\n";
    ?>

    // Info-Marker für Start --------------------------------------------------------

    var marker2 = L.marker([<?=$numInfoLat?>, <?=$numInfoLng?>], { icon: infoMarker }).addTo(mymap);
    
    
    <?php
        echo "marker2.bindPopup('".$strIntro."');";
        if ($numVehicle==0) {
            echo "marker2.openPopup();";
        }
    ?>



    // Hide and show marker form checkbox  ----------------------------------------

    $('.check').click(function() {
        bereich = this.name;
        if (jQuery(this).prop("checked")) {
            jQuery.each(marker, function(key, value) {
                if (value) {
                    if (value[1] == bereich) { value[0].addTo(mymap); }
                }
            });
        } else {
            jQuery.each(marker, function(key, value) {
                if (value) {
                    if (value[1] == bereich) { value[0].remove(); }
                }
            });
        }
    })

   
    
   

    </script>
</body>
</html>