var ll_map;
var ll_geoXmlTrack;
var ll_geoXmlFixes;
var ll_toggleState = 1;
var ll_fixesVisible = 0;
var ll_fixZoomLevel = 8;
var ll_trackOverlay = "none"
var ll_kmlSetNo = "0"
var ll_acId = "none";
var ll_initialMapCenter = "49.960833,8.641555";
var ll_CVRHash = "";
var ll_infoBlubb;
function ll_initialize() { //console.log("ll_initialize");
// TEMP!!
//return;
var ll_goCheck = document.getElementById("ll_acId");
if ( ll_goCheck == null ) { //console.log("ll_nada!");
return;
}
ll_acId = document.getElementById("ll_acId").value; //console.log("acId: " + ll_acId);
ll_initialMapCenter = document.getElementById("ll_initialMapCenter").value; //console.log(ll_initialMapCenter);
ll_trackOverlay = document.getElementById("ll_initialTrackOverlay").value; //console.log(ll_trackOverlay);
ll_kmlSetNo = ""; //document.getElementById("ll_initialKmlSetNo").value; //console.log(ll_kmlSetNo);
ll_map = L.map('ll_map_canvas').setView([50,8.5], 4);
L.tileLayer('https://www.pilotundflugzeug.de/tiles/otm/{z}/{x}/{y}.png',{maxZoom:17}).addTo(ll_map);
ll_map.on('zoomend', function() { console.log("New Zoom: " + ll_map.getZoom() + " / " + ll_fixesVisible);
if ( ll_map.getZoom() > ll_fixZoomLevel && ll_fixesVisible == 0 ) {
ll_map.addLayer(ll_geoXmlFixes);
setTimeout('ll_updateFixesDisplayRelaod();',2000); // Weired workaround, but if we don't do this the fix positions will be off
ll_fixesVisible = 1;
}
if ( ll_map.getZoom() <= ll_fixZoomLevel && ll_fixesVisible == 1 ) {
ll_map.removeLayer(ll_geoXmlFixes);
ll_fixesVisible = 0;
}
zoom = ll_map.getZoom();
});
jQuery('span.ll_mapLegend').load("/servlet/use/Ajax.class?ajax&session=h5vogmlkv858wbe7tba8qjdwx687cl1bbkwyhbx25x5w6e23&method=getAircraftParameter&acId="+ll_acId+"&pkey="+ll_trackOverlay+"-legend");
jQuery('span.ll_mapHeader').load("/servlet/use/Ajax.class?ajax&session=h5vogmlkv858wbe7tba8qjdwx687cl1bbkwyhbx25x5w6e23&method=getLiveLogMapHeader&acId="+ll_acId);
ll_loadLoop();
}
function ll_loadLoop() { //console.log("loop!");
ll_updateMap( false );
setTimeout( 'll_loadLoop()', 60000 );
}
function ll_toggleMyKml( overlayName ) {
if ( ll_trackOverlay == overlayName ) return;
jQuery('span.ll_mapLegend').html("... loading ...");
ll_trackOverlay = overlayName;
ll_updateMap( true );
}
function ll_setMyKml() {
var overlayName = document.getElementById("ll_ovselect").value; //alert(overlayName)
ll_toggleMyKml( overlayName );
}
function ll_generateGeoXml() {
console.log(ll_trackOverlay);
console.log(ll_kmlSetNo);
var u1 = "https://www.pilotundflugzeug.de/trackkml/"+ll_acId+"/"+ll_kmlSetNo+"/"+ll_trackOverlay+"-track.kml";
var u2 = "https://www.pilotundflugzeug.de/trackkml/"+ll_acId+"/"+ll_kmlSetNo+"/"+ll_trackOverlay+"-fixes.kml";
var ll_geoXmlTrackOLD = ll_geoXmlTrack;
var ll_geoXmlFixesOLD = ll_geoXmlFixes;
ll_geoXmlTrack = new L.KML(u1, {async: true});
ll_geoXmlTrack.on('loaded', function() { console.log("LOADED! TRACKS bounds: " + ll_geoXmlTrack.getBounds().getNorthWest() + " / " + ll_geoXmlTrack.getBounds().getSouthEast());
if ( ll_geoXmlTrackOLD != null ) ll_map.removeLayer(ll_geoXmlTrackOLD);
ll_map.fitBounds(ll_geoXmlTrack.getBounds(), {padding: [40,40]});
ll_map.addLayer(ll_geoXmlTrack);
setTimeout('ll_updateTrackDisplayRelaod();',2000); // Weired workaround, but if we don't do this the icon position will be off
});
ll_geoXmlFixes = new L.KML(u2, {async: true});
ll_geoXmlFixes.on('loaded', function() { console.log("LOADED! FIXES bounds: " + ll_geoXmlFixes.getBounds().getNorthWest() + " / " + ll_geoXmlFixes.getBounds().getSouthEast());
if ( ll_fixesVisible == 1 ) {
if ( ll_geoXmlFixesOLD != null ) ll_map.removeLayer(ll_geoXmlFixesOLD);
//ll_map.fitBounds(ll_geoXmlFixes.getBounds(), {padding: [40,40]});
ll_map.addLayer(ll_geoXmlFixes);
}
ll_internalUpdateFDRShortlist();
ll_internalUpdateCVRList();
});
}
function ll_updateTrackDisplayRelaod() {
if ( ll_geoXmlTrack != null ) { console.log("ll_updateTrackDisplayRelaod!")
ll_map.removeLayer(ll_geoXmlTrack);
ll_map.addLayer(ll_geoXmlTrack);
}
}
function ll_updateFixesDisplayRelaod() {
if ( ll_geoXmlFixes != null ) { console.log("ll_updateFixesDisplayRelaod!")
ll_map.removeLayer(ll_geoXmlFixes);
ll_map.addLayer(ll_geoXmlFixes);
}
}
function ll_updateMapTableColor() {
jQuery.get("/servlet/use/Ajax.class?ajax&session=h5vogmlkv858wbe7tba8qjdwx687cl1bbkwyhbx25x5w6e23&method=getAircraftParameter&acId="+ll_acId+"&pkey=running", function(data){
//alert("Data Loaded: " + data);
if ( data == "true" ) jQuery('#ll_mapTable').attr('bgcolor', '#dddddd' );
if ( data == "false" ) jQuery('#ll_mapTable').attr('bgcolor', '#dddddd' );
});
}
function ll_updateMap( force ) { //alert("updateMapHeader");
jQuery.get("/servlet/use/Ajax.class?ajax&session=h5vogmlkv858wbe7tba8qjdwx687cl1bbkwyhbx25x5w6e23&method=getLiveLogMapHeader&acId="+ll_acId, function(data){
//alert("Data Loaded: " + data);
jQuery('span.ll_mapHeader').html( data );
var newSetNo = data.substring(4, 11); console.log("newSetNo: " + newSetNo); console.log("ll_kmlSetNo: " + ll_kmlSetNo);
var running = data.substring(12, 13); console.log("running: " + running);
if ( running == "y" ) jQuery('#ll_mapTable').attr('bgcolor', '#dddddd' );
if ( running == "n" ) jQuery('#ll_mapTable').attr('bgcolor', '#dddddd' );
if ( newSetNo != ll_kmlSetNo || force == true ) ll_internalUpdateMap( newSetNo );
});
}
function ll_internalUpdateMap( newSetNo ) { //alert("internalUpdateMap: " + newSetNo);
jQuery('span.ll_mapLegend').html("... loading ...");
ll_kmlSetNo = newSetNo;
ll_generateGeoXml();
jQuery('span.ll_mapLegend').load("/servlet/use/Ajax.class?ajax&session=h5vogmlkv858wbe7tba8qjdwx687cl1bbkwyhbx25x5w6e23&method=getAircraftParameter&acId="+ll_acId+"&pkey="+ll_trackOverlay+"-legend");
}
function ll_internalUpdateCVRList() {
jQuery.get("/servlet/use/Ajax.class?ajax&session=h5vogmlkv858wbe7tba8qjdwx687cl1bbkwyhbx25x5w6e23&method=getCVRlist&acId="+ll_acId+"&date="+ll_trackOverlay, function(data){
//alert("2: " + data.length);
var ts = ll_parseParameter(data, "1"); //alert("3: " + ts);
if ( ts != ll_CVRHash ) {
jQuery('#ll_cvrList tr:gt(0)').remove();
jQuery('#ll_cvrList').append(data);
ll_CVRHash = ts;
}
});
}
function ll_internalUpdateFDRShortlist() {
if(document.getElementById('ll_FDRShortList')) {
jQuery.get("/servlet/use/Ajax.class?ajax&session=h5vogmlkv858wbe7tba8qjdwx687cl1bbkwyhbx25x5w6e23&method=getFDRShortlist&acId="+ll_acId+"&date="+ll_trackOverlay+"&rows=9", function(data){
//alert("2: " + data.length);
var ts = ll_parseParameter(data, "1"); //alert("3: " + ts);
jQuery('#ll_FDRShortList tr:gt(0)').remove();
jQuery('span.ll_fdrHeader').html( ts ); //alert("hallo");
jQuery('#ll_FDRShortList').append(data);
});
}
}
function ll_parseParameter( data, pName ) {
var cut1 = data.indexOf(pName+"{{")+pName.length+2;
var cut2 = data.indexOf("}}"+pName);
return data.substring(cut1,cut2);
}
function ll_jumpFix( fixId ) { //alert(" jump: " + fixId);
jQuery.get("/servlet/use/Ajax.class?ajax&session=h5vogmlkv858wbe7tba8qjdwx687cl1bbkwyhbx25x5w6e23&method=getSingleMarkerHtml&fixId="+fixId, function(data){
var lat = ll_parseParameter(data, "lat"); //console.log("lat: " + lat);
var lon = ll_parseParameter(data, "lon"); //console.log("lon: " + lat); console.log("data: " + data);
var latlng = new L.latLng( lat, lon );
ll_infoBlubb = L.popup()
.setLatLng(latlng)
.setContent(data)
.openOn(ll_map);
});
}