/********************************************************************
* Display and initialize navigation bar
********************************************************************
* Guenter Koellner Embedded Development GmbH
*
* Am Rain 24
* 85256 Vierkirchen
* Geschaeftsfuehrer Guenter Koellner
*
* References:
* https://www.w3schools.com/jsref/default.asp
* http://www.chartjs.org/docs/latest/
* https://stackoverflow.com/questions/8348401/javascript-two-separate-scripts-share-variables
*
* http://www.modesbeast.com
********************************************************************/
$(document).ready(function(){
//console.log("navbar.js-->document ready");
insert_navbar();
});
// wrapper for $.getJSON, but includes credentials (for cross origin setups) - should be usable by all parts of the site
function getJSON(url, func){
$.ajax({
url: url,
type: "GET",
dataType: 'json',
xhrFields: { withCredentials: true },
success: func
});
}
function insert_navbar() {
getJSON(rcd_globals.fcgipath+"param.json?param=productname,webskin,versioninfo,oemfeatureset1,sessionactive,license_serverid,license_org,license_history,featurecommercial", function(params) {
rcd_globals.webskin = params.webskin;
console.log("Globals:",rcd_globals);
console.log("params:",params);
var productname = 'Radarcape';
var logo = 'jetvision';
switch( params.webskin ) {
case 'virtower':
productname = 'Virtower';
params.productname='Virtower';
rcd_globals.productname='Virtower';
logo = 'virtower';
break;
default:
switch ( rcd_globals.productname ) {
case 'MLAT_SERVER':
productname = 'Jetvision MLAT Server';
logo = 'jetvision_JFTN';
break;
default:
productname = params.productname;
logo = params.webskin;
break;
}
}
function makeNavbarToplevel(){
// remove containing div and put nav directly in body
$('#nav').parent().prepend($('#nav').find('nav')[0]);
$('#nav').remove();
}
if( rcd_globals.productname==='MLAT_SERVER' ) {
rcd_globals.is_mlat_srv = true;
$("#nav").load( 'navbar_mlatserver.html', function() {
var link = document.querySelector("link[rel*='icon']") || document.createElement('link');
link.type = 'image/x-icon';
link.rel = 'shortcut icon';
link.href = 'favicon-'+logo+'.ico';
document.getElementsByTagName('head')[0].appendChild(link);
document.getElementById('navbar_logo').innerHTML = '
';
if( params.license_history )
document.getElementById('menuitemhistory').style = "";
document.getElementById('versioninfo').innerHTML = (params.webskin==='virtower') ? " " : "Server: " + params.license_serverid + " Org: " + params.license_org + " | " + params.versioninfo;
makeNavbarToplevel();
});
}
else
{
$("#nav").load( 'navbar_rcd.html', function() {
rcd_globals.productname=params.productname;
var id1 = (params.sessionactive==0) ? "navbar_login" : "navbar_logout";
var doc1 = document.getElementById( id1 );
doc1.style.display = "";
var id2 = (params.sessionactive==0) ? "navbar_logout" : "navbar_login"
var doc2 = document.getElementById( id2 );
doc2.style.display = "none";
document.getElementById('versioninfo').innerHTML = (params.webskin==='virtower') ? " " : params.versioninfo;
if( params.oemfeatureset1==1 || params.webskin=='virtower' ) {
var doc = document.getElementById("navbar_onlinehelp").style.display = "none";
}
if( params.featurecommercial==1 ) {
var doc = document.getElementById("menu_item_asterix").style.display = "";
}
var link = document.querySelector("link[rel*='icon']") || document.createElement('link');
if( params.productname=="Air!Squitter" ) {
logo="airsquitter";
}
link.type = 'image/x-icon';
link.rel = 'shortcut icon';
link.href = 'favicon-'+logo+'.ico';
document.getElementsByTagName('head')[0].appendChild(link);
document.getElementById('navbar_logo').innerHTML = '
';
makeNavbarToplevel();
});
}
apply_webskin();
rcd_globals.initialized = true;
});
}
function add_stylesheet(href) {
var link = document.createElement('link');
link.type = "text/css";
link.rel = "stylesheet";
link.href = href;
link.onload = function () {
var event_cust_css_loaded = new Event('custom_css_loaded');
window.dispatchEvent(event_cust_css_loaded);
}
document.getElementsByTagName("head")[0].appendChild(link);
}
function apply_webskin() {
add_stylesheet('css/' + rcd_globals.webskin + '/bootstrap.min.css');
// add_stylesheet('css/' + rcd_globals.webskin + '/radarcape.css');
add_stylesheet('css/' + rcd_globals.webskin + '/bootstrap-customized.css');
}