kopia lustrzana https://gitlab.com/gridtracker.org/gridtracker
				
				
				
			
		
			
				
	
	
		
			3670 wiersze
		
	
	
		
			135 KiB
		
	
	
	
		
			HTML
		
	
	
			
		
		
	
	
			3670 wiersze
		
	
	
		
			135 KiB
		
	
	
	
		
			HTML
		
	
	
| <!DOCTYPE html>
 | |
| <!--
 | |
| GridTracker Copyright © 2018-2022 GridTracker.org
 | |
| All rights reserved.
 | |
| 
 | |
| Redistribution and use in source and binary forms, with or without
 | |
| modification, are permitted provided that the following conditions are met:
 | |
| 
 | |
| 1. Redistributions of source code must retain the above copyright notice, this
 | |
|    list of conditions and the following disclaimer.
 | |
| 
 | |
| 2. Redistributions in binary form must reproduce the above copyright notice,
 | |
|    this list of conditions and the following disclaimer in the documentation
 | |
|    and/or other materials provided with the distribution.
 | |
| 
 | |
| 3. Neither the name of the copyright holder nor the names of its
 | |
|    contributors may be used to endorse or promote products derived from
 | |
|    this software without specific prior written permission.
 | |
| 
 | |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 | |
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | |
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 | |
| DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
 | |
| FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | |
| DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 | |
| SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 | |
| CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 | |
| OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 | |
| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | |
| -->
 | |
| <html lang="en" xml:lang="en">
 | |
|   <head>
 | |
|     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 | |
|     <title>GridTracker</title>
 | |
|     <link rel="stylesheet" href="./lib/dp-dark.css" />
 | |
|     <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>
 | |
|     <script src="./lib/datepicker.js"></script>
 | |
|     <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/pota.js" type="text/javascript"></script>
 | |
|     <script src="./lib/gt.js" type="text/javascript"></script>
 | |
|     <script src="./lib/screens.js" type="text/javascript"></script>
 | |
|   </head>
 | |
|   <body id="mainBody" onload="initialDatabases();">
 | |
|     <div id="startupDiv">
 | |
|       <div class="fill">
 | |
|         <img src="gridview.png" alt="" />
 | |
|       </div>
 | |
|       <div>
 | |
|         <h1><div id="startupVersionDiv">GridTracker</div></h1>
 | |
|       </div>
 | |
|       <div>
 | |
|         <h3><i>An Amateur Radio Companion</i></h3>
 | |
|       </div>
 | |
|       <div id="startupStatusDiv">Initial Startup</div>
 | |
|     </div>
 | |
|     <div id="documentsDiv" style="display: none">
 | |
|       <div>
 | |
|         <div>
 | |
|           Your documents folder (
 | |
|           <div id="searchedDocFolder"></div>
 | |
|           ) could not be located.
 | |
|         </div>
 | |
|         <br />
 | |
|         <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="LegendDivQSO"
 | |
|                 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="LegendDivQSL"
 | |
|                 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="LegendDivQSX"
 | |
|                 title="Grids with station(s) communicating with stations other than you"
 | |
|                 style="
 | |
|                   padding-top: 2px;
 | |
|                   border: 2px solid #000000;
 | |
|                   width: 42px;
 | |
|                   height: 16px;
 | |
|                   background-color: #000088;
 | |
| 									color:#eee;
 | |
|                 "
 | |
|               >
 | |
|                 QSX
 | |
|               </div>
 | |
|             </td>
 | |
|             <td>
 | |
|               <div
 | |
|                 id="LegendDivCQ"
 | |
|                 title="Grids with station(s) calling CQ"
 | |
|                 style="
 | |
|                   padding-top: 2px;
 | |
|                   border: 2px solid #000000;
 | |
|                   width: 42px;
 | |
|                   height: 16px;
 | |
|                   background-color: #00ff00;
 | |
|                   color: #000;
 | |
|                 "
 | |
|               >
 | |
|                 CQ
 | |
|               </div>
 | |
|             </td>
 | |
|             <td>
 | |
|               <div
 | |
|                 id="LegendDivCQDX"
 | |
|                 title="Grids with station(s) calling CQ distance"
 | |
|                 style="
 | |
|                   padding-top: 2px;
 | |
