/******************************************************************** * 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 = ''+logo+''; 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 = ''+logo+''; 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'); }