2020-08-19 16:55:41 +00:00
<!DOCTYPE html>
< html lang = "en" xml:lang = "en" >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" / >
< title > GridTracker © 2020 N0TTL< / title >
2020-08-26 02:38:51 +00:00
< link rel = "stylesheet" href = "./lib/dp-dark.css" >
2020-08-19 16:55:41 +00:00
< link rel = "stylesheet" href = "./lib/ol.css" / >
< link rel = "stylesheet" href = "./lib/style.css" / >
< script src = "./lib/defaults.js" type = "text/javascript" > < / script >
< script src = "./lib/protos.js" type = "text/javascript" > < / script >
< script src = "./lib/alerts.js" type = "text/javascript" > < / script >
< script src = "./lib/third-party.js" type = "text/javascript" > < / script >
< script src = "./lib/adif.js" type = "text/javascript" > < / script >
< script src = "./lib/ol.js" type = "text/javascript" > < / script >
< script src = "./lib/arc.js" type = "text/javascript" > < / script >
< script src = "./lib/moment-with-locales.js" type = "text/javascript" > < / script >
< script src = "./lib/moment-timezone-with-data.js" type = "text/javascript" > < / script >
2020-08-26 02:38:51 +00:00
< script src = "./lib/datepicker.js" > < / script >
2020-08-19 16:55:41 +00:00
< script src = "./lib/callsigns.js" type = "text/javascript" > < / script >
< script src = "./lib/shadow.js" type = "text/javascript" > < / script >
< script src = "./lib/gtws.js" type = "text/javascript" > < / script >
< script src = "./lib/gt.js" type = "text/javascript" > < / script >
2020-09-04 23:14:05 +00:00
< script src = "./lib/screens.js" > < / script >
2020-08-19 16:55:41 +00:00
< / head >
< body id = 'mainBody' onload = "init();" >
< div id = "startupDiv" >
< div class = "fill" >
< img src = "gridview.png" alt = "" / >
< div >
< H1 > GridTracker by< / H1 >
< H1 > NØ TTL< / H1 >
< H2 > & < / h2 >
< H1 > N2VFL< / H1 >
< / div >
< / div >
< div id = "startupStatusDiv" > Initial Startup< / div >
< / div >
< div id = "documentsDiv" style = "display:none" >
< div >
2020-08-26 20:17:55 +00:00
< div > Your documents folder ( < div id = "searchedDocFolder" > < / div > ) could not be located.< / div > < br / >
2020-08-19 16:55:41 +00:00
< div > GridTracker can not continue without it.< / div > < br / >
< div > Please select a directory so that GridTracker can store important files.< / div > < br / >
< input id = "documentDirectoryInput" type = "file" nwdirectory onchange = "directoryInput(this)" / >
< / div >
< / div >
< div id = "main" style = "display:none;" >
< div id = "mapDiv" class = "mapDivEnd" > < / div >
< div id = "mouseTrackDiv" style = "display:none" class = "mouseTrack" > < / div >
< div id = "LegendDiv" style = "display:none" class = "legendDivEnd" >
< table align = "center" >
< tr >
< td > Legend< / td >
< td >
< div id = "qsoDiv" title = "Grids with worked station(s) by you" style = "padding-top:2px;border:2px solid #000000;width:42px;height:16px;background-color:#EEEE00;color:#000" > QSO< / div >
< / td >
< td >
< div id = "qslDiv" title = "Grids with confirmed station(s) by you" style = "padding-top:2px;border:2px solid #000000;width:42px;height:16px;background-color:#DD0000;color:#000" > QSL< / div >
< / td >
< / tr >
< tr >
< td >
< div id = "deDiv" title = "Grids with station(s) communicating with stations other than you" style = "padding-top:2px;border:2px solid #0000FF;width:42px;height:16px;background-color:#000088" > QSX< / div >
< / td >
< td >
< div id = "cxDiv" title = "Grids with station(s) calling CQ" style = "padding-top:2px;border:2px solid #008888;width:42px;height:16px;background-color:#00FF00;color:#000" > CQ< / div >
< / td >
< td >
< div id = "cqdxDiv" title = "Grids with station(s) calling CQ distance" style = "padding-top:2px;border:2px solid #008888;width:42px;height:16px;background-color:cyan;color:#000" > CQDX< / div >
< / td >
< / tr >
< tr >
< td >
< div id = "qrzDiv" title = "Grids with station(s) calling you!" style = "padding-top:2px;border:2px solid #FF0000;width:42px;height:16px;background-color:#EEEE00;color:#000" > QRZ< / div >
< / td >
< td >
< div id = "dxDiv" title = "Your home grid square!" style = "padding-top:2px;border:2px solid #000000;width:42px;height:16px;background-color:orange;color:#000" > QTH< / div >
< / td >
< td >
< div id = "wsprDiv" title = "WSPR Stations" style = "padding-top:2px;border:2px solid grey;width:42px;height:16px;font-weight:bold;text-shadow:0 0 3px #000;" >
< div class = "rainbow" style = "text-shadow:0 0 3px #000;" > WSPR< / div >
< / div >
< / td >
< / tr >
< / table >
< / div >
< div id = "chevronDiv" class = "chevronDivStart" title = "Click to show menu" onclick = "collapseMenu(false)" > ≤< / div >
< div id = "menuDiv" class = "menuDivEnd" >
< div id = "localInfoDiv" style = "border:1px solid white;margin:1px;margin-top:1px;margin-bottom:1px;padding:0px" class = "roundBorder" >
< table align = "center" >
< tr >
< td colspan = 2 > < div class = "button" title = "Click to hide menu" style = "color:#FFF;margin:0;padding:0;font-weight:bold;width:150px;padding-top:2px;border-width:2px" onclick = "collapseMenu(true);" > GridTracker< / div > < / td >
< / tr >
< tr >
< td >
< div id = "frequency" title = "Frequency (Band)" style = "font-weight:bold" > 0.000.000 Hz (?)< / div >
< / td >
< td >
< div id = "wsjtxMode" title = "Mode" > < / div >
< / td >
< / tr >
< / table >
< div id = "currentTime" style = "cursor:pointer" title = "Toggle Local / UTC Time" onclick = "toggleTime();" > < / div >
< table align = "center" style = "border-collapse:collapse;margin-bottom:2px" >
< tr id = "dxCallBoxDiv" class = "DXCallBox" >
< td >
< div id = "localDXcall" style = "cursor:pointer" title = "Who you're calling or last called" onclick = "startLookup(g_localDXcall,localDXGrid.innerHTML);" oncontextmenu = "showWorkedByCall(g_localDXcall, event);" > -< / div >
< / td >
< td >
< div id = "localDXGrid" style = "cursor:pointer" title = "Their Gridsquare" onclick = "centerOn(localDXGrid.innerHTML);" > -< / div >
< / td >
< td >
< div id = "localDXReport" title = "Last known SNR" > < / div >
< / td >
< / tr >
< tr >
< td >
< div id = "localDXCountry" style = "font-size:smaller;font-weight:italic;color:lightgreen" title = "DXCC" > < / div >
< / td >
< td >
< div id = "localDXDistance" style = "font-size:smaller;font-weight:italic;color:lightblue" title = "Distance" > < / div >
< / td >
< td >
< div id = "localDXAzimuth" style = "font-size:smaller;font-weight:italic;color:lightgreen" title = "Heading" > < / div >
< / td >
< / tr >
< / table >
< / div >
< div id = "rigWrap" style = "display:none;background-color:blue;border-style:inset;border-color:lightblue;border-width:3px;margin:0;margin-bottom:1px;color:yellow;padding:2px;" class = "roundBorder" >
< div style = "display:inline-block;padding-top:0px;cursor:pointer;left:0px" onClick = "rigChange(false);" > 🡄 < / div >
< div style = "display:inline-block;" id = "rigDiv" > -no rig-< / div >
< div style = "display:inline-block;cursor:pointer;right:0px" onClick = "rigChange(true);" > 🡆< / div >
< / div >
< div id = "operatingMode" style = "margin:0;margin-bottom:1px;cursor:pointer" onclick = "ignoreMessagesToggle()" title = "Click to ignore incoming messages" >
< div id = "txrxdec" style = "background-color:Green;border-style:outset;border-color:yellow;border-width:3px" class = "roundBorder" > waiting for message< / div >
< / div >
< div id = "pskReporterBandActivityDiv" class = "roundBorder" style = "position:relative;background-color:#000;border:1px solid purple;margin:1px;height:49px;margin-bottom:1px;padding:0px" title = "PSK-Reporter Band Activity" oncontextmenu = "toggleBaWindow()" >
< div id = "graphDiv" style = "bottom:0;position: absolute;width:100%;padding:0px;margin-bottom:2px" >
< br / > ...no data yet...< br / >
< / div >
< / div >
< div id = "actionDiv" style = "border:1px solid blue;margin:1px;margin-bottom:1px;padding:3px" class = "roundBorder" title = "Quick Stats" >
< table align = "center" >
< tr >
< td style = "cursor:pointer" onclick = "openInfoTab('calbox', 'callsignBoxDiv', showCallsignBox)" title = "Callsigns Heard" align = "right" > Rx Calls< / td >
< td style = "cursor:pointer" onclick = "openInfoTab('calbox', 'callsignBoxDiv', showCallsignBox)" title = "Callsigns Heard" class = "roundBorderValue" align = "center" >
< div id = "callsignCount" > 0< / div >
< / td >
< td style = "cursor:pointer" onclick = "resetSearch(); openInfoTab('qsobox', 'workedBoxDiv', showWorkedBox);" title = "Worked Stations" align = "right" > QSO< / td >
< td style = "cursor:pointer" class = "roundBorderValue" onclick = "resetSearch(); openInfoTab('qsobox', 'workedBoxDiv', showWorkedBox);" title = "Confirmed Stations" align = "center" >
< div id = "qsoCount" > 0< / div >
< / td >
< / tr >
< tr >
< td style = "cursor:pointer" onclick = "openInfoTab('calbox', 'callsignBoxDiv', showCallsignBox);" title = "DXCC Heard" align = "right" > Rx DXCC< / td >
< td style = "cursor:pointer" class = "roundBorderValue" onclick = "openInfoTab('calbox', 'callsignBoxDiv', showCallsignBox);" title = "DXCC Heard" align = "center" >
< div id = "countryCount" > 0< / div >
< / td >
< td style = "cursor:pointer" onclick = "resetSearch(); g_filterQSL = 'true'; openInfoTab('qsobox', 'workedBoxDiv', showWorkedBox)" title = "Show Confirmed List" align = "right" > QSL< / td >
< td style = "cursor:pointer" class = "roundBorderValue" onclick = "resetSearch(); g_filterQSL = 'true'; openInfoTab('qsobox', 'workedBoxDiv', showWorkedBox)" title = "Show Confirmed List" align = "center" >
< div id = "qslCount" > 0< / div >
< / td >
< / tr >
< tr >
< td colspan = 2 > < div class = "button" onclick = "clearLive();" title = "Clear Live Data from GridTracker" > Clear Live< / div > < / td >
2020-08-30 05:38:38 +00:00
< td colspan = 2 > < div style = "min-width:58px" id = "clearOrLoadButton" class = "button" onclick = "clearOrLoadQSOs();updateCountStats();" title = "Clear or Reload Log Data (does not delete files)" > Clear Log< / div > < / td >
2020-08-19 16:55:41 +00:00
< / tr >
< / table >
< / div >
< div id = "filterDiv" class = "roundBorder" style = "position:relative;background-color:#000;border:1px solid cyan;margin:1px;margin-bottom:1px;" title = "Map View Control Panel" >
< table align = "center" >
2020-08-22 00:35:49 +00:00
< tr > < td colspan = 2 > Map View Filters< / td > < / tr >
2020-08-19 16:55:41 +00:00
< tr title = "Select Band (Auto tracks WSJT-X)" > < td > < font color = "lightgreen" > Band< / font > < / td >
< td >
< select id = "gtBandFilter" onkeypress = "return false;" onchange = "gtBandFilterChanged(this);" >
< option value = "auto" > Auto< / option >
< option value = "xx" disabled > --------< / option >
< option value = "" > Mixed< / option >
< option value = "4000m" > 4000m< / option >
< option value = "2200m" > 2200m< / option >
2020-08-31 23:19:57 +00:00
< option value = "630m" > 630m< / option >
2020-08-19 16:55:41 +00:00
< option value = "160m" > 160m< / option >
< option value = "80m" > 80m< / option >
< option value = "60m" > 60m< / option >
< option value = "40m" > 40m< / option >
< option value = "30m" > 30m< / option >
< option value = "20m" > 20m< / option >
< option value = "17m" > 17m< / option >
< option value = "15m" > 15m< / option >
< option value = "12m" > 12m< / option >
< option value = "11m" > 11m< / option >
< option value = "10m" > 10m< / option >
< option value = "6m" > 6m< / option >
< option value = "4m" > 4m< / option >
< option value = "2m" > 2m< / option >
< option value = "1.25m" > 1.25m< / option >
< option value = "70cm" > 70cm< / option >
< option value = "23cm" > 23cm< / option >
< option value = "oob" > OOB< / option >
< / select >
< / td >
< / tr >
< tr title = "Select Mode" >
< td > < font color = "orange" > Mode< / font > < / td >
< td >
< select id = "gtModeFilter" onkeypress = "return false;" onchange = "gtModeFilterChanged(this);" >
< option value = "auto" > Auto< / option >
< option value = "xx" disabled > ----------< / option >
< option value = "" > Mixed< / option >
< option value = "Digital" > Digital< / option >
< option value = "Phone" > Phone< / option >
< / select >
< / td >
2020-08-22 00:35:49 +00:00
< / tr >
< tr title = "Select Propagation Mode" >
< td > < font color = "yellow" > Prop< / font > < / td >
< td >
< select id = "gtPropFilter" onkeypress = "return false;" onchange = "gtPropFilterChanged(this);" >
< option value = "mixed" > Mixed< / option >
< option value = "xx" disabled > ----------< / option >
< option value = "" > Unknown< / option >
< option value = "xx" disabled > ----------< / option >
< option value = "AS" > Aircraft Scatter< / option >
< option value = "AUE" > Aurora-E< / option >
< option value = "AUR" > Aurora< / option >
< option value = "BS" > Back Scatter< / option >
< option value = "ECH" > EchoLink< / option >
< option value = "EME" > EME< / option >
< option value = "ES" > Sporadic E< / option >
< option value = "F2" > F2 Reflection< / option >
< option value = "FAI" > Field Aligned I< / option >
< option value = "INTERNET" > Inet-assist< / option >
< option value = "ION" > Ionoscatter< / option >
< option value = "IRL" > IRLP< / option >
< option value = "MS" > Meteor Scatter< / option >
< option value = "RPT" > Repeater< / option >
< option value = "RS" > Rain Scatter< / option >
< option value = "SAT" > Satellite< / option >
< option value = "TEP" > Trans-equatorial< / option >
< option value = "TR" > Tropo-ducting< / option >
< / select >
< / td >
2020-08-19 16:55:41 +00:00
< / tr >
< tr >
< td > < font color = "cyan" > Data< / font > < / td >
< td >
< div id = "gridViewButton" onclick = "cycleGridView()" class = "button" title = "Cycle Grid View" style = "min-width:94px;background-color:darkgreen;color:#FF0;font-size:13.3333px;text-align:left;margin-bottom:2px;" > Logbook & Live< / div >
< / td > < / tr >
< / table >
< / div >
< div id = "buttonsDiv" style = "margin-left:0px;white-space:normal;" >
2020-08-26 02:38:51 +00:00
< div id = "callRosterButton" class = "iconButton" style = "padding:0px;" onclick = "openCallRosterWindow();" title = "Open Call Roster" > < img src = "./img/roster-button.svg" class = "buttonImgWide" / > < / div >
< div id = "pushPinButton" onclick = "togglePushPinMode();" class = "iconButton" title = "Toggle Push-Pin Mode" > < img id = "pinImg" src = "" class = "buttonImg" / > < / div >
< div id = "lookupButton" onclick = "openLookupWindow()" class = "iconButton" title = "Open Lookup Window" > < img style = "" src = "./img/lookup.svg" class = "buttonImg" / > < / div >
2020-08-30 05:38:38 +00:00
< div id = "statsDiv" onclick = "showRootInfoBox();" class = "iconButton" title = "Show Stats" > < img src = "./img/stats-button.svg" class = "buttonImg" / > < / div >
2020-08-19 16:55:41 +00:00
< div id = "modeModeDiv" onclick = "toggleOffline()" class = "iconButton" title = "Toggle Online/Offline Mode" > < img id = "offlineImg" src = "" class = "buttonImg" / > < / div >
< div id = "earthShadow" onclick = "toggleEarth()" class = "iconButton" title = "Toggle Grayline" > < img id = "earthImg" src = "" class = "buttonImg" / > < / div >
2020-08-26 02:38:51 +00:00
< div id = "legendToggleDiv" onclick = "toggleLegend()" class = "iconButton" title = "Toggle Map Legend" > < img id = "legendImg" src = "./img/gt_key.png" class = "buttonImg" / > < / div >
< div id = "gtShareButton" onclick = "toggleGtShareEnable();" class = "iconButton" title = "Share your On-Air Status with other GridTracker users" > < img id = "gtShareFlagImg" src = "./img/share-off.png" class = "buttonImg" / > < / div >
< div id = "helpButton" onclick = "toggleHelp();" class = "iconButton" title = "Toggle Hotkey List" > < img src = "./img/help.svg" class = "buttonImg" / > < / div >
2020-08-19 16:55:41 +00:00
< div id = "trophyButton" onclick = "cycleTrophyOverlay();" class = "iconButton" title = "Cycle Award Overlays" > < img id = "trophyImg" src = "./img/blank_trophy.png" class = "buttonImg" / > < / div >
< div id = "buttonStrikesDiv" onclick = "toggleStrikesValue()" class = "iconButton" title = "Toggle Lightning Strikes" > < img id = "strikesImg" src = "./img/lw.png" class = "buttonImg" / > < / div >
< div id = "lunaButton" onclick = "toggleMoon();" class = "iconButton" title = "Toggle Moon" > < img id = "lunaButonImg" src = "./img/luna.png" class = "buttonImg" / > < / div >
< div id = "gridModeDiv" onclick = "toggleGridMode()" class = "iconButton" title = "Toggle Maidenhead Width" > < img id = "modeImg" src = "" class = "buttonImg" / > < / div >
2020-08-30 05:38:38 +00:00
< div id = "settingsButton" onclick = "showSettingsBox();" class = "iconButton" title = "Settings" > < img src = "./img/settings-button.svg" class = "buttonImg" / > < / div >
2020-08-19 16:55:41 +00:00
< div id = "adifLoadDiv" onclick = "adifLoadDialog()" class = "iconButton" title = "Load ADIF Log" > < img src = "./img/adif.png" class = "buttonImg" / > < / div >
2020-08-30 05:38:38 +00:00
< div id = "conditionsButton" onclick = "showConditionsBox();" class = "iconButton" title = "View Current Conditions" > < img src = "./img/conditions.svg" class = "buttonImg" / > < / div >
2020-08-19 16:55:41 +00:00
< div id = "donateButton" onclick = "gotoDonate();" class = "iconButton" title = "Donate with PayPal" > < img style = "-webkit-filter: invert(1) brightness(50%);" src = "./img/heart.png" class = "buttonImg" / > < / div >
2020-08-30 05:38:38 +00:00
< div id = "alterMuteDiv" onclick = "toggleAlertMute()" class = "iconButton" title = "Toggle Audio Mute" > < img id = "alertMuteImg" src = "" class = "buttonImg" / > < / div >
2020-08-19 16:55:41 +00:00
< div id = "buttonPSKSpotsBoxDiv" onClick = "togglePskSpots();" class = "iconButton" title = "View PSK-Reporter Reception Reports" > < img id = "pskSpotsImg" src = "./img/psk_spots_off.png" class = "buttonImg" / > < / div >
< div id = "buttonPsk24CheckBoxDiv" onclick = "grabPsk24()" class = "iconButton" title = "Your PSK 24hour report" > < img id = "pskImg" src = "./img/psk_24_32.png" class = "buttonImg" / > < / div >
< div id = "buttonQRZCheckBoxDiv" onclick = "if ( ValidateQrzApi(qrzApiKey ) ) grabQrzComLog()" class = "iconButton" title = "Download log from QRZ.com" > < img id = "qrzLogImg" src = "./img/log_QRZ.png" class = "buttonImg" / > < / div >
< div id = "buttonLOTWCheckBoxDiv" onclick = "if ( ValidateText(lotwLogin) && ValidateText(lotwPassword) ) { grabLOtWLogQSO(false); grabLOtWLog(false); } " class = "iconButton" title = "Download log from Logbook of the World" > < img id = "lotwLogImg" src = "./img/log_LoTW.png" class = "buttonImg" / > < / div >
< div id = "buttonClubCheckBoxDiv" onclick = "if ( ValidateText(clubEmail) && ValidateText(clubPassword) ) grabClubLog()" class = "iconButton" title = "Download log from ClubLog" > < img id = "ClubLogImg" src = "./img/log_club.png" class = "buttonImg" / > < / div >
2020-08-31 23:19:57 +00:00
< div id = "buttonAdifCheckBoxDiv" onclick = "startupAdifLoadFunction()" class = "iconButton" title = "Reload Local ADIF Files" > < img src = "./img/log_local.png" class = "buttonImg" / > < / div >
2020-08-26 02:38:51 +00:00
< div id = "timezoneButton" onclick = "toggleTimezones()" class = "iconButton" title = "Toggle Timezone Layer" > < img src = "./img/timezone-button.svg" class = "buttonImg" / > < / div >
< div id = "radarButton" onclick = "toggleNexrad()" class = "iconButton" title = "Toggle US Nexrad" > < img src = "./img/radar-button.svg" class = "buttonImg" / > < / div >
2020-08-31 23:19:57 +00:00
< div id = "gridOverlayButton" onclick = "toggleAllGrids()" class = "iconButton" title = "Toggle All Grid Overlay" > < img src = "./img/grid-overlay.svg" class = "buttonImg" / > < / div >
2020-08-19 16:55:41 +00:00
< div id = "gtFlagButton" onclick = "toggleGtMap();" class = "iconButton" title = "Toggle View GridTracker Users" > < img id = "gtFlagImg" src = "" class = "buttonImg" / > < / div >
< div id = "msgButton" onclick = "showMessaging();" class = "iconButton" title = "Messaging Window" > < img id = "msgImg" src = "./img/gt_chat.png" class = "buttonImg" / > < / div >
< / div >
< div id = "SpotsDiv" style = "display:none;border:1px solid yellow;margin:1px;margin-bottom:1px;margin-top:2px;" class = "roundBorder" >
< table align = "center" >
< tr > < td id = "spotCountDiv" > Spots: 0< / td > < td id = "spotRefreshDiv" > Refresh: -< / td > < / tr >
< tr > < td colspan = 2 align = "center" id = "spotHistoryTimeTd" > < / td > < / tr >
< tr > < td colspan = 2 > < input type = "range" min = "5" max = "1440" value = "15" step = "5" class = "slider" id = "spotHistoryTimeValue" oninput = "changeSpotValues();" onkeyup = "redrawSpots();" onmouseup = "redrawSpots();" / > < / td > < / tr >
< / table >
< / div >
< div id = "trafficDiv" class = "roundBorder" style = "position:relative;background-color:#000;color:#888;border:1px solid black;margin:2px;bottom:2px;right:2px;white-space:no-wrap;overflow:hidden" >
< / div >
< / div >
< div id = "myFlagtip" class = "myFlagtipEnd" > < / div >
< div id = "myTooltip" style = "-webkit-user-select:text;background-color:black;padding:5px;text-align:center;display:block;position:absolute;z-index:-500;left:-1000px;top:-1000px;border:2px solid white;white-space: nowrap;overflow:hidden" class = "roundBorder" > < / div >
< div id = "myGridTooltip" style = "background-color:black;padding:5px;text-align:center;display:block;position:absolute;z-index:-499;left:50px;top:50px;border:2px solid white;white-space: nowrap;overflow:hidden" class = "roundBorder" > < / div >
< div id = "myTrophyTooltip" style = "background-color:black;padding:5px;text-align:center;display:block;position:absolute;z-index:-499;left:50px;top:50px;border:2px solid white;white-space: nowrap;overflow:hidden" class = "roundBorder" > < / div >
< div id = "myMoonTooltip" style = "background-color:black;padding:5px;text-align:center;display:block;position:absolute;z-index:-499;left:50px;top:50px;border:2px solid white;white-space: nowrap;overflow:hidden" class = "roundBorder" > < / div >
2020-08-26 20:17:55 +00:00
< div id = "helpDiv" style = "animation: fadeInEffect .1s;margin: 2px;left:30px;top:20px;display:none;background-color:black;padding:5px;text-align:center;vertical-align:middle;position:absolute;z-index:600;border:1px cyan;" class = "roundBorder" >
2020-08-19 16:55:41 +00:00
< div id = "printHotKeyDiv" style = "border:1px solid cyan;color:white;text-align:auto;" >
2020-08-26 02:38:51 +00:00
< table align = center class = "darkTable" >
< tr > < th colspan = 6 > Hot Key List (v1.20.0825+)< / th >
2020-08-19 16:55:41 +00:00
< tr > < th > Key< / th > < th align = 'left' > Action< / th > < th > Condition< / th > < th > Key< / th > < th align = 'left' > Action< / th > < th > Condition< / th >
2020-08-26 02:38:51 +00:00
< tr > < td > 1< / td > < td align = 'left' > Show General Map Layer< / td > < td > < / td > < td > Q< / td > < td align = 'left' > Cycle Logbook/Live View< / td > < td > < / td > < / tr >
< tr > < td > 2< / td > < td align = 'left' > Show CQ Zones Award Layer< / td > < td > < / td > < td > R< / td > < td align = 'left' > Open Call Roster Window< / td > < td > < / td > < / tr >
< tr > < td > 3< / td > < td align = 'left' > Show ITU Zones Award Layer< / td > < td > < / td > < td > S< / td > < td align = 'left' > Open Settings< / td > < td > < / td > < / tr >
< tr > < td > 4< / td > < td align = 'left' > Show Continents Award Layer< / td > < td > < / td > < td > T< / td > < td align = 'left' > Toggle RX Spots over Grids< / td > < td > < / td > < / tr >
< tr > < td > 5< / td > < td align = 'left' > Show US States Award Layer< / td > < td > < / td > < td > T< / td > < td align = 'left' > Add TTS Alert< / td > < td > right-click< br > empty grid< / td > < / tr >
< tr > < td > 6< / td > < td align = 'left' > Show DXCC Award Layer< / td > < td > < / td > < td > U< / td > < td align = 'left' > Toggle Award Layer Merge< / td > < td > < / td > < / tr >
< tr > < td > 7< / td > < td align = 'left' > Show US Counties Award Layer< / td > < td > < / td > < td > V< / td > < td align = 'left' > Add PopUp Alert< / td > < td > right-click< br > empty grid< / td > < / tr >
< tr > < td > 8< / td > < td align = 'left' > Show US Continental Grids Award Layer< / td > < td > < / td > < td > W< / td > < td align = 'left' > Toggle Maidenhead Grid Size< / td > < td > < / td > < / tr >
< tr > < td > 9< / td > < td align = 'left' > Toggle Timezone Overlay< / td > < td > < / td > < td > X< / td > < td align = 'left' > Toggle Map Position Info< / td > < td > < / td > < / tr >
< tr > < td > 0< / td > < td align = 'left' > Toggle US Nexrad Overlay< / td > < td > < / td > < td > Y< / td > < td align = 'left' > Toggle Global Lightning< / td > < td > < / td > < / tr >
< tr > < td > =< / td > < td align = 'left' > Cycle Award Layers< / td > < td > < / td > < td > Z< / td > < td align = 'left' > Center Map on QTH Grid< / td > < td > < / td > < / tr >
< tr > < td > A< / td > < td align = 'left' > Toggle Active Path Animation< / td > < td > < / td > < td > F1< / td > < td align = 'left' > Hot Key List (This List)< / td > < td > < / td > < / tr >
< tr > < td > B< / td > < td align = 'left' > Toggle All Grid Overlay< / td > < td > < / td > < td > F5< / td > < td align = 'left' > Recall Map Position 1< / td > < td > < / td > < / tr >
< tr > < td > C< / td > < td align = 'left' > Open Conditions Windows< / td > < td > < / td > < td > F5< / td > < td align = 'left' > Store Map Position 1< / td > < td > Shift-Key< / td > < / tr >
< tr > < td > D< / td > < td align = 'left' > Toggle Moon Tracking< / td > < td > < / td > < td > F6< / td > < td align = 'left' > Recall Map Position 2< / td > < td > < / td > < / tr >
< tr > < td > E< / td > < td align = 'left' > Toggle 24h Moon Trajectory< / td > < td > < / td > < td > F6< / td > < td align = 'left' > Store Map Position 2< / td > < td > Shift-Key< / td > < / tr >
< tr > < td > F< / td > < td align = 'left' > Toggle RX Spots Flight< / td > < td > < / td > < td > F7< / td > < td align = 'left' > Recall Map Position 3< / td > < td > < / td > < / tr >
< tr > < td > G< / td > < td align = 'left' > Toggle GridTracker Flags< / td > < td > < / td > < td > F7< / td > < td align = 'left' > Store Map Position 3< / td > < td > Shift-Key< / td > < / tr >
< tr > < td > H< / td > < td align = 'left' > Toggle RX Spots Heatmap< / td > < td > < / td > < td > F8< / td > < td align = 'left' > Recall Map Position 4< / td > < td > < / td > < / tr >
< tr > < td > I< / td > < td align = 'left' > Open Stats/Info < / td > < td > < / td > < td > F8< / td > < td align = 'left' > Store Map Position 4< / td > < td > Shift-Key< / td > < / tr >
< tr > < td > K< / td > < td align = 'left' > Capture Screenshot< / td > < td > < / td > < td > F9< / td > < td align = 'left' > Recall Map Position 5< / td > < td > < / td > < / tr >
< tr > < td > L< / td > < td align = 'left' > Open ADIF file< / td > < td > < / td > < td > F9< / td > < td align = 'left' > Store Map Position 5< / td > < td > Shift-Key< / td > < / tr >
< tr > < td > M< / td > < td align = 'left' > Toggle Audio Mute< / td > < td > < / td > < td > F10< / td > < td align = 'left' > Recall Map Position 6< / td > < td > < / td > < / tr >
< tr > < td > M< / td > < td align = 'left' > Add MapCenter Alert< / td > < td > right-click< br > empty grid< / td > < td > F10< / td > < td align = 'left' > Store Map Position 6< / td > < td > Shift-Key< / td > < / tr >
< tr > < td > N< / td > < td align = 'left' > Toggle Grayline< / td > < td > < / td > < td > F11< / td > < td align = 'left' > Toggle Fullscreen< / td > < td > < / td > < / tr >
< tr > < td > O< / td > < td align = 'left' > Toggle RX Spots< / td > < td > < / td > < td > F12< / td > < td align = 'left' > Toggle Sidebar Menu< / td > < td > < / td > < / tr >
< tr > < td > P< / td > < td align = 'left' > Toggle Grid/PushPin Mode< / td > < td > < / td > < / tr >
2020-08-19 16:55:41 +00:00
< / table >
< / div >
< div >
< br > < div class = "button" onclick = "require('nw.gui').Shell.openExternal('https://tagloomis.com/gt/gt_print.html');" > Print< / div >
< / div >
< div style = "top:6px;right:6px;position:absolute" >
< button class = "Xbutton" onclick = "g_helpShow=false;helpDiv.style.display='none';" > X< / button >
< / div >
< / div >
< div id = "rootSettingsDiv" style = "margin:0;top:1px;display:none;background-color:#00000000;padding:0px;text-align:center;vertical-align:middle;position:relative;z-index:600;" class = "roundBorder" >
< div class = "settingstab" >
< button id = "generalbut" class = "settingsTablinks active" onclick = "openSettingsTab(event, 'udpSettingsDiv')" > General< / button >
< button id = "lookupbut" class = "settingsTablinks" onclick = "openSettingsTab(event, 'lookupsSettingsDiv')" > Lookups< / button >
< button class = "settingsTablinks" onclick = "openSettingsTab(event, 'SpeechSettingsDiv')" > Audio< / button >
< button class = "settingsTablinks" onclick = "openSettingsTab(event, 'mapSettingsDiv')" > Map< / button >
< button class = "settingsTablinks" onclick = "openSettingsTab(event, 'logSettingsDiv');" > Logging< / button >
< button class = "settingsTablinks" onclick = "openSettingsTab(event, 'alertsDiv')" > Alerts< / button >
< button class = "settingsTablinks" onclick = "openSettingsTab(event, 'callRosterDiv')" > Call Roster< / button >
< button class = "settingsTablinks" onclick = "openSettingsTab(event, 'chatSettingsDiv')" > Messaging< / button >
2020-08-30 05:38:38 +00:00
< button id = "logbut" class = "settingsTablinks" onclick = "openSettingsTab(event, 'logbookSettingsDiv')" > Logbook< / button >
2020-08-19 16:55:41 +00:00
< button id = "update" class = "settingsTablinks" onclick = "openSettingsTab(event, 'updateSettingsDiv')" > Update< / button >
< button class = "settingsTablinks" style = "margin-right:25px;" onclick = "openSettingsTab(event, 'aboutDiv')" > About< / button >
< / div >
< div id = "udpSettingsDiv" class = "settingsTabcontent" style = "display:block;vertical-align:top" >
< table align = center >
< tr >
< td colspan = 3 >
< div class = "mapItem" >
< table align = center >
< tr >
< td > Application Status< / td >
< / tr >
< tr >
< td id = "runningAppsDiv" class = "roundBorderValue" > Neither WSJT-X or JTDX are running.< / td >
< / tr >
< / table >
< / div >
< / td >
< / tr >
< / table >
< table align = center >
< tr >
< td >
< div class = "mapItem" >
< table align = center >
< tr >
< td > < b > Receive UDP Messages< / b > < / td >
< / tr >
< tr >
< td id = "lastMsgTimeDiv" > No messages yet.< / td >
< / tr >
< tr >
< td id = "secondsAgoMsg" class = "roundBorderValue" > Never< / td >
< / tr >
< tr >
< td > Multicast? < input title = "Enable / Disable Local Network Multicast" type = "checkbox" id = "multicastEnable" onclick = "setMulticastEnable(this);" / > < / td >
< / tr >
< tr >
< td id = "multicastTD" style = "display:none" > IP < input id = "multicastIpInput" type = "text" class = "inputTextValue" maxlength = "15" size = "10" onkeypress = 'return validIpKeys(event.charCode);' oninput = " if ( ValidateMulticast(this) ) setMulticastIp(); " / > < / td >
< / tr >
< tr >
< td > Port < input id = "udpPortInput" type = "text" class = "inputTextValue" maxlength = "5" size = "5" onkeypress = 'return validNumberKeys(event.charCode);' oninput = "if ( ValidatePort(this,null, CheckNotRemoteIpPort ) ) setUdpPort();" / > < / td >
< / tr >
< / table >
< / div >
< / td >
< td >
< div class = "mapItem" >
< table align = center >
< tr >
< td > < b > Forward UDP Messsages< / b > < / td >
< / tr >
< tr >
< td > < i > e.g. GridTracker on another host< / i > < / td >
< / tr >
< tr >
< td > IP < input id = "udpForwardIpInput" type = "text" class = "inputTextValue" maxlength = "15" size = "10" onkeypress = 'return validIpKeys(event.charCode);' oninput = " if ( ValidateIPaddress(this,udpForwardEnable) ) setForwardIp(); " / > < / td >
< / tr >
< tr >
< td > Port < input id = "udpForwardPortInput" type = "text" class = "inputTextValue" maxlength = "5" size = "5" onkeypress = 'return validNumberKeys(event.charCode);' oninput = "if ( ValidatePort(this,udpForwardEnable, CheckNotLocalPort ) ) setForwardPort(); " / > < / td >
< / tr >
< tr >
< td > Enabled?< input title = "Enable / Disable UDP Message forwarding" type = "checkbox" id = "udpForwardEnable" onclick = "setUdpForwardEnable(this);" / > < / td >
< / tr >
< / table >
< / div >
< / td >
< / tr >
< / table >
< table align = center >
< tr >
< td >
< div id = "CenterGridDiv" class = "mapItem" >
< table align = center >
< tr >
< td > Center Gridsquare< / td >
< / tr >
< tr >
< td > < input id = "homeQTHInput" type = "text" class = "inputTextValue" maxlength = "6" size = "3" oninput = "{ if ( ValidateGridsquare(this,null) ) { setCenterGridsquare(); }}" / > < / td >
< / tr >
< / table >
< / div >
< / td >
< td >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td title = "Distance Units" > Distance Units< / td >
< / tr >
< tr >
< td >
< select id = "distanceUnit" value = "KM" onchange = "changeDistanceUnit();" >
< option value = "KM" > Kilometres< / option >
< option value = "MI" > Statute Miles< / option >
< option value = "NM" > Nautical Miles< / option >
< option value = "DG" > Degrees< / option >
< / select >
< / td >
< / tr >
< / table >
< / div >
< / td >
< / tr >
< / table >
< table align = center >
< tr >
< td >
< div class = "mapItem" >
< table align = "center" title = "Enable Decode Traffic Visual in Menu" >
< tr >
< td > Decode Traffic Waterfall< / td >
< / tr >
< tr >
< td > < input type = "checkbox" id = "trafficDecode" onclick = "changeTrafficDecode()" / > < / td >
< / tr >
< / table >
< / div >
< / td >
< td >
< div id = "CheckForNewVersionDiv" class = "mapItem" >
< table align = center >
< tr >
< td > Check for new version< / td >
< / tr >
< tr >
< td > < div class = "button" onclick = "checkForNewVersion(true);" > Go!< / div > < / td >
< / tr >
< / table >
< / div >
< / td >
< / tr >
< / table >
< table align = center >
< tr >
< td >
< div class = "mapItem" >
< table align = center >
< tr >
< td > < div class = "button" onclick = "if ( imSureCheck.checked ) { clearAndReload(); }" > Clear All Settings!< / div > < / td >
< / tr >
< tr >
< td > Yes, I'm sure!< input type = "checkbox" id = "imSureCheck" title = "Must be checked to enable clearing of settings" / > < / td >
< / tr >
< / table >
< / div >
< / td >
< td >
< div class = "mapItem" >
< table align = center >
< tr >
< td > < div class = "button" onclick = "exportSettings();" > Export Settings< / div > < / td >
< / tr >
< tr >
< td > < div style = "display:none" id = "importSettingsButton" class = "button" onclick = "importSettings();" > Import Settings< / div > < / td >
< / tr >
< tr > < td > < font style = "display:none" id = "importSettingsFile" > < / font > < / td > < / td >
< / table >
< / div >
< / td >
< / tr >
< / table >
< / div >
< div id = "lookupsSettingsDiv" class = "settingsTabcontent" >
< div class = "mapItem" >
< table align = "center" >
< tr align = "center" >
< td align = "center" style = "font-weight:bold;color:cyan" > Callsign Lookup Service< / td >
< / tr >
< tr align = "center" >
< td colspan = 1 >
< select id = "lookupService" value = "CALLOOK" onchange = "lookupValueChanged();" >
< option value = "CALLOOK" > C A L L O O K (US only)< / option >
< option value = "HAMQTH" > HamQTH (Free Login Required)< / option >
< option value = "QRZ" > QRZ.com (Free and Paid Members Only)< / option >
< option value = "QRZCQ" > QRZCQ.com (Paid Members Only)< / option >
< / select >
< / td >
< / tr >
< tr align = "center" id = "lookupCredentials" style = "display:none" >
< td >
Username< input id = "lookupLogin" type = "text" class = "inputTextValue" size = "8" oninput = "lookupValueChanged();" / >
Password< input id = "lookupPassword" type = "password" class = "inputTextValue" size = "8" oninput = "lookupValueChanged();" / >
< / td >
< td > < div class = "button" onclick = "GetSessionID(lookupQrzTestResult);" > Test< / div > < / td >
< td id = "lookupQrzTestResult" > < / td >
< / tr >
< / table >
< / div > < br / >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td align = "center" > Add Lookup Data to QSO Log event< / td >
< / tr >
< tr align = "center" >
< td title = "When finsihing a QSO... add extra data from Lookup service" > < input type = "checkbox" id = "lookupMerge" onclick = "changeLookupMerge(this)" / > < / td >
< / tr >
< / table >
< / div >
< div class = "mapItem" id = "lookupMissingGridDiv" style = "display:none" >
< table align = "center" >
< tr >
< td align = "center" > Add Lookup Grid if QSO Grid missing< / td >
< / tr >
< tr align = "center" >
< td title = "Add Lookup Grid if QSO Grid Missing" > < input type = "checkbox" id = "lookupMissingGrid" onclick = "changeLookupMerge(this)" / > < / td >
< / tr >
< / table >
< / div >
< br / >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td align = "center" > Open Lookup On Transmit< / td >
< / tr >
< tr align = "center" >
< td title = "Open Lookup Window On Transmit" > < input type = "checkbox" id = "lookupOnTx" onclick = "changelookupOnTx()" / > < / td >
< / tr >
< / table >
< / div >
2020-08-31 23:19:57 +00:00
< div class = "mapItem" id = "lookupCloseLogDiv" >
2020-08-19 16:55:41 +00:00
< table align = "center" >
< tr >
< td align = "center" > Close Lookup After Logging< / td >
< / tr >
< tr align = "center" >
< td title = "Close Lookup Window After Logging" > < input type = "checkbox" id = "lookupCloseLog" onclick = "changelookupOnTx()" / > < / td >
< / tr >
< / table >
< / div >
< br / >
2020-08-26 02:38:51 +00:00
< div id = "callsignDatabaseDiv" class = "mapItem" >
< table align = center class = "darkTable" >
< tr > < th colspan = 6 style = "font-weight:bold;color:yellow" > Callsign Databases< / th > < / tr >
< tr > < th > Database< / th > < th > Enabled< / th > < th > Last Download< / th > < th > Count< / th > < / tr >
2020-08-19 16:55:41 +00:00
< tr >
2020-08-26 02:38:51 +00:00
< td > United States ULS< / td >
< td >
< input type = "checkbox" id = "ulsUseEnable" onclick = "ulsValuesChanged();" >
< / td >
< td id = "ulsUpdatedTd" > Never< / td >
< td id = "ulsCountTd" > 0< / td >
2020-08-19 16:55:41 +00:00
< / tr >
< tr >
2020-08-26 02:38:51 +00:00
< td > Logbook of The World< / td >
< td >
< input type = "checkbox" id = "lotwUseEnable" onclick = "lotwValuesChanged();" >
< / td >
< td id = "lotwUpdatedTd" > Never< / td >
< td id = "lotwCountTd" > 0< / td >
2020-08-19 16:55:41 +00:00
< / tr >
< tr >
2020-08-26 02:38:51 +00:00
< td > eQSL< / td >
< td >
< input type = "checkbox" id = "eqslUseEnable" onclick = "eqslValuesChanged();" >
< / td >
< td id = "eqslUpdatedTd" > Never< / td >
< td id = "eqslCountTd" > 0< / td >
2020-08-19 16:55:41 +00:00
< / tr >
< tr >
2020-08-26 02:38:51 +00:00
< td > ClubLog OQRS< / td >
< td >
< input type = "checkbox" id = "oqrsUseEnable" onclick = "oqrsValuesChanged();" >
< / td >
< td id = "oqrsUpdatedTd" > Never< / td >
< td id = "oqrsCountTd" > 0< / td >
2020-08-19 16:55:41 +00:00
< / tr >
2020-08-26 02:38:51 +00:00
< / table >
< / div >
2020-08-19 16:55:41 +00:00
< / div >
< div id = "SpeechSettingsDiv" class = "settingsTabcontent" >
< div class = "roundBorder" style = "border:1px solid #666;margin:2px;padding:5px" >
< div class = "mapItem" >
< table align = "center" >
< tr align = "center" >
< td align = "center" > Text-to-speech Voice< / td >
< / tr >
< tr align = "center" >
< td colspan = 1 >
< div id = 'voicesDiv' > < / div >
< / td >
< / tr >
< / table >
< / div >
< br / >
< div class = "mapItem" >
< table align = "center" >
< tr align = "center" >
< td align = "center" > Speech Rate< / td >
< td align = "center" id = "speechRateTd" > 1< / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "0.1" max = "10" value = "1" step = "0.1" class = "slider" id = "speechRate" oninput = "changeSpeechValues()" / > < / td >
< / tr >
< / table >
< / div >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td align = "center" > Speech Pitch< / td >
< td align = "center" id = "speechPitchTd" > 1< / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "0" max = "2" value = "1" step = "0.1" class = "slider" id = "speechPitch" oninput = "changeSpeechValues()" / > < / td >
< / tr >
< / table >
< / div >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td align = "center" > Speech Volume< / td >
< td align = "center" id = "speechVolumeTd" > 1< / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "0.1" max = "1" value = "1" step = "0.05" class = "slider" id = "speechVolume" oninput = "changeSpeechValues()" / > < / td >
< / tr >
< / table >
< / div >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td title = "Speak Callsigns and Gridsquares phonetically" > Phonetics< / td >
< / tr >
< tr >
< td title = "Speak Callsigns and Gridsquares phonetically" > < input type = "checkbox" id = "speechPhonetics" onclick = "changeSpeechValues()" / > < / td >
< / tr >
< / table >
< / div >
< / div >
< div class = "mapItem" >
< table align = "center" >
< tr align = "center" >
< td align = "center" > Audio Device< / td >
< / tr >
< tr align = "center" >
< td colspan = 1 >
< div id = 'soundCardDiv' > < / div >
< / td >
< / tr >
< / table >
< / div >
< br / >
< div class = "mapItem" style = "white-space:nowrap" >
< table align = "center" >
< tr >
< td align = "center" > File Audio Volume< / td >
< td align = "center" id = "audioVolumeTd" > 1< / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "0.00" max = "1" value = "1" step = "0.01" class = "slider" id = "audioVolume" oninput = "changeAudioValues()" / > < / td >
< / tr >
< / table >
2020-08-19 17:01:51 +00:00
< / div >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td title = "Lightning Strike Audio Alert" > Lightning Strike Audio Alert< / td >
< / tr >
< tr >
< td >
< select id = "strikesAlert" value = "0" onchange = "changeStrikesAlert();" >
< option value = "0" > None< / option >
< option value = "1" > Short< / option >
< option value = "2" > Long< / option >
< option value = "3" > Voice< / option >
< / select >
< / td >
< / tr >
< / table >
< / div >
< br / >
2020-08-19 16:55:41 +00:00
< div class = "mapItem" style = "white-space:nowrap" >
< table align = "center" >
< tr >
< td align = "center" > QSO Log Event Notification< / td >
< / tr >
< tr align = "center" >
< td > < select id = "logEventMedia" onchange = "newLogEventSetting(this); alertLogMessage();" > < / select > < / td >
< / tr >
< / table >
< / div >
< / div >
2020-08-26 02:38:51 +00:00
< div id = "logbookSettingsDiv" class = "settingsTabcontent" style = "padding:5px;" >
< div style = "padding:5px;" class = "mapItem" >
2020-08-26 20:17:55 +00:00
< div style = "padding:5px;" class = "mapItem" title = "Filter Logbook QSOs to include these Callsigns only (comma separated)" >
2020-08-26 02:38:51 +00:00
< table align = center >
< tr >
< td > < b > Working Callsign(s)< / b > < / td >
< / tr >
< tr >
< td > Enable? < input title = "Enable Filtering" type = "checkbox" id = "workingCallsignEnable" onclick = "workingCallsignEnableChanged(this);" / > < / td >
< / tr >
< tr >
< td id = "workingCallsignsTd" style = "" > Callsign(s)< input id = "workingCallsignsValue" type = "text" class = "inputTextValue" size = "15" onkeypress = 'return validCallsignsKeys(event.charCode);' oninput = "if ( ValidateCallsigns(this) ) workingCallsignsChanged(this);" / > < / td >
< / tr >
< / table >
< / div >
2020-08-26 20:17:55 +00:00
< div style = "padding:5px;" class = "mapItem" title = "Filter Logbook QSOs from before this Date" >
2020-08-26 02:38:51 +00:00
< table align = center >
< tr >
< td > < b > Working Date< / b > < / td >
< / tr >
< tr >
< td > Enable? < input title = "Enable Filtering" type = "checkbox" id = "workingDateEnable" onclick = "workingDateEnableChanged(this);" / > < / td >
< / tr >
< tr >
< td >
< div class = "roundBorderValue" style = "width:auto;font-size:larger;font-weight:bold;" id = "workingDateString" > No Date< / div >
< td >
< / tr >
< tr >
< td id = "workingDateTd" title = "Date is UTC" >
< input style = "display:none" type = "text" id = "workingDateValue" / >
< div id = "pick-inline" > < / div >
< / td >
< / tr >
< / table >
< / div >
< br / >
2020-08-26 20:17:55 +00:00
< div style = "padding:5px;display:none;font-size:larger;font-weight:bold;color:cyan;" id = "applyCallsignsAndDateDiv" class = "button" onclick = "applyCallsignsAndDates();" title = "Apply Changes and Re-Import Logbook(s)" > Apply Changes< / div >
2020-08-26 02:38:51 +00:00
< / div >
< / div >
2020-08-19 16:55:41 +00:00
< div id = "mapSettingsDiv" class = "settingsTabcontent" style = "background-color:#00000044;text-shadow: 0 0 5px #000000FF;" >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td title = "Change map" > Current Map< / td >
< / tr >
< tr >
< td >
< select id = "mapSelect" value = "terrain-background" onchange = "changeMapValues();" >
< / select >
< / td >
< / tr >
< / table >
2020-08-19 17:01:51 +00:00
< / div >
2020-08-19 16:55:41 +00:00
< div class = "mapItem" >
< table align = "center" >
< tr >
< td colspan = 1 align = "center" > Animate Active Paths< / td >
< / tr >
< tr align = "center" >
< td style = "padding:0px;margin:0px" title = "Toggle Traffic Path Animation" > < input type = "checkbox" id = "animateValue" onclick = "changeAnimate()" / > < / td >
< / tr >
< tr style = "display:none" id = "animationSpeedTd" >
< td > < input title = "Animation Speed" type = "range" min = "1" max = "20" value = "10" step = "1" class = "slider" id = "animateSpeedValue" oninput = "changeAnimateSpeedValue()" / > < / td >
< / tr >
< / table >
< / div >
< div class = "mapItem" id = "decayRateDiv" >
< table align = "center" >
< tr align = "center" >
< td align = "center" > Live Grid Decay< / td >
< / tr >
< tr >
< td align = "center" id = "decayRateTd" > 10m< / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "0" max = "86400" value = "600" step = "60" class = "slider" id = "gridDecay" oninput = "changeGridDecay()" onkeyup = "redrawGrids()" onmouseup = "redrawGrids()" / > < / td >
< / tr >
< / table >
2020-08-26 02:38:51 +00:00
< / div > < br / >
2020-08-19 16:55:41 +00:00
< div class = "mapItem" >
< table align = "center" >
< tr >
< td align = "center" > QSX Path Width< / td >
< td align = "left" id = "pathWidthTd" > 1.5< / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "0.0" max = "8" value = "1.5" step = "0.1" class = "slider" id = "pathWidthValue" oninput = "changePathWidth()" / > < / td >
< / tr >
< / table >
< / div >
< div class = "mapItem" id = "pathColorDiv" >
< table align = "center" >
< tr align = "center" >
< td align = "center" > < b > QSX Path Color< / b > < / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "0" max = "361" value = "0" class = "slider" id = "pathColorValue" oninput = "changeMapValues()" / > < / td >
< / tr >
< / table >
< / div >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td align = "center" > QRZ Path Width< / td >
< td align = "left" id = "qrzPathWidthTd" > 1.5< / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "0.0" max = "10" value = "1.5" step = "0.1" class = "slider" id = "qrzPathWidthValue" oninput = "changePathWidth()" / > < / td >
< / tr >
< / table >
< / div >
< div class = "mapItem" id = "qrzPathColorDiv" >
< table align = "center" >
< tr align = "center" >
< td align = "center" > < b > QRZ Path Color< / b > < / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "0" max = "361" value = "360" class = "slider" id = "qrzPathColorValue" oninput = "changeMapValues()" / > < / td >
< / tr >
< / table >
< / div >
< br / >
2020-08-26 02:38:51 +00:00
< div class = "mapItem" >
2020-08-19 16:55:41 +00:00
< table align = "center" >
< tr >
< td align = "center" > Grayline Darkness< / td >
< td align = "left" id = "showDarknessTd" > 10%< / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "0.03" max = "0.70" value = "0.1" step = "0.01" class = "slider" id = "shadowValue" oninput = "changeShadow()" / > < / td >
< / tr >
< / table >
< / div >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td align = "center" > Brightness< / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "0" max = "1" value = "1" step = "0.01" class = "slider" id = "brightnessValue" oninput = "changeMapValues()" / > < / td >
< / tr >
< / table >
< / div >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td align = "center" > Grid Opacity< / td >
< td align = "left" id = "showOpacityTd" > 10%< / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "16" max = "255" value = "136" step = "1" class = "slider" id = "opacityValue" oninput = "changeGridOpacity()" onkeyup = "redrawGrids()" onmouseup = "redrawGrids()" / > < / td >
< / tr >
< / table >
< / div >
2020-08-26 02:38:51 +00:00
< div class = "mapItem" >
< table align = "center" >
< tr >
< td align = "center" > Split QSL Grids< / td >
< / tr >
< tr align = "center" >
< td title = "Toggle Split QSL Grids with Live Grids" > < input type = "checkbox" id = "splitQSLValue" onclick = "changeSplitQSL()" / > < / td >
< / tr >
< / table >
< / div > < br / >
2020-08-19 16:55:41 +00:00
< div class = "mapItem" >
< table align = "center" >
< tr >
2020-08-26 02:38:51 +00:00
< td align = "center" > Grid Mouse-Over Tables< / td >
2020-08-19 16:55:41 +00:00
< / tr >
< tr align = "center" >
2020-08-26 02:38:51 +00:00
< td title = "Toggle Grid Mouse-Over Tables" > < input type = "checkbox" id = "mouseOverValue" onclick = "changeMouseOverValue()" / > < / td >
2020-08-19 16:55:41 +00:00
< / tr >
< / table >
< / div >
2020-08-26 02:38:51 +00:00
< div class = "mapItem" >
2020-08-19 16:55:41 +00:00
< table align = "center" >
< tr >
2020-08-26 02:38:51 +00:00
< td align = "center" > Merge Award Overlay< / td >
2020-08-19 16:55:41 +00:00
< / tr >
< tr align = "center" >
2020-08-26 02:38:51 +00:00
< td title = "Toggle Merge Award Overlay" > < input type = "checkbox" id = "mergeOverlayValue" onclick = "changeMergeOverlayValue()" / > < / td >
2020-08-19 16:55:41 +00:00
< / tr >
< / table >
< / div >
2020-08-26 02:38:51 +00:00
< div class = "mapItem" >
2020-08-19 16:55:41 +00:00
< table align = "center" >
< tr >
2020-08-26 02:38:51 +00:00
< td align = "center" > Fit Map To QRZ< / td >
2020-08-19 16:55:41 +00:00
< / tr >
< tr align = "center" >
2020-08-26 02:38:51 +00:00
< td title = "Toggle Fit Map To QRZ" > < input type = "checkbox" id = "fitQRZvalue" onclick = "changeFitQRZvalue()" / > < / td >
2020-08-19 16:55:41 +00:00
< / tr >
< / table >
< / div >
2020-08-26 02:38:51 +00:00
< div class = "mapItem" >
< table align = "center" >
< tr >
< td align = "center" > 'CQ' Highlighting< / td >
< / tr >
< tr align = "center" >
< td title = "Toggle 'CQ XX' Highlighting" > < input type = "checkbox" id = "CqHiliteValue" onclick = "changeCqHiliteValue(this);" / > < / td >
< / tr >
< / table >
< / div > < br / >
2020-08-19 16:55:41 +00:00
< div class = "mapItem" >
< table align = "center" >
< tr >
< td align = "center" > QRZ Missing Grid< br / > DXCC Fallback< / td >
< / tr >
< tr align = "center" >
< td title = "If a station grid is not known use the DXCC" > < input type = "checkbox" id = "qrzDxccFallbackValue" onclick = "changeQrzDxccFallbackValue();" / > < / td >
< / tr >
< / table >
2020-08-26 02:38:51 +00:00
< / div >
< div class = "mapItem" id = "spotPathColorDiv" >
< table align = "center" >
< tr align = "center" >
< td align = "center" > < b > PSK-Spot Color< / b > < / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "-1" max = "361" value = "-1" class = "slider" id = "spotPathColorValue" oninput = "spotPathChange();" onkeyup = "redrawSpots();" onmouseup = "redrawSpots();" / > < / td >
< / tr >
< tr align = "center" >
< td id = "spotPathInfoTd" > PSK-Reporter Palette< / td >
< / tr >
< / table >
< / div >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td title = "Place RX Spots over Grid Layer" > PSK-Spots Over Grids< / td >
< / tr >
< tr >
< td title = "Place RX Spots over Grid Layer" > < input type = "checkbox" id = "spotMergeValue" onclick = "changeSpotValues();redrawSpots();" / > < / td >
< / tr >
< / table >
< / div >
< div class = "mapItem" id = "spotPathsDiv" >
< table align = "center" >
< tr >
< td title = "Toggle flight paths to spots" > PSK-Spot Paths< / td >
< / tr >
< tr >
< td title = "Toggle flight paths to spots" > < input type = "checkbox" id = "spotPathsValue" onclick = "changeSpotValues();redrawSpots();" / > < / td >
< / tr >
< / table >
< / div > < br / >
2020-08-19 16:55:41 +00:00
< div class = "mapItem" >
< table align = "center" >
< tr >
< td title = "Night Map" > Auto Night Map< / td >
< / tr >
< tr align = "center" >
< td title = "Toggle Automatic Night Map Switching" > < input type = "checkbox" id = "nightMapEnable" onclick = "changeNightMapEnable(this);" / > < / td >
< / tr >
< tr > < td style = "display:none" id = "nightMapTd" >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td title = "Change map" > Night Map< / td >
< / tr >
< tr >
< td >
< select id = "mapNightSelect" value = "18" onchange = "changeMapNightValues();" >
< / select >
< / td >
< / tr >
< / table >
< / div >
< br / >
< div class = "mapItem" id = "pathNightColorDiv" >
< table align = "center" >
< tr align = "center" >
< td align = "center" > < b > Night QSX Path Color< / b > < / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "0" max = "361" value = "0" class = "slider" id = "nightPathColorValue" oninput = "changeMapNightValues()" / > < / td >
< / tr >
< / table >
< / div >
< div class = "mapItem" id = "pathNightQrzColorDiv" >
< table align = "center" >
< tr align = "center" >
< td align = "center" > < b > Night QRZ Path Color< / b > < / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "0" max = "361" value = "0" class = "slider" id = "nightQrzPathColorValue" oninput = "changeMapNightValues()" / > < / td >
< / tr >
< / table >
< / div >
2020-08-26 02:38:51 +00:00
< div class = "mapItem" id = "spotNightPathColorDiv" style = "display:none" >
< table align = "center" >
< tr align = "center" >
< td align = "center" > < b > Night PSK-Spot Color< / b > < / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "-1" max = "361" value = "-1" class = "slider" id = "spotNightPathColorValue" oninput = "spotPathChange();" onkeyup = "redrawSpots();" onmouseup = "redrawSpots();" / > < / td >
< / tr >
< tr align = "center" >
< td id = "spotNightPathInfoTd" > PSK-Reporter Palette< / td >
< / tr >
< / table >
< / div >
2020-08-19 16:55:41 +00:00
< br / >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td align = "center" > Night Brightness< / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "0" max = "1" value = "1" step = "0.01" class = "slider" id = "nightBrightnessValue" oninput = "changeMapNightValues()" / > < / td >
< / tr >
< / table >
< / div >
< / td >
< / tr >
< / table >
< / div >
2020-08-26 02:38:51 +00:00
< div class = "mapItem" id = "spotPathWidthDiv" >
2020-08-19 16:55:41 +00:00
< table align = "center" >
< tr >
2020-08-26 02:38:51 +00:00
< td align = "center" > PSK-Spot Path Width< / td >
2020-08-19 16:55:41 +00:00
< td align = "left" id = "spotWidthTd" > 1.5< / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "0.0" max = "5" value = "1.5" step = "0.05" class = "slider" id = "spotWidthValue" oninput = "spotPathChange();" onkeyup = "redrawSpots();" onmouseup = "redrawSpots();" / > < / td >
< / tr >
< / table >
< / div >
2020-08-26 02:38:51 +00:00
< / div >
2020-08-19 16:55:41 +00:00
< div id = "logSettingsDiv" class = "settingsTabcontent" >
< div id = "LoadAdifOnStartupDiv" style = "left:0;padding:1px;overflow:auto;overflow-x:hidden;display:inline-block;height:602px" class = "roundBorder" >
< table class = 'darkTable' align = center >
< tr >
< th > Source/Sync< / th >
< th > Menu?< / th >
< th > Startup?< / th >
< th > Log?< / th >
< th > Details< / th >
< th > Test< / th >
< th > Result< / th >
< / tr >
< tr >
< td > GridTracker< / td >
< td > < / td >
< td > < input type = "checkbox" checked = false id = "loadGTCheckBox" onclick = "adifStartupCheckBoxChanged(this);" / > < / td >
< td > < input type = "checkbox" checked = false id = "logGTqsoCheckBox" onclick = "adifLogQsoCheckBoxChanged(this);" / > < / td >
< td >
GridTracker QSO Logfile
< / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > Local File(s)< / td >
< td > < input type = "checkbox" checked = false id = "buttonAdifCheckBox" onclick = "adifMenuCheckBoxChanged(this);" / > < / td >
< td > < input type = "checkbox" checked = false id = "loadAdifCheckBox" onclick = "adifStartupCheckBoxChanged(this);" / > < / td >
< td > < / td >
< td >
< div id = "selectFileOnStartupDiv" style = "display:none;" >
< table align = center class = "subtable" >
< tr > < td > < div class = "button" id = "selectAdifButton" > Add File< / div > < / td >
< td > < div id = "startupLogFileDiv" > No file(s) selected< / div > < / td > < / tr >
< / table >
< / div >
< / td >
< td > < / td >
< td > < / td >
< / tr >
< tr id = "pskTr" >
< td > PSK-Reporter< / td >
< td > < input type = "checkbox" checked = false id = "buttonPsk24CheckBox" onclick = "adifMenuCheckBoxChanged(this);" / > < / td >
< td > < input type = "checkbox" checked = false id = "loadPsk24CheckBox" onclick = "adifStartupCheckBoxChanged(this);" / > < / td >
< td > < / td >
< td >
< div id = "pskDaysDiv" > 24 Hour History < / div >
< / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > QRZ.com< / td >
< td > < input type = "checkbox" checked = false id = "buttonQRZCheckBox" onclick = "adifMenuCheckBoxChanged(this);" / > < / td >
< td > < input type = "checkbox" checked = false id = "loadQRZCheckBox" onclick = "adifStartupCheckBoxChanged(this);" / > < / td >
< td > < input type = "checkbox" checked = false id = "logQRZqsoCheckBox" onclick = "adifLogQsoCheckBoxChanged(this);" / > < / td >
< td >
API Key< input id = "qrzApiKey" type = "password" class = "inputTextValue" maxlength = "19" size = "21" oninput = "ValidateQrzApi(this); adifTextValueChange(this);" / >
< / td >
< td >
< div class = "button" onclick = "if ( ValidateQrzApi(qrzApiKey ) ) grabQrzComLog(true);" > Test< / div >
< / td >
< td id = "qrzTestResult" >
< / td >
< / tr >
< tr >
< td > ClubLog< / td >
< td > < input type = "checkbox" checked = false id = "buttonClubCheckBox" onclick = "adifMenuCheckBoxChanged(this);" / > < / td >
< td > < input type = "checkbox" checked = false id = "loadClubCheckBox" onclick = "adifStartupCheckBoxChanged(this);" / > < / td >
< td > < input type = "checkbox" checked = false id = "logClubqsoCheckBox" onclick = "adifLogQsoCheckBoxChanged(this);" / > < / td >
< td >
Callsign< input id = "clubCall" type = "text" class = "inputTextValue" size = "8" oninput = " ValidateText(this); adifTextValueChange(this);" / >
Password< input id = "clubPassword" type = "password" class = "inputTextValue" size = "8" oninput = " ValidateText(this); adifTextValueChange(this);" / >
< br / > Email< input id = "clubEmail" type = "text" class = "inputTextValue" size = "20" oninput = "ValidateText(this); adifTextValueChange(this);" / >
< / td >
< td >
< div class = "button" onclick = "if ( ValidateText(clubEmail) && ValidateText(clubPassword) ) grabClubLog(true);" > Test< / div >
< / td >
< td id = "clubTestResult" >
< / td >
< / tr >
< tr >
< td > HRDLOG.net< / td >
< td > < / td >
< td > < / td >
< td > < input type = "checkbox" checked = false id = "logHRDLOGqsoCheckBox" onclick = "adifLogQsoCheckBoxChanged(this);" / > < / td >
< td >
Callsign< input id = "HRDLOGCallsign" type = "text" class = "inputTextValue" size = "12" oninput = "ValidateText(this); adifTextValueChange(this);" / >
Upload Code< input id = "HRDLOGUploadCode" type = "password" class = "inputTextValue" size = "8" oninput = " ValidateText(this); adifTextValueChange(this);" / >
< br / >
< a href = "http://www.hrdlog.net/docs/Tips.aspx#upcode" target = "_blank" title = "Click to learn how to get upload code" > *** How to get upload code ***< / a >
< / td >
< td >
< div class = "button" onclick = "if ( ValidateText(HRDLOGCallsign) && ValidateText(HRDLOGUploadCode) ) hrdCredentialTest(true);" > Test< / div >
< / td >
< td id = "HRDLogTestResult" > < / td >
< / tr >
< tr >
< td > Cloudlog< / td >
< td > < / td >
< td > < / td >
< td > < input type = "checkbox" checked = false id = "logCloudlogQSOCheckBox" onclick = "adifLogQsoCheckBoxChanged(this);" / > < / td >
< td >
URL< input id = "CloudlogURL" type = "text" class = "inputTextValue" size = "35" oninput = "ValidateText(this); adifTextValueChange(this);" / >
< br / >
API Key< input id = "CloudlogAPI" type = "text" class = "inputTextValue" size = "12" oninput = " ValidateText(this); adifTextValueChange(this);" / >
< / td >
< td >
< div class = "button" onclick = "if ( ValidateText(CloudlogURL) && ValidateText(CloudlogAPI) ) ClublogTest(true);" > Test< / div >
< / td >
< td id = "CloudlogTestResult" > < / td >
< / tr >
< tr >
< td > eQSL.cc< / td >
< td > < / td >
< td > < / td >
< td > < input type = "checkbox" checked = false id = "logeQSLQSOCheckBox" onclick = "adifLogQsoCheckBoxChanged(this);" / > < / td >
< td >
User< input id = "eQSLUser" type = "text" class = "inputTextValue" size = "8" oninput = "ValidateText(this); adifTextValueChange(this);" / >
Password< input id = "eQSLPassword" type = "password" class = "inputTextValue" size = "8" oninput = " ValidateText(this); adifTextValueChange(this);" / > < br / >
QTH Nickname< input type = "checkbox" checked = false id = "nicknameeQSLCheckBox" onclick = "adifNicknameCheckBoxChanged(this);" / >
< input id = "eQSLNickname" style = "display:none" type = "text" class = "inputTextValue" size = "12" oninput = " ValidateText(this); adifTextValueChange(this);" / >
< / td >
< td >
< div class = "button" onclick = "if ( ValidateText(eQSLUser) && ValidateText(eQSLPassword) ) eQSLTest(true);" > Test< / div >
< / td >
< td id = "eQSLTestResult" > < / td >
< / tr >
< tr >
< td > LotW< / td >
< td > < input type = "checkbox" checked = false id = "buttonLOTWCheckBox" onclick = "adifMenuCheckBoxChanged(this);" / > < / td >
< td > < input type = "checkbox" checked = false id = "loadLOTWCheckBox" onclick = "adifStartupCheckBoxChanged(this);" / > < / td >
< td > < input type = "checkbox" checked = false id = "logLOTWqsoCheckBox" onclick = "adifLogQsoCheckBoxChanged(this);" / > < / td >
< td >
Login< input id = "lotwLogin" type = "text" class = "inputTextValue" size = "8" oninput = "ValidateText(this); adifTextValueChange(this);" / >
Password< input id = "lotwPassword" type = "password" class = "inputTextValue" size = "8" oninput = "ValidateText(this); adifTextValueChange(this);" / > < br / >
< div id = "lotwUpload" style = "display:none" >
< div class = "button" id = "selectTQSLButton" > TQSL Path< / div > < text id = "tqslFileDiv" style = "margin-top:2px;padding:2px" class = "roundBorderValue" > No file selected< / text > < br / >
TQSL Password< input id = "lotwTrusted" type = "password" class = "inputTextValue" size = "8" oninput = "ValidateText(this); adifTextValueChange(this);" / > < br / >
Station Name< select id = "lotwStation" class = "inputTextValue" onchange = "ValidateText(this); adifTextValueChange(this);" > < / select >
< / div >
< / td >
< td >
< div class = "button" onclick = "if ( ValidateText(lotwLogin) && ValidateText(lotwPassword) ) grabLOtWLog(true);" > Test Download< / div > < br / >
< div id = "trustedTestButton" style = "margin-top:25px" class = "button" onclick = "testTrustedQSL(true);" > Test TQSL< / div >
< / td >
< td id = "lotwTestResult" >
< / td >
< / tr >
< tr >
< td > N1MM Logger+< / td >
< td > < / td >
< td > < / td >
< td > < input type = "checkbox" checked = "false" class = "inputTextValue" id = "buttonN1MMCheckBox" onclick = " ValidateIPaddress(N1MMIpInput,this); ValidatePort(N1MMPortInput,this, null ); n1mmLoggerChanged(); " / > < / td >
< td >
IP< input id = "N1MMIpInput" type = "text" class = "inputTextValue" maxlength = "15" size = "15" onkeypress = 'return validIpKeys(event.charCode);' oninput = "ValidateIPaddress(this,buttonN1MMCheckBox); n1mmLoggerChanged(); " / >
Port< input id = "N1MMPortInput" type = "text" class = "inputTextValue" maxlength = "5" size = "5" onkeypress = 'return validNumberKeys(event.charCode);' oninput = "ValidatePort(this,buttonN1MMCheckBox, null ); n1mmLoggerChanged(); " / >
< / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > Log4OM< / td >
< td > < / td >
< td > < / td >
< td > < input type = "checkbox" checked = "false" class = "inputTextValue" id = "buttonLog4OMCheckBox" onclick = " ValidateIPaddress(log4OMIpInput,this); ValidatePort(log4OMPortInput,this, null ); log4OMLoggerChanged(); " / > < / td >
< td >
IP< input id = "log4OMIpInput" type = "text" class = "inputTextValue" maxlength = "15" size = "15" onkeypress = 'return validIpKeys(event.charCode);' oninput = "ValidateIPaddress(this,buttonLog4OMCheckBox); log4OMLoggerChanged(); " / >
Port< input id = "log4OMPortInput" type = "text" class = "inputTextValue" maxlength = "5" size = "5" onkeypress = 'return validNumberKeys(event.charCode);' oninput = "ValidatePort(this,buttonLog4OMCheckBox, null ); log4OMLoggerChanged(); " / >
< / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
2020-08-26 02:38:51 +00:00
< td > N3FJP Loggers< / td >
2020-08-19 16:55:41 +00:00
< td > < / td >
< td > < / td >
< td > < input type = "checkbox" checked = "false" class = "inputTextValue" id = "buttonacLogCheckBox" onclick = " ValidateIPaddress(acLogIpInput,this); ValidatePort(acLogPortInput,this, null ); acLogLoggerChanged(); " / > < / td >
< td >
IP< input id = "acLogIpInput" type = "text" class = "inputTextValue" maxlength = "15" size = "15" onkeypress = 'return validIpKeys(event.charCode);' oninput = "ValidateIPaddress(this,buttonacLogCheckBox); acLogLoggerChanged(); " / >
Port< input id = "acLogPortInput" type = "text" class = "inputTextValue" maxlength = "5" size = "5" onkeypress = 'return validNumberKeys(event.charCode);' oninput = "ValidatePort(this,buttonacLogCheckBox, null ); acLogLoggerChanged(); " / >
< / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > DXKeeper< / td >
< td > < / td >
< td > < / td >
< td > < input type = "checkbox" checked = "false" class = "inputTextValue" id = "buttondxkLogCheckBox" onclick = " ValidateIPaddress(dxkLogIpInput,this); ValidatePort(dxkLogPortInput,this, null ); dxkLogLoggerChanged(); " / > < / td >
< td >
IP< input id = "dxkLogIpInput" type = "text" class = "inputTextValue" maxlength = "15" size = "15" onkeypress = 'return validIpKeys(event.charCode);' oninput = "ValidateIPaddress(this,buttondxkLogCheckBox); dxkLogLoggerChanged(); " / >
Port< input id = "dxkLogPortInput" type = "text" class = "inputTextValue" maxlength = "5" size = "5" onkeypress = 'return validNumberKeys(event.charCode);' oninput = "ValidatePort(this,buttondxkLogCheckBox, null ); dxkLogLoggerChanged(); " / >
< / td >
< td > < / td >
< td > < / td >
< / tr >
< tr >
< td > HRD Logbook< / td >
< td > < / td >
< td > < / td >
< td > < input type = "checkbox" checked = "false" class = "inputTextValue" id = "buttonHrdLogbookCheckBox" onclick = " ValidateIPaddress(hrdLogbookIpInput,this); ValidatePort(hrdLogbookPortInput,this, null ); hrdLogbookLoggerChanged(); " / > < / td >
< td >
IP< input id = "hrdLogbookIpInput" type = "text" class = "inputTextValue" maxlength = "15" size = "15" onkeypress = 'return validIpKeys(event.charCode);' oninput = "ValidateIPaddress(this,buttonHrdLogbookCheckBox); hrdLogbookLoggerChanged(); " / >
Port< input id = "hrdLogbookPortInput" type = "text" class = "inputTextValue" maxlength = "5" size = "5" onkeypress = 'return validNumberKeys(event.charCode);' oninput = "ValidatePort(this,buttonHrdLogbookCheckBox, null ); hrdLogbookLoggerChanged(); " / >
< / td >
< td > < / td >
< td > < / td >
< / tr >
< / table >
< / div >
< / div >
< div id = "callRosterDiv" class = "settingsTabcontent" >
2020-08-19 17:01:51 +00:00
< div class = "mapItem" >
< table align = "center" >
< tr align = "center" >
< td align = "center" > Window Always On Top< / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "checkbox" id = "rosterAlwaysOnTop" onchange = "changeRosterTop(this);" / >
< / tr >
< / table >
< / div >
2020-08-19 16:55:41 +00:00
< div class = "mapItem" >
< table align = "center" >
< tr align = "center" >
< td align = "center" > Call Roster Max Age< / td >
< / tr >
< tr align = "center" >
< td align = "center" id = "rosterTimeTd" > 2m 0s< / td >
< / tr >
< tr align = "center" >
< td colspan = 2 > < input type = "range" min = "15" max = "300" value = "120" step = "15" class = "slider" id = "rosterTime" oninput = "changeRosterTime()" / > < / td >
< / tr >
< / table >
< / div >
< br / >
< div class = "mapItem" id = "haltTXDiv" style = "display:none" >
< table align = "center" >
< tr align = "center" >
< td align = "center" > On QSO Reply< / td >
< / tr >
< tr align = "center" >
< td align = "center" > Halt TX On All Other Instances< / td >
< / tr >
< tr align = "center" >
< td colspan = 2 >
< input type = "checkbox" id = "haltAllOnTxValue" onchange = "changeHaltOntTxValue(this);" / >
< / td >
< / tr >
< / table >
< / div >
< div class = "mapItem" id = "multiRigCRDiv" style = "display:none" >
< table align = "center" >
< tr align = "center" >
< td align = "center" > On QSO Reply< / td >
< / tr >
< tr align = "center" >
< td align = "center" > Switch View To Transmitting Instance< / td >
< / tr >
< tr align = "center" >
< td colspan = 2 >
< input type = "checkbox" id = "focusRigValue" onchange = "changeFocusRigValue(this);" / >
< / td >
< / tr >
< / table >
< / div >
< br / >
< div class = "mapItem" >
< table align = "center" >
< tr > < td colspan = 2 > Audio Alert On New Hits< / td > < / td >
< tr >
< td colspan = 2 >
< input type = "checkbox" id = "huntRoster" onchange = "wantedChanged(this);" / >
< / td >
< / tr >
< tr >
< td >
< select id = "huntRosterNotify" onchange = "wantedChanged(this);" >
< option value = "1" > Text-to-Speech< / option >
< option value = "0" > Media File< / option >
< / select >
< / td >
< td >
< input id = "huntRosterNotifyWord" type = "text" class = "inputTextValue" size = "14" onkeyup = "if (event.keyCode === 13) { speakAlertString(this.value);}" oninput = "ValidateText(this);wantedChanged(this);" / >
< select id = "huntRosterNotifyMedia" style = "display:block" onchange = "wantedChanged(this);" >
< / select >
< / td >
< / tr >
< / table >
< / div >
< / div >
< div id = "alertsDiv" class = "settingsTabcontent" >
< div id = "alertMatrixDiv" style = "display:inline-block;" >
< table class = "roundBorder" align = "left" style = "border:1px solid #066;margin:auto;padding:1px" >
< tr > < th colspan = 5 > Audio Alerts< / th > < / tr >
< tr colspan = 5 title = "Log file reference" >
< td align = 'right' colspan = 3 > Reference< / td >
< td align = 'left' colspan = 2 >
< select id = "referenceNeed" onchange = "exceptionValuesChanged();" >
< option value = "0" > Current Band and Mode< / option >
< option value = "1" > Current Band, Any Mode< / option >
< option value = "2" > Current Band, Any Digi Mode< / option >
< option value = "3" > Current Mode, Any Band< / option >
< option value = "4" > Any Band, Any Mode< / option >
< option value = "5" > Any Band, Any Digi Mode< / option >
< / select >
< / td >
< / tr >
< tr > < td > < / td > < td > Enable< / td > < td > Status< / td > < td > Notify< / td > < td > Value< / td >
< tr >
< th > Callsign< / th >
< td > < input type = "checkbox" id = "huntCallsign" onchange = "wantedChanged(this);" / > < / td >
< td >
< select title = "Used by All Classic Alerts" id = "huntCallsignNeed" onchange = "wantedChanged(this);" >
< option value = "worked" > New< / option >
< option value = "confirmed" > New+Unconf< / option >
< / select >
< / td >
< td >
< select id = "huntCallsignNotify" onchange = "wantedChanged(this);" >
< option value = "1" > Text-to-Speech< / option >
< option value = "0" > Media File< / option >
< / select >
< / td >
< td >
< input id = "huntCallsignNotifyWord" type = "text" class = "inputTextValue" size = "14" onkeyup = "if (event.keyCode === 13) { speakAlertString(this.value); }" oninput = "ValidateText(this);wantedChanged(this);" / >
< select id = "huntCallsignNotifyMedia" onchange = "wantedChanged(this);" >
< / select >
< / td >
< / tr >
< tr >
< th > Grid< / th >
< td > < input type = "checkbox" id = "huntGrid" onchange = "wantedChanged(this);" / > < / td >
< td >
< select id = "huntGridNeed" onchange = "wantedChanged(this);" >
< option value = "worked" > New< / option >
< option value = "confirmed" > New+Unconf< / option >
< / select >
< / td >
< td >
< select id = "huntGridNotify" onchange = "wantedChanged(this);" >
< option value = "1" > Text-to-Speech< / option >
< option value = "0" > Media File< / option >
< / select >
< / td >
< td >
< input id = "huntGridNotifyWord" type = "text" class = "inputTextValue" size = "14" onkeyup = "if (event.keyCode === 13) { speakAlertString(this.value);}" oninput = "ValidateText(this);wantedChanged(this);" / >
< select id = "huntGridNotifyMedia" style = "display:block" onchange = "wantedChanged(this);" >
< / select >
< / td >
< / tr >
< tr >
< th > DXCC< / th >
< td > < input type = "checkbox" id = "huntDXCC" onchange = "wantedChanged(this);" / > < / td >
< td >
< select id = "huntDXCCNeed" onchange = "wantedChanged(this);" >
< option value = "worked" > New< / option >
< option value = "confirmed" > New+Unconf< / option >
< / select >
< / td >
< td >
< select id = "huntDXCCNotify" onchange = "wantedChanged(this);" >
< option value = "1" > Text-to-Speech< / option >
< option value = "0" > Media File< / option >
< / select >
< / td >
< td >
< input id = "huntDXCCNotifyWord" type = "text" class = "inputTextValue" size = "14" onkeyup = "if (event.keyCode === 13) { speakAlertString(this.value);}" oninput = "ValidateText(this);wantedChanged(this);" / >
< select id = "huntDXCCNotifyMedia" style = "display:block" onchange = "wantedChanged(this);" >
< / select >
< / td >
< / tr >
< tr >
< th > CQ Zone< / th >
< td > < input type = "checkbox" id = "huntCQz" onchange = "wantedChanged(this);" / > < / td >
< td >
< select id = "huntCQzNeed" onchange = "wantedChanged(this);" >
< option value = "worked" > New< / option >
< option value = "confirmed" > New+Unconf< / option >
< / select >
< / td >
< td >
< select id = "huntCQzNotify" onchange = "wantedChanged(this);" >
< option value = "1" > Text-to-Speech< / option >
< option value = "0" > Media File< / option >
< / select >
< / td >
< td >
< input id = "huntCQzNotifyWord" type = "text" class = "inputTextValue" size = "14" onkeyup = "if (event.keyCode === 13) { speakAlertString(this.value);}" oninput = "ValidateText(this);wantedChanged(this);" / >
< select id = "huntCQzNotifyMedia" style = "display:block" onchange = "wantedChanged(this);" >
< / select >
< / td >
< / tr >
< tr >
< th > ITU Zone< / th >
< td > < input type = "checkbox" id = "huntITUz" onchange = "wantedChanged(this);" / > < / td >
< td >
< select id = "huntITUzNeed" onchange = "wantedChanged(this);" >
< option value = "worked" > New< / option >
< option value = "confirmed" > New+Unconf< / option >
< / select >
< / td >
< td >
< select id = "huntITUzNotify" onchange = "wantedChanged(this);" >
< option value = "1" > Text-to-Speech< / option >
< option value = "0" > Media File< / option >
< / select >
< / td >
< td >
< input id = "huntITUzNotifyWord" type = "text" class = "inputTextValue" size = "14" onkeyup = "if (event.keyCode === 13) { speakAlertString(this.value);}" oninput = "ValidateText(this);wantedChanged(this);" / >
< select id = "huntITUzNotifyMedia" style = "display:block" onchange = "wantedChanged(this);" >
< / select >
< / td >
< / tr >
< tr >
< th > US States< / th >
< td > < input type = "checkbox" id = "huntStates" onchange = "wantedChanged(this);" / > < / td >
< td >
< select id = "huntStatesNeed" onchange = "wantedChanged(this);" >
< option value = "worked" > New< / option >
< option value = "confirmed" > New+Unconf< / option >
< / select >
< / td >
< td >
< select id = "huntStatesNotify" onchange = "wantedChanged(this);" >
< option value = "1" > Text-to-Speech< / option >
< option value = "0" > Media File< / option >
< / select >
< / td >
< td >
< input id = "huntStatesNotifyWord" type = "text" class = "inputTextValue" size = "14" onkeyup = "if (event.keyCode === 13) { speakAlertString(this.value);}" oninput = "ValidateText(this);wantedChanged(this);" / >
< select id = "huntStatesNotifyMedia" style = "display:block" onchange = "wantedChanged(this);" >
< / select >
< / td >
< / tr >
< / table >
< table class = "roundBorder" align = "left" style = "border:1px solid #622;margin:auto;padding:1px;text-align:left" >
< tr > < th colspan = 6 align = "center" > Exceptions< / th > < / tr >
< tr >
< td >
< table >
< tr >
< td colspan = 2 > < input type = "checkbox" id = "cqOnly" onchange = "exceptionValuesChanged();" > CQ Only< / td >
< / tr >
< tr >
< td colspan = 2 > < input type = "checkbox" id = "wantGrid" onchange = "exceptionValuesChanged();" > Require Grid< / td >
< / tr >
< tr >
< td > < input type = "checkbox" id = "wantMinDB" onchange = "exceptionValuesChanged();" > Min dB< / td >
< td > < input type = "range" min = "-25" max = "0" step = "1" class = "slider" id = "minDb" oninput = "exceptionValuesChanged();" style = "width:75px" / > < / td >
< td align = center id = "minDbView" class = "roundBorderValue" > -24< / td >
< / tr >
< tr >
< td > < input type = "checkbox" id = "wantMaxDT" onchange = "exceptionValuesChanged();" > Max DT< / td >
< td > < input type = "range" min = "0.1" max = "2" step = "0.1" class = "slider" id = "maxDT" oninput = "exceptionValuesChanged();" style = "width:75px" / > < / td >
< td align = center id = "maxDTView" class = "roundBorderValue" > .5< / td >
< / tr >
< tr >
< td > < input type = "checkbox" id = "wantMinFreq" onchange = "exceptionValuesChanged();" > Min freq< / td >
< td > < input type = "range" min = "0" max = "2500" step = "10" class = "slider" id = "minFreq" oninput = "exceptionValuesChanged();" style = "width:75px" / > < / td >
< td align = center id = "minFreqView" class = "roundBorderValue" > 400< / td >
< / tr >
< tr >
< td > < input type = "checkbox" id = "wantMaxFreq" onchange = "exceptionValuesChanged();" > Max freq< / td >
< td > < input type = "range" min = "500" max = "3000" step = "10" class = "slider" id = "maxFreq" oninput = "exceptionValuesChanged();" style = "width:75px" / > < / td >
< td align = center id = "maxFreqView" class = "roundBorderValue" > 3000< / td >
< / tr >
< / table >
< / td >
< td >
< table >
< tr >
< td colspan = 2 > < input type = "checkbox" id = "noMyDxcc" onchange = "onlyMyDxcc.checked=false; exceptionValuesChanged();" > Not My DXCC< / td >
< / tr >
< tr >
< td colspan = 2 > < input type = "checkbox" id = "onlyMyDxcc" onchange = "noMyDxcc.checked=false; exceptionValuesChanged();" > Only My DXCC< / td >
< / tr >
< tr >
< td colspan = 2 > < input type = "checkbox" id = "noRoundUp" onchange = "onlyRoundUp.checked=false; exceptionValuesChanged();" > No Round-Up< / td >
< / tr >
< tr >
< td colspan = 2 > < input type = "checkbox" id = "onlyRoundUp" onchange = "noRoundUp.checked=false; exceptionValuesChanged();" > Only Round-Up< / td >
< / tr >
< tr >
< td colspan = 2 > < div id = "usesLoTWDiv" style = "display:none" > < input type = "checkbox" id = "usesLoTW" onchange = "exceptionValuesChanged();" > Uses LoTW< div > < / td >
< / tr >
< tr >
< td colspan = 2 > < div id = "useseQSLDiv" style = "display:none" > < input type = "checkbox" id = "useseQSL" onchange = "exceptionValuesChanged();" > Uses eQSL< div > < / td >
< / tr >
< / table >
< / td >
< / tr >
< / table >
< / div > < br / >
< div id = "alertFormDiv" style = "display:inline-block;" >
< table align = "center" class = "roundBorder" style = "border:3px groove darkred;margin:0 auto;" >
< th colspan = 8 > Custom Alerts< / th >
< tr >
< td > Type< / td >
< td > Value< / td >
< td > Notify< / td >
< td > < / td >
< td > Repeat< / td >
< / tr >
< tr >
< td >
< select id = "alertTypeSelect" name = "alertTypeSelect" onchange = "alertTypeChanged();" >
< option value = "0" > Callsign (exact)< / option >
< option value = "5" > Callsign (partial)< / option >
< option value = "6" > Callsign (regex)< / option >
< option value = "2" > Gridsquare< / option >
< option value = "4" > QRZ< / option >
< / select >
< / td >
< td id = "alertValueSelect" >
< input id = "alertValueInput" type = "text" class = "inputTextValue" size = "7" oninput = "ValidateCallsign(this,null);" / >
< / td >
< td >
< select id = "alertNotifySelect" name = "alertNotifySelect" onchange = "alertNotifyChanged();" >
< option value = "1" > Text-to-speech< / option >
< option value = "0" > Media File< / option >
< option value = "2" > Visual Popup< / option >
< option value = "3" > Map Center< / option >
< / select >
< / td >
< td >
< select style = "display:none" id = "alertMediaSelect" onchange = "alertNotifyChanged('media');" >
< / select >
< / td >
< td >
< select id = "alertRepeatSelect" name = "alertRepeatSelect" >
< option value = "2" > Until Deleted< / option >
< option value = "3" > Until Exit< / option >
< option value = "1" > Once< / option >
< option value = "0" > Never< / option >
< / select >
< / td >
< td id = "addButton" > < div class = "button" style = "min-width:26px;width:26px" onclick = "addNewAlert();" > ADD< / div > < / td >
< td id = "addError" style = "color:red" > < / td >
< / tr >
< / table >
< / div > < br / >
< div id = "alertListDiv" style = "margin:4px;padding:4px" >
< / div >
< / div >
< div id = "chatSettingsDiv" class = "settingsTabcontent" >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td title = "Messaging Enable" > Messaging Enable< / td >
< / tr >
< tr >
< td >
< input title = "Enable / Disable Messaging" type = "checkbox" id = "msgEnable" onclick = "setMsgEnable(this);" / >
< / td >
< / tr >
< / table >
< / div > < br / >
< div id = "msgSettingsDiv" class = "mapItem" style = "padding:5px" >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td title = "New Message Alert" > New Message Alert< / td >
< / tr >
< tr >
< td >
< select id = "msgAlertSelect" name = "msgAlertSelect" onchange = "newMessageSetting(this); alertChatMessage();" >
< option value = "0" > None< / option >
< option value = "1" > Text-to-Speech< / option >
< option value = "2" > Media File< / option >
< / select >
< / td >
< / tr >
< tr >
< td >
< input id = "msgAlertWord" type = "text" class = "inputTextValue" size = "14" onkeyup = "if (event.keyCode === 13) {newMessageSetting(this); alertChatMessage(); }" oninput = "ValidateText(this);newMessageSetting(this);" / >
< select id = "msgAlertMedia" onchange = "newMessageSetting(this); alertChatMessage();" >
< / select >
< / td >
< / tr >
< / table >
< / div > < br / >
< div class = "mapItem" id = "msgFrequencySelectDiv" >
< table align = "center" >
< tr >
< td title = "New Message Alert Frequency" > Alert Frequency< / td >
< / tr >
< tr >
< td >
< select id = "msgFrequencySelect" name = "msgFrequencySelect" onchange = "newMessageSetting(this);" >
< option value = "0" > Once< / option >
< option value = "1" > 1 minute< / option >
< option value = "3" > 3 minutes< / option >
< option value = "5" > 5 minutes< / option >
< option value = "10" > 10 minutes< / option >
< option value = "15" > 15 minutes< / option >
< option value = "30" > 30 minutes< / option >
< option value = "60" > 1 hour< / option >
< / select >
< / td >
< / tr >
< / table >
< / div >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td title = "New Message Action" > New Message Action< / td >
< / tr >
< tr >
< td >
< select id = "msgActionSelect" name = "msgActionSelect" onchange = "newMessageSetting(this);" >
< option value = "0" > Do nothing< / option >
< option value = "1" > Open Messaging Window< / option >
< / select >
< / td >
< / tr >
< / table >
< / div > < br / >
< div class = "mapItem" >
< table align = "center" >
< tr >
< td title = "Away Mode" > Away Mode< / td >
< / tr >
< tr >
< td >
< select id = "msgAwaySelect" name = "msgAwaySelect" onchange = "newMessageSetting(this);" >
< option value = "0" > Not Away< / option >
< option value = "1" > I Am Away< / option >
< / select >
< / td >
< / tr >
< / table >
< / div > < br / >
< div class = "mapItem" id = "msgAwayTextDiv" >
< table align = "center" >
< tr >
< td title = "Away Text" > Away Text< / td >
< / tr >
< tr >
< td >
< input id = "msgAwayText" type = "text" class = "inputTextValue" size = "30" oninput = "ValidateText(this); newMessageSetting(this);" / >
< / td >
< / tr >
< / table >
< / div >
< / div >
< / div >
< div id = "aboutDiv" class = "settingsTabcontent" >
< div class = "mapItem" style = "padding:4px" >
< H2 > GridTracker< / H2 >
< br / >
GridTracker listens to traffic from WSJT-X and displays it on a map< br / >
< i > It will also load ADIF log files< / i > - Feb 2018< br / >
< br / >
© 2020 Stephen "Tag" Loomis / NØ TTL< br / >
< br / >
© 2020 Henry "atouk" Forte / N2VFL< br / >
2020-08-26 02:38:51 +00:00
< p >
< H3 > Contributors< / H3 >
2020-08-26 20:17:55 +00:00
< b > NRØ Q< / b > < p >
"d3jake" KEØ RIY - "Don" KB2YSI - K4KPW - "Paul" K6PST
2020-08-19 16:55:41 +00:00
< br / >
< img src = "./gridview.png" / > < br / >
< / div >
< / div >
< div id = "updateSettingsDiv" class = "settingsTabcontent" >
2020-08-19 17:01:51 +00:00
< div style = "left:0;overflow:auto;display:inline-block;height:510px;width:740px;padding:4px;text-align:left;font-size:14px;" id = "updateText" >
< / div >
2020-08-19 16:55:41 +00:00
< / div >
< div style = "top:0;right:1px;position:absolute" >
< button class = "Xbutton" onclick = "rootSettingsDiv.style.display='none';" > X< / button >
< / div >
< / div >
< / div >
< div id = "alertsPopDiv" style = "margin: 0 auto;top:2px;min-height:80px;max-height:80%;left:2px;display:none;background-color:white;padding:0px;text-align:center;vertical-align:middle;position:absolute;z-index:650;border:3px groove red;white-space:nowrap;overflow:hidden;" class = "roundBorder" >
< b > New Alerts!!!< / b >
< div id = "alertPopListDiv" style = "margin:2px;padding:2px" >
< / div >
< div class = "button" onclick = "ackAlerts();" > DISMISS< / div >
< / div >
< div id = "versionDiv" style = "margin: 0 auto; left: 0; right: 0;top:0;width:100%;height:100%;display:none;background-color:black;text-align:center;vertical-align:middle;position:absolute;z-index:800;" >
< h1 > GridTracker Updated!< / h1 >
< div id = "newVersionMustDownloadDiv" style = "color:LightGreen" > < / div >
< table align = "center" >
< tr >
< td >
< div class = "button" onclick = "cancelVersion();" > No, thanks.< / div >
< / td >
< td >
< div class = "button" onclick = "onExitAppToGoWebsite();" > Yes, please!< / div >
< / td >
< tr >
< td >
Stop asking?< input type = "checkbox" checked = "false" id = "stopAskingCheckbox" onclick = "stopAsking(this);" / >
< / td >
< / tr >
< / table >
< / div >
< / div >
< div id = "upToDateDiv" style = "margin: 0 auto; left: 0; right: 0;top:0;height:100%;width:100%;display:none;background-color:black;text-align:center;vertical-align:middle;position:absolute;z-index:800;white-space: nowrap;overflow:hidden;" >
< h2 > GridTracker is up to date!< / h2 >
< div class = "button" onclick = "closeUpdateToDateDiv();" > OK< / div >
< / div >
< div id = "selectNodeDiv" style = "-webkit-user-select:text;display:block;zIndex:-10000" > < / div >
< / div >
< / body >
< / html >