|                   border: 2px solid #000000;
 | |
|                   width: 42px;
 | |
|                   height: 16px;
 | |
|                   background-color: #00FFFF;
 | |
|                   color: #000;
 | |
|                 "
 | |
|               >
 | |
|                 CQDX
 | |
|               </div>
 | |
|             </td>
 | |
|           </tr>
 | |
|           <tr>
 | |
|             <td>
 | |
|               <div
 | |
|                 id="LegendDivQRZ"
 | |
|                 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="LegendDivQTH"
 | |
|                 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="LegendDivWSPR"
 | |
|                 title="WSPR Stations"
 | |
|                 style="
 | |
|                   padding-top: 2px;
 | |
|                   border: 2px solid black;
 | |
|                   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(event)"
 | |
|         >
 | |
|           <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>
 | |
|               <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>
 | |
|             </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">
 | |
|             <tr>
 | |
|               <td colspan="2">Map View Filters</td>
 | |
|             </tr>
 | |
| 
 | |
|             <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>
 | |
|                   <option value="630m">630m</option>
 | |
|                   <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>
 | |
|             </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>
 | |
|             </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">
 | |
|           <div
 | |
|             id="callRosterButton"
 | |
|             class="iconButton"
 | |
|             style="padding: 0px"
 | |
|             onclick="openCallRosterWindow();"
 | |
|             title="Open Call Roster"
 | |
|           >
 | |
|             <img src="./img/roster-button.png" 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(true)" class="iconButton" title="Open Lookup Window">
 | |
|             <img src="./img/lookup.png" class="buttonImg" />
 | |
|           </div>
 | |
|           <div id="statsDiv" onclick="showRootInfoBox();" class="iconButton" title="Show Stats">
 | |
|             <img src="./img/stats-button.png" class="buttonImg" />
 | |
|           </div>
 | |
|           <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>
 | |
|           <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.png" class="buttonImg" />
 | |
|           </div>
 | |
|           <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>
 | |
|           <div id="settingsButton" onclick="showSettingsBox();" class="iconButton" title="Settings">
 | |
|             <img src="./img/settings-button.png" class="buttonImg" />
 | |
|           </div>
 | |
|           <div id="adifLoadDiv" onclick="adifLoadDialog()" class="iconButton" title="Load ADIF Log">
 | |
|             <img src="./img/adif.png" class="buttonImg" />
 | |
|           </div>
 | |
|           <div id="conditionsButton" onclick="showConditionsBox();" class="iconButton" title="View Current Conditions">
 | |
|             <img src="./img/conditions.png" class="buttonImg" />
 | |
|           </div>
 | |
|           <div id="donateButton" onclick="gotoDonate();" class="iconButton" title="Donate with PayPal">
 | |
|             <img
 | |
|               style="-webkit-filter: brightness(50%); filter: brightness(50%)"
 | |
|               src="./img/donate.png"
 | |
|               class="buttonImg"
 | |
|             />
 | |
|           </div>
 | |
|           <div id="alterMuteDiv" onclick="toggleAlertMute()" class="iconButton" title="Toggle Audio Mute">
 | |
|             <img id="alertMuteImg" src="" class="buttonImg" />
 | |
|           </div>
 | |
|           <div id="buttonPSKSpotsBoxDiv" onClick="togglePskSpots();" class="iconButton" title="View Spot Reports">
 | |
|             <img id="pskSpotsImg" src="./img/spots.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) ) {  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>
 | |
|           <div
 | |
|             id="buttonAdifCheckBoxDiv"
 | |
|             onclick="startupAdifLoadFunction()"
 | |
|             class="iconButton"
 | |
|             title="Reload Local ADIF Files"
 | |
|           >
 | |
|             <img src="./img/log_local.png" class="buttonImg" />
 | |
|           </div>
 | |
|           <div id="timezoneButton" onclick="toggleTimezones()" class="iconButton" title="Toggle Timezone Layer">
 | |
|             <img src="./img/timezone-button.png" class="buttonImg" />
 | |
|           </div>
 | |
|           <div id="radarButton" onclick="toggleNexrad()" class="iconButton" title="Toggle US Nexrad">
 | |
|             <img src="./img/radar-button.png" class="buttonImg" />
 | |
|           </div>
 | |
|           <div id="potaButton" onClick="togglePota();" class="iconButton" title="Parks On The Air">
 | |
|             <img id="potaImg" src="./img/pota.png" class="buttonImg" />
 | |
|           </div>
 | |
|           <div id="gridOverlayButton" onclick="toggleAllGrids()" class="iconButton" title="Toggle All Grid Overlay">
 | |
|             <img src="./img/grid-overlay.png" class="buttonImg" />
 | |
|           </div>
 | |
|           <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="myParktip"         style="
 | |
|           -webkit-user-select: text;
 | |
|           user-select: text;
 | |
|           background-color: black;
 | |
|           padding: 2px;
 | |
|           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="myTooltip"
 | |
|         style="
 | |
|           -webkit-user-select: text;
 | |
|           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>
 | |
|       <div
 | |
|         id="helpDiv"
 | |
|         style="
 | |
|           animation: fadeInEffect 0.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"
 | |
|       >
 | |
|         <div id="printHotKeyDiv" style="border: 1px solid cyan; color: white; text-align: auto">
 | |
|           <table align="center" class="darkTable">
 | |
|             <tr>
 | |
|               <th colspan="6">Hot Key List (v1.20.0825+)</th>
 | |
|             </tr>
 | |
|             <tr>
 | |
|               <th>Key</th>
 | |
|               <th align="left">Action</th>
 | |
|               <th>Condition</th>
 | |
|               <th>Key</th>
 | |
|               <th align="left">Action</th>
 | |
|               <th>Condition</th>
 | |
|             </tr>
 | |
|             <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>
 | |
|           </table>
 | |
|         </div>
 | |
|         <div>
 | |
|           <br />
 | |
|           <div
 | |
|             class="button"
 | |
|             onclick="require('nw.gui').Shell.openExternal('https://storage.googleapis.com/gt_app/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, 'gridSettingsDiv')">Grids</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')">OAMS</button>
 | |
|           <button id="logbut" class="settingsTablinks" onclick="openSettingsTab(event, 'logbookSettingsDiv')">Logbook</button>
 | |
|           <button id="updatebut" 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">
 | |
|           <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="255"
 | |
|                           size="16"
 | |
|                           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, CheckReceivePortIsNotForwardPort) ) 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="255"
 | |
|                           size="16"
 | |
|                           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, CheckForwardPortIsNotReceivePort) )  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="8"
 | |
|                           size="8"
 | |
|                           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>
 | |
|                     </tr>
 | |
|                   </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>
 | |
|           <div class="mapItem" id="lookupCloseLogDiv">
 | |
|             <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>
 | |
|           <div class="mapItem" id="lookupCallookPreferredDiv">
 | |
|             <table align="center">
 | |
|               <tr>
 | |
|                 <td align="center">Use Callook before using other service</td>
 | |
|               </tr>
 | |
|               <tr align="center">
 | |
|                 <td title="Use Callook before using other service. Free Callook yields more data than free QRZ.">
 | |
|                   <input type="checkbox" id="lookupCallookPreferred" onclick="lookupValueChanged()" />
 | |
|                 </td>
 | |
|               </tr>
 | |
|             </table>
 | |
|           </div>
 | |
|           <br />
 | |
| 
 | |
|           <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>
 | |
|               <tr>
 | |
|                 <td>United States ULS</td>
 | |
|                 <td>
 | |
|                   <input type="checkbox" id="ulsUseEnable" onclick="ulsValuesChanged();" />
 | |
|                 </td>
 | |
|                 <td id="ulsUpdatedTd">Never</td>
 | |
|                 <td id="ulsCountTd">0</td>
 | |
|               </tr>
 | |
|               <tr>
 | |
|                 <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>
 | |
|               </tr>
 | |
|               <tr>
 | |
|                 <td>eQSL</td>
 | |
|                 <td>
 | |
|                   <input type="checkbox" id="eqslUseEnable" onclick="eqslValuesChanged();" />
 | |
|                 </td>
 | |
|                 <td id="eqslUpdatedTd">Never</td>
 | |
|                 <td id="eqslCountTd">0</td>
 | |
|               </tr>
 | |
|               <tr>
 | |
|                 <td>ClubLog OQRS</td>
 | |
|                 <td>
 | |
|                   <input type="checkbox" id="oqrsUseEnable" onclick="oqrsValuesChanged();" />
 | |
|                 </td>
 | |
|                 <td id="oqrsUpdatedTd">Never</td>
 | |
|                 <td id="oqrsCountTd">0</td>
 | |
|               </tr>
 | |
|             </table>
 | |
|           </div>
 | |
|         </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>
 | |
|           </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 />
 | |
|           <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>
 | |
|         <div id="logbookSettingsDiv" class="settingsTabcontent" style="padding: 5px">
 | |
|           <div style="padding: 5px" class="mapItem">
 | |
|             <div
 | |
|               style="padding: 5px"
 | |
|               class="mapItem"
 | |
|               title="Filter Logbook QSOs to include these Callsigns only
(comma separated)"
 | |
|             >
 | |
|               <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">
 | |
|                     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>
 | |
|             <div style="padding: 5px" class="mapItem" title="Filter Logbook QSOs from before this Date">
 | |
|               <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>
 | |
| 
 | |
|                   <td></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 />
 | |
|             <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>
 | |
|           </div>
 | |
|         </div>
 | |
|         <div id="gridSettingsDiv" class="settingsTabcontent">
 | |
|         <div class="mapItem"style="padding:10px;">
 | |
|           <div class="mapItem" style="height:49px;">
 | |
|             <table align="center">
 | |
|               <tr align="center">
 | |
|                 <td align="center"><b><i>Gridsquare Colors</i></b>
 | |
|               </tr>
 | |
|               <tr align="center">
 | |
|                 <td title="Reset Gridsquare Colors To Default">
 | |
|                   <div class="button" onclick="resetLegendColors()">Reset Colors</div>
 | |
|                 </td>
 | |
|               </tr>
 | |
|             </table>
 | |
|           </div>
 | |
| 
 | |
|           <div class="mapItem" id="QSOgridDiv" >
 | |
|             <table align="center">
 | |
|               <tr align="center">
 | |
|                 <td align="center"><b>QSO / Worked</b></td>
 | |
|               </tr>
 | |
|               <tr align="center">
 | |
|                 <td colspan="2">
 | |
|                  <input type="color" id="QSOgridValue" value="#000000" oninput="changeLegendColor(this)" />
 | |
|                 </td>
 | |
|               </tr>
 | |
|             </table>
 | |
|           </div>
 | |
|           <div class="mapItem" id="QSLgridDiv" >
 | |
|             <table align="center">
 | |
|               <tr align="center">
 | |
|                 <td align="center"><b>QSL / Confirmed</b></td>
 | |
|               </tr>
 | |
|               <tr align="center">
 | |
|                 <td colspan="2">
 | |
|                    <input type="color" id="QSLgridValue" value="#000000" oninput="changeLegendColor(this)" />
 | |
|                 </td>
 | |
|               </tr>
 | |
|             </table>
 | |
|           </div>
 | |
|           <div class="mapItem" id="QSXgridDiv" >
 | |
|             <table align="center">
 | |
|               <tr align="center">
 | |
|                 <td align="center"><b>QSX / Station-2-Station</b></td>
 | |
|               </tr>
 | |
|               <tr align="center">
 | |
|                 <td colspan="2">
 | |
|                    <input type="color" id="QSXgridValue" value="#000000" oninput="changeLegendColor(this)" />
 | |
|                 </td>
 | |
|               </tr>
 | |
|             </table>
 | |
|           </div>
 | |
|         <br />
 | |
|           <div class="mapItem" id="CQgridDiv" >
 | |
|             <table align="center">
 | |
|               <tr align="center">
 | |
|                 <td align="center"><b>'CQ' Stations</b></td>
 | |
|               </tr>
 | |
|               <tr align="center">
 | |
|                 <td colspan="2">
 | |
|                    <input type="color" id="CQgridValue" value="#000000" oninput="changeLegendColor(this)" />
 | |
|                 </td>
 | |
|               </tr>
 | |
|             </table>
 | |
|           </div>
 | |
| 
 | |
|           <div class="mapItem" id="CQDXgridDiv" >
 | |
|             <table align="center">
 | |
|               <tr align="center">
 | |
|                 <td align="center"><b>'CQ DX' Stations</b></td>
 | |
|               </tr>
 | |
|               <tr align="center">
 | |
|                 <td colspan="2">
 | |
|                    <input type="color" id="CQDXgridValue" value="#000000" oninput="changeLegendColor(this)" />
 | |
|                 </td>
 | |
|               </tr>
 | |
|             </table>
 | |
|           </div>
 | |
|           <div class="mapItem" id="QRZgridDiv" >
 | |
|             <table align="center">
 | |
|               <tr align="center">
 | |
|                 <td align="center"><b>QRZ / Your Traffic</b></td>
 | |
|               </tr>
 | |
|               <tr align="center">
 | |
|                 <td colspan="2">
 | |
|                   <input type="color" id="QRZgridValue" value="#000000" oninput="changeLegendColor(this)" />
 | |
|                 </td>
 | |
|               </tr>
 | |
|             </table>
 | |
|           </div>
 | |
|           <div class="mapItem" id="QTHgridDiv" >
 | |
|             <table align="center">
 | |
|               <tr align="center">
 | |
|                 <td align="center"><b>QTH / Home Gridsquare</b></td>
 | |
|               </tr>
 | |
|               <tr align="center">
 | |
|                 <td colspan="2">
 | |
|                   <input type="color" id="QTHgridValue" value="#000000" oninput="changeLegendColor(this)" />
 | |
|                 </td>
 | |
|               </tr>
 | |
|             </table>
 | |
|           </div>
 | |
| 
 | |
|           </div>
 | |
| 
 | |
|           <br />
 | |
|           <br />
 | |
|           <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">
 | |
|             <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>
 | |
|           <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>
 | |
|           <div class="mapItem">
 | |
|             <table align="center">
 | |
|               <tr>
 | |
|                 <td align="center">Auto Mouseover Grids</td>
 | |
|               </tr>
 | |
|               <tr align="center">
 | |
|                 <td title="Toggle Auto Mouseover Grid Tables">
 | |
|                   <input type="checkbox" id="mouseOverValue" onclick="changeMouseOverValue()" />
 | |
|                 </td>
 | |
|               </tr>
 | |
|             </table>
 | |
|           </div>
 | |
|           <br/>
 | |
|           <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>
 | |
|           </div>
 | |
|         </div>
 | |
|         <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>
 | |
|           </div>
 | |
|           <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">
 | |
|             <table align="center">
 | |
|               <tr>
 | |
|                 <td align="center" colspan="2">Map Settings Transparency</td>
 | |
|               </tr>
 | |
|               <tr>
 | |
|                 <td align="center" id="mapTransTd">50%</td>
 | |
|               </tr>
 | |
|               <tr align="center">
 | |
|                 <td colspan="2">
 | |
|                   <input
 | |
|                     type="range"
 | |
|                     min="0"
 | |
|                     max="1"
 | |
|                     value="0.5"
 | |
|                     step="0.01"
 | |
|                     class="slider"
 | |
|                     id="mapTransValue"
 | |
|                     oninput="mapTransChange();"
 | |
|                   />
 | |
|                 </td>
 | |
|               </tr>
 | |
|             </table>
 | |
|           </div>
 | |
|           <br />
 | |
|           <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 />
 | |
| 
 | |
|           <div class="mapItem">
 | |
|             <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">Merge Award Overlay</td>
 | |
|               </tr>
 | |
|               <tr align="center">
 | |
|                 <td title="Toggle Merge Award Overlay">
 | |
|                   <input type="checkbox" id="mergeOverlayValue" onclick="changeMergeOverlayValue()" />
 | |
|                 </td>
 | |
|               </tr>
 | |
|             </table>
 | |
|           </div>
 | |
|           <div class="mapItem">
 | |
|             <table align="center">
 | |
|               <tr>
 | |
|                 <td align="center">Fit Map To QRZ</td>
 | |
|               </tr>
 | |
|               <tr align="center">
 | |
|                 <td title="Toggle Fit Map To QRZ">
 | |
|                   <input type="checkbox" id="fitQRZvalue" onclick="changeFitQRZvalue()" />
 | |
|                 </td>
 | |
|               </tr>
 | |
|             </table>
 | |
|           </div>
 | |
|           <br />
 | |
|           <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>
 | |
|           <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>
 | |
|           </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" 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 />
 | |
|           <div class="mapItem" id="spotPathWidthDiv">
 | |
|             <table align="center">
 | |
|               <tr>
 | |
|                 <td align="center">PSK-Spot Path Width</td>
 | |
|                 <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>
 | |
| 
 | |
|              <br />
 | |
|           <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>
 | |
|                   <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>
 | |
|                   <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>
 | |
|         </div>
 | |
|         <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);"
 | |
|                   />
 | |
|                   <br />
 | |
|                   Station Profile ID<input
 | |
|                     id="CloudlogStationProfileID"
 | |
|                     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>
 | |
|                 <td>N3FJP Loggers</td>
 | |
|                 <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">
 | |
|           <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);" />
 | |
|                 </td>
 | |
|               </tr>
 | |
|             </table>
 | |
|           </div>
 | |
|           <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="5"
 | |
|                     max="300"
 | |
|                     value="120"
 | |
|                     step="15"
 | |
|                     class="slider"
 | |
|                     id="rosterTime"
 | |
|                     oninput="changeRosterTime()"
 | |
|                   />
 | |
|                 </td>
 | |
|               </tr>
 | |
|             </table>
 | |
|           </div>
 | |
|           <div class="mapItem">
 | |
|             <table align="center">
 | |
|               <tr align="center">
 | |
|                 <td align="center">Clear Call Roster on Band change</td>
 | |
|               </tr>
 | |
|               <tr align="center">
 | |
|                 <td colspan="2">
 | |
|                   <input type="checkbox" id="clearRosterOnBandChange" onchange="clearRosterOnBandChangeValueChanged(this);" />
 | |
|                 </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" title="Alert when new 'Wanted Row(s)' appear in the Call Roster">
 | |
|               <tr>
 | |
|                 <td colspan="2">Audio Alert On <b>New Wanted</b></td>
 | |
|               </tr>
 | |
|               <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>
 | |
|               <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>
 | |
|           <div class="mapItem" id="GTspotDiv">
 | |
|             <table align="center">
 | |
|               <tr>
 | |
|                 <td title="Send and Recieve Spot Reports through the OAMS network">Spotting</td>
 | |
|               </tr>
 | |
|               <tr>
 | |
|                 <td>
 | |
|                   <input
 | |
|                     title="Enable / Disable Spotting"
 | |
|                     type="checkbox"
 | |
|                     id="GTspotEnable"
 | |
|                     onclick="setGTspotEnable(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><div id="aboutVersionDiv">GridTracker</div></h2>
 | |
|             <p>
 | |
|               GridTracker is a warehouse of amateur radio information presented in an easy to use interface<br />
 | |
|               <br />
 | |
|               From Live Traffic Decodes<br />
 | |
|               Logbooks<br />
 | |
|               Real-time Spot Reports<br />
 | |
|               Weather<br />
 | |
|               Current Solar Conditions and More!<br />
 | |
|               Learn more at
 | |
|               <a
 | |
|                 href="#"
 | |
|                 style="cursor: pointer"
 | |
|                 onclick="require('nw.gui').Shell.openExternal('https://gridtracker.org/grid-tracker/');"
 | |
|                 >GridTracker.org!</a
 | |
|               >
 | |
|             </p>
 | |
|             <p>Copyright © 2022 GridTracker.org</p>
 | |
|             <img src="./gridview.png" /> <br />
 | |
|           </div>
 | |
|         </div>
 | |
|         <div id="updateSettingsDiv" class="settingsTabcontent">
 | |
|           <div style="left: 0; display: inline-block; height: 510px; width: 740px" id="updateText">
 | |
|             <embed src="./gt_update.pdf" style="width: 100%; height: 100%" frameborder="0" scrolling="yes" />
 | |
|           </div>
 | |
|         </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>
 | |
| 
 | |
|         <tr>
 | |
|           <td>
 | |
|             Stop asking?<input type="checkbox" checked="false" id="stopAskingCheckbox" onclick="stopAsking(this);" />
 | |
|           </td>
 | |
|         </tr>
 | |
|       </table>
 | |
|     </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; user-select: text; display: block; z-index: -10000"></div>
 | |
|   </body>
 | |
| </html>
 |