diff --git a/package.nw/GridTracker.html b/package.nw/GridTracker.html index d8aa395..20ccfc7 100644 --- a/package.nw/GridTracker.html +++ b/package.nw/GridTracker.html @@ -244,8 +244,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ onclick="startLookup(GT.localDXcall,localDXGrid.innerHTML);" + oncontextmenu="showWorkedByCall(GT.localDXcall, event);"> -
@@ -352,12 +352,12 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
0
QSL
0
@@ -949,7 +949,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- +
diff --git a/package.nw/gt_bandactivity.html b/package.nw/gt_bandactivity.html index 6e63626..69b3071 100644 --- a/package.nw/gt_bandactivity.html +++ b/package.nw/gt_bandactivity.html @@ -40,7 +40,7 @@ 0 && g_currentId != 0 && g_currentId in window.opener.g_gtFlagPins && window.opener.g_gtFlagPins[g_currentId].canmsg == true) + if (msg.length > 0 && g_currentId != 0 && g_currentId in window.opener.GT.gtFlagPins && window.opener.GT.gtFlagPins[g_currentId].canmsg == true) { var worker = ""; // No message history, so lets clear the div - if (!(g_currentId in window.opener.g_gtMessages)) messageTextDiv.innerHTML = ""; + if (!(g_currentId in window.opener.GT.gtMessages)) messageTextDiv.innerHTML = ""; - if (g_currentId in window.opener.g_gtSentAwayToCid) + if (g_currentId in window.opener.GT.gtSentAwayToCid) { var thisMsg = "Returned from away."; window.opener.gtSendMessage(thisMsg, g_currentId); worker = makeViewMessage("self", window.opener.myDEcall, thisMsg); messageTextDiv.innerHTML += worker; - delete window.opener.g_gtSentAwayToCid[g_currentId]; + delete window.opener.GT.gtSentAwayToCid[g_currentId]; } - if (window.opener.g_msgSettings.msgAwaySelect == 1) + if (window.opener.GT.msgSettings.msgAwaySelect == 1) { window.opener.msgAwaySelect.value = 0; window.opener.newMessageSetting(window.opener.msgAwaySelect); @@ -116,7 +116,7 @@ { lockNewWindows(); - if (window.opener.g_appSettings.gtAgree != "user agrees to messaging") + if (window.opener.GT.appSettings.gtAgree != "user agrees to messaging") { noticeDiv.style.display = "block"; wrapperDiv.style.display = "none"; @@ -148,7 +148,7 @@ function openIdCid(from) { - if (from.currentTarget.id in window.opener.g_gtFlagPins) + if (from.currentTarget.id in window.opener.GT.gtFlagPins) { openId(from.currentTarget.id); } @@ -166,9 +166,9 @@ { from.preventDefault(); - if (from.currentTarget.id in window.opener.g_gtFlagPins) + if (from.currentTarget.id in window.opener.GT.gtFlagPins) { - doLookup(window.opener.g_gtFlagPins[from.currentTarget.id].call); + doLookup(window.opener.GT.gtFlagPins[from.currentTarget.id].call); } else { @@ -183,9 +183,9 @@ function onHoverCid(from) { var cid = from.currentTarget.id; - if (cid in window.opener.g_gtFlagPins) + if (cid in window.opener.GT.gtFlagPins) { - from.currentTarget.title = window.opener.g_gtFlagPins[cid].band + " , " + window.opener.g_gtFlagPins[cid].mode + " , " + window.opener.g_dxccToAltName[window.opener.g_gtFlagPins[cid].dxcc]; + from.currentTarget.title = window.opener.GT.gtFlagPins[cid].band + " , " + window.opener.GT.gtFlagPins[cid].mode + " , " + window.opener.GT.dxccToAltName[window.opener.GT.gtFlagPins[cid].dxcc]; } else { @@ -230,9 +230,9 @@ newDiv.oncontextmenu = openLookupCid; var worker = "
" + callObj.fCall; - if (callObj.dxcc > 0 && callObj.dxcc in window.opener.g_dxccInfo) + if (callObj.dxcc > 0 && callObj.dxcc in window.opener.GT.dxccInfo) { - worker += ""; + worker += ""; } worker += "
"; newDiv.innerHTML = worker; @@ -267,9 +267,9 @@ function updateCallsign(id) { - if (id in window.opener.g_gtFlagPins) + if (id in window.opener.GT.gtFlagPins) { - var obj = window.opener.g_gtFlagPins[id]; + var obj = window.opener.GT.gtFlagPins[id]; if (obj.call != "" && obj.call != "NOCALL") { var show = true; @@ -346,9 +346,9 @@ removeAllChildNodes(allCallDiv); } - for (const x in window.opener.g_gtFlagPins) + for (const x in window.opener.GT.gtFlagPins) { - var obj = window.opener.g_gtFlagPins[x]; + var obj = window.opener.GT.gtFlagPins[x]; if (obj.call != "" && obj.call != "NOCALL") { var show = true; @@ -413,15 +413,15 @@ function showAllMessages() { activeCallsignsDiv.innerHTML = "no message history"; - if (Object.keys(window.opener.g_gtMessages).length > 0) + if (Object.keys(window.opener.GT.gtMessages).length > 0) { var worker = ""; - for (const key in window.opener.g_gtMessages) + for (const key in window.opener.GT.gtMessages) { - if (key in window.opener.g_gtFlagPins) + if (key in window.opener.GT.gtFlagPins) { worker += ""; - if (key in window.opener.g_gtUnread) + if (key in window.opener.GT.gtUnread) { worker += "🔥"; } @@ -430,7 +430,7 @@ worker += "💬"; } - worker += "" + window.opener.g_gtFlagPins[key].call.formatCallsign() + ""; + worker += "" + formatCallsign(window.opener.GT.gtFlagPins[key].call) + ""; worker += "❌"; } } @@ -445,8 +445,8 @@ { try { - if (what in window.opener.g_gtMessages) delete window.opener.g_gtMessages[what]; - if (what in window.opener.g_gtUnread) delete window.opener.g_gtUnread[what]; + if (what in window.opener.GT.gtMessages) delete window.opener.GT.gtMessages[what]; + if (what in window.opener.GT.gtUnread) delete window.opener.GT.gtUnread[what]; } catch (e) {} @@ -475,7 +475,7 @@ function makeViewMessage(className, who, msg, when) { - var who = "" + who.formatCallsign() + ""; + var who = "" + formatCallsign(who) + ""; var time = "" + window.opener.userTimeString(when) + ""; var worker = who + " " + time + "
"; var msgTextClass = containsDoubleByte(msg) ? "msgTextUnicode" : "msgText"; @@ -486,8 +486,8 @@ function newChatMessage(id, jsmesg) { if (id == g_currentId) { - var worker = makeViewMessage("them", window.opener.g_gtFlagPins[id].call, jsmesg.msg, jsmesg.when); - if (id in window.opener.g_gtUnread) delete window.opener.g_gtUnread[id]; + var worker = makeViewMessage("them", window.opener.GT.gtFlagPins[id].call, jsmesg.msg, jsmesg.when); + if (id in window.opener.GT.gtUnread) delete window.opener.GT.gtUnread[id]; messageTextDiv.innerHTML += worker; scrollDown(messageTextDiv); return document.hasFocus(); @@ -516,14 +516,14 @@ { if (id == 0) return; - if (id in window.opener.g_gtFlagPins) + if (id in window.opener.GT.gtFlagPins) { - callsign.innerHTML = window.opener.g_gtFlagPins[id].call.formatCallsign(); - country.innerHTML = window.opener.g_dxccToAltName[window.opener.g_gtFlagPins[id].dxcc]; - grid.innerHTML = window.opener.g_gtFlagPins[id].grid; - band.innerHTML = window.opener.g_gtFlagPins[id].band; - mode.innerHTML = window.opener.g_gtFlagPins[id].mode; - appSource.innerHTML = window.opener.g_gtFlagPins[id].src in g_knownSources ? g_knownSources[window.opener.g_gtFlagPins[id].src] : window.opener.g_gtFlagPins[id].src; + callsign.innerHTML = formatCallsign(window.opener.GT.gtFlagPins[id].call); + country.innerHTML = window.opener.GT.dxccToAltName[window.opener.GT.gtFlagPins[id].dxcc]; + grid.innerHTML = window.opener.GT.gtFlagPins[id].grid; + band.innerHTML = window.opener.GT.gtFlagPins[id].band; + mode.innerHTML = window.opener.GT.gtFlagPins[id].mode; + appSource.innerHTML = window.opener.GT.gtFlagPins[id].src in g_knownSources ? g_knownSources[window.opener.GT.gtFlagPins[id].src] : window.opener.GT.gtFlagPins[id].src; } } @@ -533,31 +533,31 @@ // already displayed? if (id == g_currentId && messageAreaDiv.style.display == "inline-block") return; - if (!(id in window.opener.g_gtFlagPins)) return; + if (!(id in window.opener.GT.gtFlagPins)) return; var worker = ""; - if (id in window.opener.g_gtMessages && window.opener.g_gtMessages[id].history.length > 0) + if (id in window.opener.GT.gtMessages && window.opener.GT.gtMessages[id].history.length > 0) { - for (msg in window.opener.g_gtMessages[id].history) + for (msg in window.opener.GT.gtMessages[id].history) { - if (window.opener.g_gtMessages[id].history[msg].id != 0) + if (window.opener.GT.gtMessages[id].history[msg].id != 0) worker += makeViewMessage( "them", - window.opener.g_gtFlagPins[id].call, - window.opener.g_gtMessages[id].history[msg].msg, - window.opener.g_gtMessages[id].history[msg].when + window.opener.GT.gtFlagPins[id].call, + window.opener.GT.gtMessages[id].history[msg].msg, + window.opener.GT.gtMessages[id].history[msg].when ); else worker += makeViewMessage( "self", window.opener.myDEcall, - window.opener.g_gtMessages[id].history[msg].msg, - window.opener.g_gtMessages[id].history[msg].when + window.opener.GT.gtMessages[id].history[msg].msg, + window.opener.GT.gtMessages[id].history[msg].when ); } - if (id in window.opener.g_gtUnread) + if (id in window.opener.GT.gtUnread) { - delete window.opener.g_gtUnread[id]; + delete window.opener.GT.gtUnread[id]; updateCallsign(id); showAllMessages(); } @@ -566,7 +566,7 @@ g_currentId = id; messageAreaDiv.style.display = "inline-block"; - if (window.opener.g_gtFlagPins[id].live == false) + if (window.opener.GT.gtFlagPins[id].live == false) { notifyNoChat(id); } else { diff --git a/package.nw/gt_lookup.html b/package.nw/gt_lookup.html index 6d0593e..2d8d00f 100644 --- a/package.nw/gt_lookup.html +++ b/package.nw/gt_lookup.html @@ -39,7 +39,7 @@ } function statsFocus(selection) { - var which = document.getElementById(selection); + let which = document.getElementById(selection); if (which != null) { which.focus(); which.selectionStart = which.selectionEnd = which.value.length; @@ -48,7 +48,7 @@ function ValidateCallsign(inputText, validDiv) { if (inputText.value.length > 0) { - var passed = false; + let passed = false; inputText.value = inputText.value.toUpperCase(); if (/\d/.test(inputText.value) || /[A-Z]/.test(inputText.value)) { passed = true; @@ -78,7 +78,7 @@ function init() { ValidateCallsign(lookupCallsignInput, null); - window.opener.g_lookupWindowInitialized = true; + window.opener.GT.lookupWindowInitialized = true; } function addTextToClipboard(data) { @@ -86,8 +86,8 @@ } function setClipboardFromLookup() { - if (window.opener.g_lastLookupAddress) { - addTextToClipboard(window.opener.g_lastLookupAddress); + if (window.opener.GT.lastLookupAddress) { + addTextToClipboard(window.opener.GT.lastLookupAddress); } } diff --git a/package.nw/gt_roster.html b/package.nw/gt_roster.html index d80242a..aa4c2fd 100644 --- a/package.nw/gt_roster.html +++ b/package.nw/gt_roster.html @@ -21,6 +21,7 @@ + @@ -41,7 +42,6 @@ -
@@ -215,8 +215,8 @@ class="inputTextValue" size="12" id="huntRegexValue" - onfocus="g_typingInRoster=true;" - onblur="g_typingInRoster=false;" + onfocus="CR.typingInRoster=true;" + onblur="CR.typingInRoster=false;" oninput="valuesChanged();" onkeydown="blurOnEnter(this);" /> @@ -365,8 +365,8 @@ class="inputTextValue" size="8" id="noMsgValue" - onfocus="g_typingInRoster=true;" - onblur="g_typingInRoster=false;" + onfocus="CR.typingInRoster=true;" + onblur="CR.typingInRoster=false;" oninput="valuesChanged();" onkeydown="blurOnEnter(this);" /> @@ -382,8 +382,8 @@ class="inputTextValue" size="8" id="onlyMsgValue" - onfocus="g_typingInRoster=true;" - onblur="g_typingInRoster=false;" + onfocus="CR.typingInRoster=true;" + onblur="CR.typingInRoster=false;" oninput="valuesChanged();" onkeydown="blurOnEnter(this);" /> @@ -400,8 +400,8 @@ class="inputTextValue" size="12" id="callsignRegex" - onfocus="g_typingInRoster=true;" - onblur="g_typingInRoster=false;" + onfocus="CR.typingInRoster=true;" + onblur="CR.typingInRoster=false;" oninput="valuesChanged();" onkeydown="blurOnEnter(this);" /> diff --git a/package.nw/gt_stats.html b/package.nw/gt_stats.html index 08da0ff..3b750a9 100644 --- a/package.nw/gt_stats.html +++ b/package.nw/gt_stats.html @@ -20,6 +20,7 @@ Statistics + @@ -29,7 +30,6 @@ - diff --git a/package.nw/lib/adif.js b/package.nw/lib/adif.js index 0bffbb3..b87b1a8 100644 --- a/package.nw/lib/adif.js +++ b/package.nw/lib/adif.js @@ -1,8 +1,8 @@ // GridTracker Copyright © 2023 GridTracker.org // All rights reserved. // See LICENSE for more information. -var g_fromDirectCallNoFileDialog = false; -var selectStartupLink = null; +GT.fromDirectCallNoFileDialog = false; +GT.selectStartupLink = null; function dragOverHandler(ev) { @@ -99,7 +99,7 @@ function onAdiLoadComplete(adiBuffer, saveAdifFile, adifFileName, newFile) if (rawAdiBuffer.length > 1) { var regex = new RegExp("", "ig"); - rawAdiBuffer = rawAdiBuffer.replaceAll(regex, ""); + rawAdiBuffer = replaceAll(rawAdiBuffer, regex, ""); } if (rawAdiBuffer.length > 1) @@ -118,14 +118,14 @@ function onAdiLoadComplete(adiBuffer, saveAdifFile, adifFileName, newFile) if (appLoTW_RXQSO != "") { var dRXQSO = Date.parse(appLoTW_RXQSO); - var dLastLOTW_QSO = Date.parse(g_adifLogSettings.lastFetch.lotw_qso); + var dLastLOTW_QSO = Date.parse(GT.adifLogSettings.lastFetch.lotw_qso); if ((isNaN(dRXQSO) == false) && (isNaN(dLastLOTW_QSO) == false) && (dRXQSO > dLastLOTW_QSO)) { // add a second dRXQSO += 1000; var date = new Date(dRXQSO); // create Date object var timestring = date.toISOString(); - g_adifLogSettings.lastFetch.lotw_qso = timestring.slice(0, 10) + " " + timestring.slice(11, 19); + GT.adifLogSettings.lastFetch.lotw_qso = timestring.slice(0, 10) + " " + timestring.slice(11, 19); lotwTimestampUpdated = true; } } @@ -134,14 +134,14 @@ function onAdiLoadComplete(adiBuffer, saveAdifFile, adifFileName, newFile) if (appLoTW_RXQSL != "") { var dRXQSL = Date.parse(appLoTW_RXQSL); - var dLastLOTW_QSL = Date.parse(g_adifLogSettings.lastFetch.lotw_qsl); + var dLastLOTW_QSL = Date.parse(GT.adifLogSettings.lastFetch.lotw_qsl); if ((isNaN(dRXQSL) == false) && (isNaN(dLastLOTW_QSL) == false) && (dRXQSL > dLastLOTW_QSL)) { // add a second dRXQSL += 1000; var date = new Date(dRXQSL); // create Date object var timestring = date.toISOString(); - g_adifLogSettings.lastFetch.lotw_qsl = timestring.slice(0, 10) + " " + timestring.slice(11, 19); + GT.adifLogSettings.lastFetch.lotw_qsl = timestring.slice(0, 10) + " " + timestring.slice(11, 19); lotwTimestampUpdated = true; } } @@ -152,7 +152,7 @@ function onAdiLoadComplete(adiBuffer, saveAdifFile, adifFileName, newFile) finalDEcall = myDEcall; } - if (g_appSettings.workingCallsignEnable && !(finalDEcall in g_appSettings.workingCallsigns)) + if (GT.appSettings.workingCallsignEnable && !(finalDEcall in GT.appSettings.workingCallsigns)) { // not in the working callsigns, move to next continue; @@ -173,7 +173,7 @@ function onAdiLoadComplete(adiBuffer, saveAdifFile, adifFileName, newFile) var finalTime = parseInt(dateTime.getTime() / 1000); - if (g_appSettings.workingDateEnable && finalTime < g_appSettings.workingDate) + if (GT.appSettings.workingDateEnable && finalTime < GT.appSettings.workingDate) { // Not after our working date continue; @@ -189,7 +189,7 @@ function onAdiLoadComplete(adiBuffer, saveAdifFile, adifFileName, newFile) var finalBand = findAdiField(activeAdifArray[x], "BAND").toLowerCase(); if (finalBand == "" || finalBand == "oob") { - finalBand = Number(findAdiField(activeAdifArray[x], "FREQ")).formatBand(); + finalBand = formatBand(Number(findAdiField(activeAdifArray[x], "FREQ"))); } var finalState = findAdiField(activeAdifArray[x], "STATE").toUpperCase(); if (finalState.length == 0) finalState = null; @@ -208,7 +208,7 @@ function onAdiLoadComplete(adiBuffer, saveAdifFile, adifFileName, newFile) else { // GT references internally with NO spaces, this is important - finalCnty = finalCnty.replaceAll(" ", ""); + finalCnty = replaceAll(finalCnty, " ", ""); } var finalMode = findAdiField(activeAdifArray[x], "MODE").toUpperCase(); var subMode = findAdiField(activeAdifArray[x], "SUBMODE"); @@ -241,7 +241,7 @@ function onAdiLoadComplete(adiBuffer, saveAdifFile, adifFileName, newFile) finalDxcc = Number(callsignToDxcc(finalDXcall)); } - if (!(finalDxcc in g_dxccInfo)) + if (!(finalDxcc in GT.dxccInfo)) { finalDxcc = Number(callsignToDxcc(finalDXcall)); } @@ -288,13 +288,13 @@ function onAdiLoadComplete(adiBuffer, saveAdifFile, adifFileName, newFile) } var isDigital = false; var isPhone = false; - if (finalMode in g_modes) + if (finalMode in GT.modes) { - isDigital = g_modes[finalMode]; + isDigital = GT.modes[finalMode]; } - if (finalMode in g_modes_phone) + if (finalMode in GT.modes_phone) { - isPhone = g_modes_phone[finalMode]; + isPhone = GT.modes_phone[finalMode]; } // TODO: Revisit when we support more than one park ID var finalPOTA = findAdiField(activeAdifArray[x], "POTA").toUpperCase(); @@ -459,14 +459,14 @@ function onAdiLoadComplete(adiBuffer, saveAdifFile, adifFileName, newFile) updateCountStats(); updateLogbook(); - if (g_fromDirectCallNoFileDialog == false) + if (GT.fromDirectCallNoFileDialog == false) { - fileSelector.setAttribute("type", ""); - fileSelector.setAttribute("type", "file"); - fileSelector.setAttribute("accept", ".adi,"); - fileSelector.value = null; + GT.fileSelector.setAttribute("type", ""); + GT.fileSelector.setAttribute("type", "file"); + GT.fileSelector.setAttribute("accept", ".adi,"); + GT.fileSelector.value = null; } - g_fromDirectCallNoFileDialog = false; + GT.fromDirectCallNoFileDialog = false; updateRosterWorked(); goProcessRoster(); @@ -488,7 +488,7 @@ function clubLogCallback(buffer, flag, cookie) if (flag) clubTestResult.innerHTML = "Passed"; else { - g_fromDirectCallNoFileDialog = true; + GT.fromDirectCallNoFileDialog = true; rawAdiBuffer = cleanAndPrepADIF("clublog.adif", rawAdiBuffer); @@ -499,10 +499,10 @@ function clubLogCallback(buffer, flag, cookie) } } -var g_isGettingClub = false; +GT.isGettingClub = false; function grabClubLog(test) { - if (g_isGettingClub == false) + if (GT.isGettingClub == false) { if (test) clubTestResult.innerHTML = "Testing"; @@ -519,14 +519,14 @@ function grabClubLog(test) 443, postData, ClubLogImg, - "g_isGettingClub" + "GT.isGettingClub" ); } } function tryToWriteAdifToDocFolder(filename, buffer, append = false) { - var finalFile = g_appData + g_dirSeperator + filename; + var finalFile = GT.appData + GT.dirSeperator + filename; try { if (append == false) @@ -625,7 +625,7 @@ function lotwCallback(buffer, flag, cookies, url) { var shouldAppend = true; var adiFileName = "LogbookOfTheWorld.adif"; - g_fromDirectCallNoFileDialog = true; + GT.fromDirectCallNoFileDialog = true; // Extract header showing type of call // var lotwQSHeader = rawAdiBuffer.match(/^(\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2})/m); @@ -656,7 +656,7 @@ function lotwCallback(buffer, flag, cookies, url) function shouldWeAppendInsteadOfCreate(filename) { - var finalFile = g_appData + g_dirSeperator + filename; + var finalFile = GT.appData + GT.dirSeperator + filename; try { if (fs.existsSync(finalFile)) return true; @@ -670,7 +670,7 @@ function shouldWeAppendInsteadOfCreate(filename) function tryToDeleteLog(filename) { - var finalFile = g_appData + g_dirSeperator + filename; + var finalFile = GT.appData + GT.dirSeperator + filename; try { if (fs.existsSync(finalFile)) @@ -681,16 +681,16 @@ function tryToDeleteLog(filename) catch (e) {} } -var g_lotwCount = 0; +GT.lotwCount = 0; -var g_isGettingLOTW = false; -var g_lotwTest = false; +GT.isGettingLOTW = false; +GT.lotwTest = false; function grabLOtWLog(test) { var lastQSLDateString = ""; - if (test == true && g_isGettingLOTW == false) + if (test == true && GT.isGettingLOTW == false) { lotwTestResult.innerHTML = "Testing"; lastQSLDateString = "&qso_qsosince=2100-01-01"; @@ -708,7 +708,7 @@ function grabLOtWLog(test) "https", 443, lotwLogImg, - "g_isGettingLOTW", + "GT.isGettingLOTW", 150000 ); } @@ -722,12 +722,12 @@ function grabLOtWLog(test) function grabLoTWQSO() { - var dLoTWQSO = Date.parse(dateToISO8601(g_adifLogSettings.lastFetch.lotw_qso, "Z")); + var dLoTWQSO = Date.parse(dateToISO8601(GT.adifLogSettings.lastFetch.lotw_qso, "Z")); - if (g_isGettingLOTW == false && isNaN(dLoTWQSO) == false) + if (GT.isGettingLOTW == false && isNaN(dLoTWQSO) == false) { // Fetch QSOs - lastQSLDateString = "&qso_qsorxsince=" + g_adifLogSettings.lastFetch.lotw_qso; + lastQSLDateString = "&qso_qsorxsince=" + GT.adifLogSettings.lastFetch.lotw_qso; getABuffer( "https://lotw.arrl.org/lotwuser/lotwreport.adi?login=" + lotwLogin.value + @@ -740,7 +740,7 @@ function grabLoTWQSO() "https", 443, lotwLogImg, - "g_isGettingLOTW", + "GT.isGettingLOTW", 120000 ); } @@ -748,12 +748,12 @@ function grabLoTWQSO() function grabLoTWQSL() { - var dLoTWQSL = Date.parse(dateToISO8601(g_adifLogSettings.lastFetch.lotw_qsl, "Z")); + var dLoTWQSL = Date.parse(dateToISO8601(GT.adifLogSettings.lastFetch.lotw_qsl, "Z")); // Don't grab if the last QSL was less than 5 minutes ago - if (g_isGettingLOTW == false && isNaN(dLoTWQSL) == false) + if (GT.isGettingLOTW == false && isNaN(dLoTWQSL) == false) { - lastQSLDateString = "&qso_qslsince=" + g_adifLogSettings.lastFetch.lotw_qsl; + lastQSLDateString = "&qso_qslsince=" + GT.adifLogSettings.lastFetch.lotw_qsl; getABuffer( "https://lotw.arrl.org/lotwuser/lotwreport.adi?login=" + lotwLogin.value + @@ -766,7 +766,7 @@ function grabLoTWQSL() "https", 443, lotwLogImg, - "g_isGettingLOTW", + "GT.isGettingLOTW", 120000 ); } @@ -786,7 +786,7 @@ function qrzCallback(buffer, flag) } else { - g_fromDirectCallNoFileDialog = true; + GT.fromDirectCallNoFileDialog = true; var htmlString = String(buffer).replace(/</g, "<"); htmlString = htmlString.replace(/>/g, ">"); htmlString = htmlString.replace("ADIF=", "QRZ\r\n"); @@ -800,10 +800,10 @@ function qrzCallback(buffer, flag) } } -var g_isGettingQRZCom = false; +GT.isGettingQRZCom = false; function grabQrzComLog(test) { - if (g_isGettingQRZCom == false) + if (GT.isGettingQRZCom == false) { var action = "FETCH"; if (test) @@ -822,7 +822,7 @@ function grabQrzComLog(test) "https", 443, qrzLogImg, - "g_isGettingQRZCom", + "GT.isGettingQRZCom", null ); } @@ -884,15 +884,15 @@ function ValidateText(inputText) function pskCallback(buffer, flag) { - g_fromDirectCallNoFileDialog = true; + GT.fromDirectCallNoFileDialog = true; onAdiLoadComplete(buffer, false); } -var g_isGettingPsk = false; +GT.isGettingPsk = false; function grabPsk24() { - if (g_isGettingPsk == true) return; + if (GT.isGettingPsk == true) return; if (myDEcall.length > 0 && myDEcall != "NOCALL") { @@ -908,14 +908,14 @@ function grabPsk24() "https", 443, pskImg, - "g_isGettingPsk" + "GT.isGettingPsk" ); } } function adifMenuCheckBoxChanged(what) { - g_adifLogSettings.menu[what.id] = what.checked; + GT.adifLogSettings.menu[what.id] = what.checked; var menuItem = what.id + "Div"; if (what.checked == true) { @@ -926,22 +926,22 @@ function adifMenuCheckBoxChanged(what) document.getElementById(menuItem).style.display = "none"; } - localStorage.adifLogSettings = JSON.stringify(g_adifLogSettings); + localStorage.adifLogSettings = JSON.stringify(GT.adifLogSettings); if (what == buttonAdifCheckBox) setAdifStartup(loadAdifCheckBox); } function adifStartupCheckBoxChanged(what) { - g_adifLogSettings.startup[what.id] = what.checked; - localStorage.adifLogSettings = JSON.stringify(g_adifLogSettings); + GT.adifLogSettings.startup[what.id] = what.checked; + localStorage.adifLogSettings = JSON.stringify(GT.adifLogSettings); if (what == loadAdifCheckBox) setAdifStartup(loadAdifCheckBox); } function adifLogQsoCheckBoxChanged(what) { - g_adifLogSettings.qsolog[what.id] = what.checked; + GT.adifLogSettings.qsolog[what.id] = what.checked; if (what.id == "logLOTWqsoCheckBox") { if (what.checked == true) @@ -955,12 +955,12 @@ function adifLogQsoCheckBoxChanged(what) trustedTestButton.style.display = "none"; } } - localStorage.adifLogSettings = JSON.stringify(g_adifLogSettings); + localStorage.adifLogSettings = JSON.stringify(GT.adifLogSettings); } function adifNicknameCheckBoxChanged(what) { - g_adifLogSettings.nickname[what.id] = what.checked; + GT.adifLogSettings.nickname[what.id] = what.checked; if (what.id == "nicknameeQSLCheckBox") { if (what.checked == true) @@ -972,25 +972,25 @@ function adifNicknameCheckBoxChanged(what) eQSLNickname.style.display = "none"; } } - localStorage.adifLogSettings = JSON.stringify(g_adifLogSettings); + localStorage.adifLogSettings = JSON.stringify(GT.adifLogSettings); } function adifTextValueChange(what) { what.value = what.value.trim(); - g_adifLogSettings.text[what.id] = what.value; - localStorage.adifLogSettings = JSON.stringify(g_adifLogSettings); + GT.adifLogSettings.text[what.id] = what.value; + localStorage.adifLogSettings = JSON.stringify(GT.adifLogSettings); } -var fileSelector = document.createElement("input"); -fileSelector.setAttribute("type", "file"); -fileSelector.setAttribute("accept", ".adi,.adif"); -fileSelector.onchange = function () +GT.fileSelector = document.createElement("input"); +GT.fileSelector.setAttribute("type", "file"); +GT.fileSelector.setAttribute("accept", ".adi,.adif"); +GT.fileSelector.onchange = function () { if (this.files && this.files[0]) { var path = this.value.replace(this.files[0].name, ""); - fileSelector.setAttribute("nwworkingdir", path); + GT.fileSelector.setAttribute("nwworkingdir", path); var reader = new FileReader(); reader.onload = function (e) @@ -1007,34 +1007,31 @@ fileSelector.onchange = function () function adifLoadDialog() { - var exists = fileSelector.getAttribute("nwworkingdir"); - - fileSelector.setAttribute("nwworkingdir", g_appData); - - fileSelector.click(); - + var exists = GT.fileSelector.getAttribute("nwworkingdir"); + GT.fileSelector.setAttribute("nwworkingdir", GT.appData); + GT.fileSelector.click(); return false; } -var startupFileSelector = document.createElement("input"); -startupFileSelector.setAttribute("type", "file"); -startupFileSelector.setAttribute("accept", ".adi,.adif"); -startupFileSelector.onchange = function () +GT.startupFileSelector = document.createElement("input"); +GT.startupFileSelector.setAttribute("type", "file"); +GT.startupFileSelector.setAttribute("accept", ".adi,.adif"); +GT.startupFileSelector.onchange = function () { if (this.files && this.files[0]) { - for (var i in g_startupLogs) + for (var i in GT.startupLogs) { - if (this.value == g_startupLogs[i].file) return; + if (this.value == GT.startupLogs[i].file) return; } var newObject = Object(); newObject.name = this.files[0].name; newObject.file = this.value; - g_startupLogs.push(newObject); - localStorage.startupLogs = JSON.stringify(g_startupLogs); + GT.startupLogs.push(newObject); + localStorage.startupLogs = JSON.stringify(GT.startupLogs); var path = this.value.replace(this.files[0].name, ""); - startupFileSelector.setAttribute("nwworkingdir", path); + GT.startupFileSelector.setAttribute("nwworkingdir", path); setAdifStartup(loadAdifCheckBox); } @@ -1053,50 +1050,50 @@ function start_and_end(str) function setFileSelectors() { - selectStartupLink = document.getElementById("selectAdifButton"); - selectStartupLink.onclick = function () + GT.selectStartupLink = document.getElementById("selectAdifButton"); + GT.selectStartupLink.onclick = function () { - var exists = startupFileSelector.getAttribute("nwworkingdir"); + let exists = GT.startupFileSelector.getAttribute("nwworkingdir"); if (exists == null) { - if (g_workingIniPath.length > 1) - { startupFileSelector.setAttribute("nwworkingdir", g_appData); } + if (GT.workingIniPath.length > 1) + { GT.startupFileSelector.setAttribute("nwworkingdir", GT.appData); } } - startupFileSelector.click(); + GT.startupFileSelector.click(); return false; }; selectTqsl = document.getElementById("selectTQSLButton"); selectTqsl.onclick = function () { - tqslFileSelector.click(); + GT.tqslFileSelector.click(); return false; }; lotwUpload.prepend(selectTqsl); } -var tqslFileSelector = document.createElement("input"); -tqslFileSelector.setAttribute("type", "file"); -tqslFileSelector.setAttribute("accept", "*"); -tqslFileSelector.onchange = function () +GT.tqslFileSelector = document.createElement("input"); +GT.tqslFileSelector.setAttribute("type", "file"); +GT.tqslFileSelector.setAttribute("accept", "*"); +GT.tqslFileSelector.onchange = function () { if (this.files && this.files[0]) { - g_trustedQslSettings.binaryFile = this.files[0].path; + GT.trustedQslSettings.binaryFile = this.files[0].path; var fs = require("fs"); if ( - fs.existsSync(g_trustedQslSettings.binaryFile) && - (g_trustedQslSettings.binaryFile.endsWith("tqsl.exe") || - g_trustedQslSettings.binaryFile.endsWith("tqsl")) + fs.existsSync(GT.trustedQslSettings.binaryFile) && + (GT.trustedQslSettings.binaryFile.endsWith("tqsl.exe") || + GT.trustedQslSettings.binaryFile.endsWith("tqsl")) ) { - g_trustedQslSettings.binaryFileValid = true; + GT.trustedQslSettings.binaryFileValid = true; } - else g_trustedQslSettings.binaryFileValid = false; + else GT.trustedQslSettings.binaryFileValid = false; - if (g_trustedQslSettings.binaryFileValid == true) + if (GT.trustedQslSettings.binaryFileValid == true) { tqslFileDiv.style.backgroundColor = "blue"; } @@ -1106,7 +1103,7 @@ tqslFileSelector.onchange = function () } tqslFileDiv.innerHTML = "" + start_and_end(this.files[0].path) + ""; - localStorage.trustedQslSettings = JSON.stringify(g_trustedQslSettings); + localStorage.trustedQslSettings = JSON.stringify(GT.trustedQslSettings); } }; @@ -1114,10 +1111,10 @@ function loadGtQSOLogFile() { var fs = require("fs"); - if (fs.existsSync(g_qsoLogFile)) + if (fs.existsSync(GT.qsoLogFile)) { - g_fromDirectCallNoFileDialog = true; - onAdiLoadComplete(fs.readFileSync(g_qsoLogFile), false); + GT.fromDirectCallNoFileDialog = true; + onAdiLoadComplete(fs.readFileSync(GT.qsoLogFile), false); } } @@ -1133,26 +1130,26 @@ function loadLoTWLogFile() { var fs = require("fs"); - if (fs.existsSync(g_LoTWLogFile) && getFilesizeInBytes(g_LoTWLogFile) > 0) + if (fs.existsSync(GT.LoTWLogFile) && getFilesizeInBytes(GT.LoTWLogFile) > 0) { - g_fromDirectCallNoFileDialog = true; - onAdiLoadComplete(fs.readFileSync(g_LoTWLogFile), false); + GT.fromDirectCallNoFileDialog = true; + onAdiLoadComplete(fs.readFileSync(GT.LoTWLogFile), false); } else { // We have no history, so our dates are not valid any more - g_adifLogSettings.lastFetch.lotw_qso = "1970-01-01"; - g_adifLogSettings.lastFetch.lotw_qsl = "1970-01-01"; + GT.adifLogSettings.lastFetch.lotw_qso = "1970-01-01"; + GT.adifLogSettings.lastFetch.lotw_qsl = "1970-01-01"; } } function loadWsjtLogFile() { var fs = require("fs"); - if (fs.existsSync(g_workingIniPath + "wsjtx_log.adi")) + if (fs.existsSync(GT.workingIniPath + "wsjtx_log.adi")) { - g_fromDirectCallNoFileDialog = true; - onAdiLoadComplete(fs.readFileSync(g_workingIniPath + "wsjtx_log.adi"), false); + GT.fromDirectCallNoFileDialog = true; + onAdiLoadComplete(fs.readFileSync(GT.workingIniPath + "wsjtx_log.adi"), false); } } @@ -1161,31 +1158,31 @@ function findTrustedQSLPaths() var process = require("process"); var base = null; - if (g_trustedQslSettings.stationFileValid == true) + if (GT.trustedQslSettings.stationFileValid == true) { // double check the presence of the station_data; - if (!fs.existsSync(g_trustedQslSettings.stationFile)) + if (!fs.existsSync(GT.trustedQslSettings.stationFile)) { - g_trustedQslSettings.stationFileValid = false; + GT.trustedQslSettings.stationFileValid = false; } } - if (g_trustedQslSettings.stationFileValid == false) + if (GT.trustedQslSettings.stationFileValid == false) { - if (g_platform == "windows") + if (GT.platform == "windows") { base = process.env.APPDATA + "\\TrustedQSL\\station_data"; if (fs.existsSync(base)) { - g_trustedQslSettings.stationFile = base; - g_trustedQslSettings.stationFileValid = true; + GT.trustedQslSettings.stationFile = base; + GT.trustedQslSettings.stationFileValid = true; } else { base = process.env.LOCALAPPDATA + "\\TrustedQSL\\station_data"; if (fs.existsSync(base)) { - g_trustedQslSettings.stationFile = base; - g_trustedQslSettings.stationFileValid = true; + GT.trustedQslSettings.stationFile = base; + GT.trustedQslSettings.stationFileValid = true; } } } @@ -1194,12 +1191,12 @@ function findTrustedQSLPaths() base = process.env.HOME + "/.tqsl/station_data"; if (fs.existsSync(base)) { - g_trustedQslSettings.stationFile = base; - g_trustedQslSettings.stationFileValid = true; + GT.trustedQslSettings.stationFile = base; + GT.trustedQslSettings.stationFileValid = true; } } } - if (g_trustedQslSettings.stationFileValid == true) + if (GT.trustedQslSettings.stationFileValid == true) { var validate = false; var option = document.createElement("option"); @@ -1207,7 +1204,7 @@ function findTrustedQSLPaths() option.text = "Select a Station"; lotwStation.appendChild(option); - var buffer = fs.readFileSync(g_trustedQslSettings.stationFile, "UTF-8"); + var buffer = fs.readFileSync(GT.trustedQslSettings.stationFile, "UTF-8"); parser = new DOMParser(); xmlDoc = parser.parseFromString(buffer, "text/xml"); var x = xmlDoc.getElementsByTagName("StationData"); @@ -1216,7 +1213,7 @@ function findTrustedQSLPaths() option = document.createElement("option"); option.value = x[i].getAttribute("name"); option.text = x[i].getAttribute("name"); - if (option.value == g_adifLogSettings.text.lotwStation) + if (option.value == GT.adifLogSettings.text.lotwStation) { option.selected = true; validate = true; @@ -1229,32 +1226,32 @@ function findTrustedQSLPaths() } } - if (g_trustedQslSettings.binaryFileValid == true) + if (GT.trustedQslSettings.binaryFileValid == true) { // double check the presence of the TrustedQSL binary; - if (!fs.existsSync(g_trustedQslSettings.binaryFile)) + if (!fs.existsSync(GT.trustedQslSettings.binaryFile)) { - g_trustedQslSettings.binaryFileValid = false; + GT.trustedQslSettings.binaryFileValid = false; } } - if (g_trustedQslSettings.binaryFileValid == false || g_platform == "mac") + if (GT.trustedQslSettings.binaryFileValid == false || GT.platform == "mac") { - if (g_platform == "windows") + if (GT.platform == "windows") { base = process.env["ProgramFiles(x86)"] + "\\TrustedQSL\\tqsl.exe"; if (fs.existsSync(base)) { - g_trustedQslSettings.binaryFile = base; - g_trustedQslSettings.binaryFileValid = true; + GT.trustedQslSettings.binaryFile = base; + GT.trustedQslSettings.binaryFileValid = true; } } - else if (g_platform == "mac") + else if (GT.platform == "mac") { base = "/Applications/TrustedQSL/tqsl.app/Contents/MacOS/tqsl"; if (fs.existsSync(base)) { - g_trustedQslSettings.binaryFile = base; - g_trustedQslSettings.binaryFileValid = true; + GT.trustedQslSettings.binaryFile = base; + GT.trustedQslSettings.binaryFileValid = true; } else { @@ -1263,8 +1260,8 @@ function findTrustedQSLPaths() "/Applications/TrustedQSL/tqsl.app/Contents/MacOS/tqsl"; if (fs.existsSync(base)) { - g_trustedQslSettings.binaryFile = base; - g_trustedQslSettings.binaryFileValid = true; + GT.trustedQslSettings.binaryFile = base; + GT.trustedQslSettings.binaryFileValid = true; } else { @@ -1272,16 +1269,16 @@ function findTrustedQSLPaths() process.env.HOME + "/Applications/tqsl.app/Contents/MacOS/tqsl"; if (fs.existsSync(base)) { - g_trustedQslSettings.binaryFile = base; - g_trustedQslSettings.binaryFileValid = true; + GT.trustedQslSettings.binaryFile = base; + GT.trustedQslSettings.binaryFileValid = true; } else { base = "/Applications/tqsl.app/Contents/MacOS/tqsl"; if (fs.existsSync(base)) { - g_trustedQslSettings.binaryFile = base; - g_trustedQslSettings.binaryFileValid = true; + GT.trustedQslSettings.binaryFile = base; + GT.trustedQslSettings.binaryFileValid = true; } else { @@ -1290,8 +1287,8 @@ function findTrustedQSLPaths() "/Desktop/TrustedQSL/tqsl.app/Contents/MacOS/tqsl"; if (fs.existsSync(base)) { - g_trustedQslSettings.binaryFile = base; - g_trustedQslSettings.binaryFileValid = true; + GT.trustedQslSettings.binaryFile = base; + GT.trustedQslSettings.binaryFileValid = true; } else { @@ -1300,8 +1297,8 @@ function findTrustedQSLPaths() "/Applications/Ham Radio/tqsl.app/Contents/MacOS/tqsl"; if (fs.existsSync(base)) { - g_trustedQslSettings.binaryFile = base; - g_trustedQslSettings.binaryFileValid = true; + GT.trustedQslSettings.binaryFile = base; + GT.trustedQslSettings.binaryFileValid = true; } } } @@ -1309,40 +1306,40 @@ function findTrustedQSLPaths() } } } - else if (g_platform == "linux") + else if (GT.platform == "linux") { base = "/usr/bin/tqsl"; if (fs.existsSync(base)) { - g_trustedQslSettings.binaryFile = base; - g_trustedQslSettings.binaryFileValid = true; + GT.trustedQslSettings.binaryFile = base; + GT.trustedQslSettings.binaryFileValid = true; } else { base = "/usr/local/bin/tqsl"; if (fs.existsSync(base)) { - g_trustedQslSettings.binaryFile = base; - g_trustedQslSettings.binaryFileValid = true; + GT.trustedQslSettings.binaryFile = base; + GT.trustedQslSettings.binaryFileValid = true; } } } } - localStorage.trustedQslSettings = JSON.stringify(g_trustedQslSettings); + localStorage.trustedQslSettings = JSON.stringify(GT.trustedQslSettings); } function startupAdifLoadFunction() { var fs = require("fs"); - for (var i in g_startupLogs) + for (var i in GT.startupLogs) { try { - if (fs.existsSync(g_startupLogs[i].file)) + if (fs.existsSync(GT.startupLogs[i].file)) { - g_fromDirectCallNoFileDialog = true; - onAdiLoadComplete(fs.readFileSync(g_startupLogs[i].file), false); + GT.fromDirectCallNoFileDialog = true; + onAdiLoadComplete(fs.readFileSync(GT.startupLogs[i].file), false); } } catch (e) {} @@ -1351,19 +1348,19 @@ function startupAdifLoadFunction() function setAdifStartup(checkbox) { - if (g_trustedQslSettings.binaryFile == null) - { g_trustedQslSettings.binaryFile = ""; } + if (GT.trustedQslSettings.binaryFile == null) + { GT.trustedQslSettings.binaryFile = ""; } if ( - g_trustedQslSettings.binaryFile.endsWith("tqsl.exe") || - g_trustedQslSettings.binaryFile.endsWith("tqsl") + GT.trustedQslSettings.binaryFile.endsWith("tqsl.exe") || + GT.trustedQslSettings.binaryFile.endsWith("tqsl") ) { - g_trustedQslSettings.binaryFileValid = true; + GT.trustedQslSettings.binaryFileValid = true; } - else g_trustedQslSettings.binaryFileValid = false; + else GT.trustedQslSettings.binaryFileValid = false; - if (g_trustedQslSettings.binaryFileValid == true) + if (GT.trustedQslSettings.binaryFileValid == true) { tqslFileDiv.style.backgroundColor = "blue"; } @@ -1372,20 +1369,20 @@ function setAdifStartup(checkbox) tqslFileDiv.style.backgroundColor = "red"; } tqslFileDiv.innerHTML = - "" + start_and_end(g_trustedQslSettings.binaryFile) + ""; + "" + start_and_end(GT.trustedQslSettings.binaryFile) + ""; if (buttonAdifCheckBox.checked || loadAdifCheckBox.checked) { var worker = ""; - if (g_startupLogs.length > 0) + if (GT.startupLogs.length > 0) { worker += ""; - for (var i in g_startupLogs) + for (var i in GT.startupLogs) { worker += ""; @@ -1402,38 +1399,38 @@ function setAdifStartup(checkbox) else { startupLogFileDiv.innerHTML = "No file(s) selected"; - startupFileSelector.setAttribute("type", ""); - startupFileSelector.setAttribute("type", "file"); - startupFileSelector.setAttribute("accept", ".adi*"); - startupFileSelector.value = null; + GT.startupFileSelector.setAttribute("type", ""); + GT.startupFileSelector.setAttribute("type", "file"); + GT.startupFileSelector.setAttribute("accept", ".adi*"); + GT.startupFileSelector.value = null; selectFileOnStartupDiv.style.display = "none"; } } function removeStartupLog(i) { - if (i in g_startupLogs) + if (i in GT.startupLogs) { - g_startupLogs.splice(i, 1); - localStorage.startupLogs = JSON.stringify(g_startupLogs); + GT.startupLogs.splice(i, 1); + localStorage.startupLogs = JSON.stringify(GT.startupLogs); setAdifStartup(loadAdifCheckBox); } } function startupAdifLoadCheck() { - logEventMedia.value = g_alertSettings.logEventMedia; + logEventMedia.value = GT.alertSettings.logEventMedia; loadWsjtLogFile(); if (loadGTCheckBox.checked == true) loadGtQSOLogFile(); - if (loadAdifCheckBox.checked == true && g_startupLogs.length > 0) + if (loadAdifCheckBox.checked == true && GT.startupLogs.length > 0) { startupAdifLoadFunction(); } - if (g_mapSettings.offlineMode == false) + if (GT.mapSettings.offlineMode == false) { - if (g_appSettings.gtFlagImgSrc == 1) showGtFlags(); + if (GT.appSettings.gtFlagImgSrc == 1) showGtFlags(); if (loadLOTWCheckBox.checked == true) { @@ -1765,24 +1762,24 @@ function convertToDate(julian) return new Date((Number(julian) - UNIX_EPOCH_JULIAN_DATE) * DAY); } -var CLk = "25bc718451a71954cb6d0d1b50541dd45d4ba148"; +const CLk = "25bc718451a71954cb6d0d1b50541dd45d4ba148"; -var g_lastReport = ""; +GT.lastReport = ""; -var g_oldStyleLogMessage = null; +GT.oldStyleLogMessage = null; function oldSendToLogger() { - var newMessage = Object.assign({}, g_oldStyleLogMessage); + var newMessage = Object.assign({}, GT.oldStyleLogMessage); - var band = Number(newMessage.Frequency / 1000000).formatBand(); + var band = formatBand(Number(newMessage.Frequency / 1000000)); if ( newMessage.DXGrid.length == 0 && - newMessage.DXCall + band + newMessage.MO in g_liveCallsigns + newMessage.DXCall + band + newMessage.MO in GT.liveCallsigns ) { - newMessage.DXGrid = g_liveCallsigns[ + newMessage.DXGrid = GT.liveCallsigns[ newMessage.DXCall + band + newMessage.MO ].grid.substr(0, 4); } @@ -1791,7 +1788,7 @@ function oldSendToLogger() report += valueToAdiField( "BAND", - Number(newMessage.Frequency / 1000000).formatBand() + formatBand(Number(newMessage.Frequency / 1000000)) ); report += valueToAdiField("CALL", newMessage.DXCall.toUpperCase()); report += valueToAdiField( @@ -1850,7 +1847,7 @@ function oldSendToLogger() sendToLogger(report); } -var g_adifLookupMap = { +GT.adifLookupMap = { name: "NAME", iota: "IOTA", sota: "SOTA_REF", @@ -1875,17 +1872,17 @@ function sendToLogger(ADIF) var localHash = record.CALL + record.BAND + localMode; if ( (!("GRIDSQUARE" in record) || record.GRIDSQUARE.length == 0) && - localHash in g_liveCallsigns + localHash in GT.liveCallsigns ) { - record.GRIDSQUARE = g_liveCallsigns[localHash].grid.substr(0, 4); + record.GRIDSQUARE = GT.liveCallsigns[localHash].grid.substr(0, 4); } - if (g_appSettings.potaEnabled == 1 && localHash in g_liveCallsigns && g_liveCallsigns[localHash].pota) + if (GT.appSettings.potaEnabled == 1 && localHash in GT.liveCallsigns && GT.liveCallsigns[localHash].pota) { - if (g_liveCallsigns[localHash].pota != "?-????") + if (GT.liveCallsigns[localHash].pota != "?-????") { - record.POTA = g_liveCallsigns[localHash].pota; + record.POTA = GT.liveCallsigns[localHash].pota; } } @@ -1922,12 +1919,12 @@ function sendToLogger(ADIF) // Tag: This is going to bite us in the butt later, but leaving it alone. if (!("COUNTRY" in record) && Number(record.DXCC) > 0) { - record.COUNTRY = g_dxccToADIFName[Number(record.DXCC)]; + record.COUNTRY = GT.dxccToADIFName[Number(record.DXCC)]; } - if (g_appSettings.lookupMerge == true) + if (GT.appSettings.lookupMerge == true) { - var request = g_Idb + var request = GT.Idb .transaction(["lookups"], "readwrite") .objectStore("lookups") .get(record.CALL); @@ -1939,9 +1936,9 @@ function sendToLogger(ADIF) var lookup = request.result; for (var key in lookup) { - if (key in g_adifLookupMap) + if (key in GT.adifLookupMap) { - record[g_adifLookupMap[key]] = lookup[key]; + record[GT.adifLookupMap[key]] = lookup[key]; } } if ("GRIDSQUARE" in record && "grid" in lookup) @@ -1954,7 +1951,7 @@ function sendToLogger(ADIF) } } if ( - g_appSettings.lookupMissingGrid && + GT.appSettings.lookupMissingGrid && "grid" in lookup && (!("GRIDSQUARE" in record) || record.GRIDSQUARE.length == 0) ) @@ -1997,42 +1994,42 @@ function finishSendingReport(record, localMode) reportWithPota += ""; // Full record dupe check - if (report != g_lastReport) + if (report != GT.lastReport) { - g_lastReport = report; + GT.lastReport = report; - if (g_appSettings.potaEnabled == 1 && "POTA" in record) + if (GT.appSettings.potaEnabled == 1 && "POTA" in record) { reportPotaQSO(record); addLastTraffic("Spotted to POTA"); } if ( - g_N1MMSettings.enable == true && - g_N1MMSettings.port > 1024 && - g_N1MMSettings.ip.length > 4 + GT.N1MMSettings.enable == true && + GT.N1MMSettings.port > 1024 && + GT.N1MMSettings.ip.length > 4 ) { sendUdpMessage( report, report.length, - parseInt(g_N1MMSettings.port), - g_N1MMSettings.ip + parseInt(GT.N1MMSettings.port), + GT.N1MMSettings.ip ); addLastTraffic("Logged to N1MM"); } if ( - g_log4OMSettings.enable == true && - g_log4OMSettings.port > 1024 && - g_log4OMSettings.ip.length > 4 + GT.log4OMSettings.enable == true && + GT.log4OMSettings.port > 1024 && + GT.log4OMSettings.ip.length > 4 ) { sendUdpMessage( "ADD " + report, report.length + 4, - parseInt(g_log4OMSettings.port), - g_log4OMSettings.ip + parseInt(GT.log4OMSettings.port), + GT.log4OMSettings.ip ); addLastTraffic("Logged to Log4OM"); } @@ -2051,7 +2048,7 @@ function finishSendingReport(record, localMode) if (logGTqsoCheckBox.checked == true) { var fs = require("fs"); - fs.appendFileSync(g_qsoLogFile, reportWithPota + "\r\n"); + fs.appendFileSync(GT.qsoLogFile, reportWithPota + "\r\n"); addLastTraffic( "Logged to GridTracker backup" ); @@ -2101,14 +2098,14 @@ function finishSendingReport(record, localMode) } if ( - g_acLogSettings.enable == true && - g_acLogSettings.port > 0 && - g_acLogSettings.ip.length > 4 + GT.acLogSettings.enable == true && + GT.acLogSettings.port > 0 && + GT.acLogSettings.ip.length > 4 ) { try { - sendACLogMessage(record, g_acLogSettings.port, g_acLogSettings.ip); + sendACLogMessage(record, GT.acLogSettings.port, GT.acLogSettings.ip); addLastTraffic("Logged to N3FJP"); } catch (e) @@ -2118,17 +2115,17 @@ function finishSendingReport(record, localMode) } if ( - g_dxkLogSettings.enable == true && - g_dxkLogSettings.port > 0 && - g_dxkLogSettings.ip.length > 4 + GT.dxkLogSettings.enable == true && + GT.dxkLogSettings.port > 0 && + GT.dxkLogSettings.ip.length > 4 ) { try { sendDXKeeperLogMessage( report, - g_dxkLogSettings.port, - g_dxkLogSettings.ip + GT.dxkLogSettings.port, + GT.dxkLogSettings.ip ); addLastTraffic("Logged to DXKeeper"); } @@ -2139,17 +2136,17 @@ function finishSendingReport(record, localMode) } if ( - g_HRDLogbookLogSettings.enable == true && - g_HRDLogbookLogSettings.port > 0 && - g_HRDLogbookLogSettings.ip.length > 4 + GT.HRDLogbookLogSettings.enable == true && + GT.HRDLogbookLogSettings.port > 0 && + GT.HRDLogbookLogSettings.ip.length > 4 ) { try { sendHRDLogbookEntry( record, - g_HRDLogbookLogSettings.port, - g_HRDLogbookLogSettings.ip + GT.HRDLogbookLogSettings.port, + GT.HRDLogbookLogSettings.ip ); addLastTraffic( "Logged to HRD Logbook" @@ -2302,7 +2299,7 @@ function eqslCallback(buffer, flag) function eQSLTest(test) { - if (g_mapSettings.offlineMode == true) return; + if (GT.mapSettings.offlineMode == true) return; eQSLTestResult.innerHTML = "Testing"; @@ -2320,7 +2317,7 @@ function eQSLTest(test) function sendeQSLEntry(report) { - if (g_mapSettings.offlineMode == true) return; + if (GT.mapSettings.offlineMode == true) return; if (logeQSLQSOCheckBox.checked == true) { @@ -2343,7 +2340,7 @@ function sendeQSLEntry(report) function testTrustedQSL(test) { - if (g_mapSettings.offlineMode == true) + if (GT.mapSettings.offlineMode == true) { lotwTestResult.innerHTML = "Currently
offline"; return; @@ -2351,8 +2348,8 @@ function testTrustedQSL(test) if ( logLOTWqsoCheckBox.checked == true && - g_trustedQslSettings.binaryFileValid == true && - g_trustedQslSettings.stationFileValid == true && + GT.trustedQslSettings.binaryFileValid == true && + GT.trustedQslSettings.stationFileValid == true && lotwStation.value.length > 0 ) { @@ -2364,7 +2361,7 @@ function testTrustedQSL(test) options.push("-v"); child_process.execFile( - g_trustedQslSettings.binaryFile, + GT.trustedQslSettings.binaryFile, options, (error, stdout, stderr) => { @@ -2379,25 +2376,25 @@ function testTrustedQSL(test) else { var worker = ""; - if (g_trustedQslSettings.binaryFileValid == false) + if (GT.trustedQslSettings.binaryFileValid == false) { worker += "Invalid tqsl executable
"; } - if (g_trustedQslSettings.stationFileValid == false) + if (GT.trustedQslSettings.stationFileValid == false) { worker += "TrustQSL not installed
"; } if (!ValidateText(lotwTrusted)) worker += "TQSL Password missing
"; if (!ValidateText(lotwStation)) worker += "Select Station
"; lotwTestResult.innerHTML = worker; } } -var g_trustTempPath = ""; +GT.trustTempPath = ""; function sendLotwLogEntry(report) { - if (g_mapSettings.offlineMode == true) return; + if (GT.mapSettings.offlineMode == true) return; if ( logLOTWqsoCheckBox.checked == true && - g_trustedQslSettings.binaryFileValid == true && - g_trustedQslSettings.stationFileValid == true && + GT.trustedQslSettings.binaryFileValid == true && + GT.trustedQslSettings.stationFileValid == true && lotwStation.value.length > 0 ) { @@ -2409,8 +2406,8 @@ function sendLotwLogEntry(report) header += "\r\n"; var finalLog = header + report + "\r\n"; - g_trustTempPath = os.tmpdir() + g_dirSeperator + unique(report) + ".adif"; - fs.writeFileSync(g_trustTempPath, finalLog); + GT.trustTempPath = os.tmpdir() + GT.dirSeperator + unique(report) + ".adif"; + fs.writeFileSync(GT.trustTempPath, finalLog); var child_process = require("child_process"); var options = Array(); @@ -2427,10 +2424,10 @@ function sendLotwLogEntry(report) options.push("-x"); options.push("-d"); options.push("-u"); - options.push(g_trustTempPath); + options.push(GT.trustTempPath); child_process.execFile( - g_trustedQslSettings.binaryFile, + GT.trustedQslSettings.binaryFile, options, (error, stdout, stderr) => // eslint-disable-line node/handle-callback-err { @@ -2442,7 +2439,7 @@ function sendLotwLogEntry(report) { addLastTraffic("Logged to TQSL"); } - fs.unlinkSync(g_trustTempPath); + fs.unlinkSync(GT.trustTempPath); } ); } @@ -2450,47 +2447,47 @@ function sendLotwLogEntry(report) function n1mmLoggerChanged() { - g_N1MMSettings.enable = buttonN1MMCheckBox.checked; - g_N1MMSettings.ip = N1MMIpInput.value; - g_N1MMSettings.port = N1MMPortInput.value; + GT.N1MMSettings.enable = buttonN1MMCheckBox.checked; + GT.N1MMSettings.ip = N1MMIpInput.value; + GT.N1MMSettings.port = N1MMPortInput.value; - localStorage.N1MMSettings = JSON.stringify(g_N1MMSettings); + localStorage.N1MMSettings = JSON.stringify(GT.N1MMSettings); } function log4OMLoggerChanged() { - g_log4OMSettings.enable = buttonLog4OMCheckBox.checked; - g_log4OMSettings.ip = log4OMIpInput.value; - g_log4OMSettings.port = log4OMPortInput.value; + GT.log4OMSettings.enable = buttonLog4OMCheckBox.checked; + GT.log4OMSettings.ip = log4OMIpInput.value; + GT.log4OMSettings.port = log4OMPortInput.value; - localStorage.log4OMSettings = JSON.stringify(g_log4OMSettings); + localStorage.log4OMSettings = JSON.stringify(GT.log4OMSettings); } function acLogLoggerChanged() { - g_acLogSettings.enable = buttonacLogCheckBox.checked; - g_acLogSettings.ip = acLogIpInput.value; - g_acLogSettings.port = acLogPortInput.value; + GT.acLogSettings.enable = buttonacLogCheckBox.checked; + GT.acLogSettings.ip = acLogIpInput.value; + GT.acLogSettings.port = acLogPortInput.value; - localStorage.acLogSettings = JSON.stringify(g_acLogSettings); + localStorage.acLogSettings = JSON.stringify(GT.acLogSettings); } function dxkLogLoggerChanged() { - g_dxkLogSettings.enable = buttondxkLogCheckBox.checked; - g_dxkLogSettings.ip = dxkLogIpInput.value; - g_dxkLogSettings.port = dxkLogPortInput.value; + GT.dxkLogSettings.enable = buttondxkLogCheckBox.checked; + GT.dxkLogSettings.ip = dxkLogIpInput.value; + GT.dxkLogSettings.port = dxkLogPortInput.value; - localStorage.dxkLogSettings = JSON.stringify(g_dxkLogSettings); + localStorage.dxkLogSettings = JSON.stringify(GT.dxkLogSettings); } function hrdLogbookLoggerChanged() { - g_HRDLogbookLogSettings.enable = buttonHrdLogbookCheckBox.checked; - g_HRDLogbookLogSettings.ip = hrdLogbookIpInput.value; - g_HRDLogbookLogSettings.port = hrdLogbookPortInput.value; + GT.HRDLogbookLogSettings.enable = buttonHrdLogbookCheckBox.checked; + GT.HRDLogbookLogSettings.ip = hrdLogbookIpInput.value; + GT.HRDLogbookLogSettings.port = hrdLogbookPortInput.value; - localStorage.HRDLogbookLogSettings = JSON.stringify(g_HRDLogbookLogSettings); + localStorage.HRDLogbookLogSettings = JSON.stringify(GT.HRDLogbookLogSettings); } function CloudUrlErrorCallback( @@ -2625,7 +2622,7 @@ function postRetryErrorCallaback( function sendQrzLogEntry(report) { - if (g_mapSettings.offlineMode == true) return; + if (GT.mapSettings.offlineMode == true) return; if (logQRZqsoCheckBox.checked == true && ValidateQrzApi(qrzApiKey)) { @@ -2655,7 +2652,7 @@ function clubLogQsoResult(buffer, flag) function sendClubLogEntry(report) { - if (g_mapSettings.offlineMode == true) return; + if (GT.mapSettings.offlineMode == true) return; if (logClubqsoCheckBox.checked == true) { @@ -2686,7 +2683,7 @@ function sendClubLogEntry(report) function sendCloudlogEntry(report) { - if (g_mapSettings.offlineMode == true) return; + if (GT.mapSettings.offlineMode == true) return; if (logCloudlogQSOCheckBox.checked == true) { @@ -2728,7 +2725,7 @@ function hrdSendLogResult(buffer, flag) function sendHrdLogEntry(report) { - if (g_mapSettings.offlineMode == true) return; + if (GT.mapSettings.offlineMode == true) return; if (logHRDLOGqsoCheckBox.checked == true) { @@ -3096,7 +3093,7 @@ function sendACLogMessage(record, port, address) report += aclUpdateControlValue("TXTENTRYCQZONE", adifField(record, "CQZ")); report += aclUpdateControlValue( "TXTENTRYCOUNTYR", - adifField(record, "CNTY").replaceAll(", ", ",") + replaceAll(adifField(record, "CNTY"), ", ", ",") ); var sentSpcNum = false; diff --git a/package.nw/lib/alerts.js b/package.nw/lib/alerts.js index fe60e44..75a444c 100644 --- a/package.nw/lib/alerts.js +++ b/package.nw/lib/alerts.js @@ -2,20 +2,20 @@ // All rights reserved. // See LICENSE for more information. -var g_alerts = Object(); -var g_classicAlerts = Object(); -var g_phonetics = Object(); -var g_enums = Object(); -var g_speechSettings = Object(); -var g_audioSettings = Object(); -var g_speechAvailable = false; -var g_alertSettings = Object(); +GT.alerts = Object(); +GT.classicAlerts = Object(); +GT.phonetics = Object(); +GT.enums = Object(); +GT.speechSettings = Object(); +GT.audioSettings = Object(); +GT.speechAvailable = false; +GT.alertSettings = Object(); function loadAlerts() { if (typeof localStorage.classicAlertsVersion == "undefined") { - g_classicAlerts = { + GT.classicAlerts = { huntCallsign: false, huntGrid: false, huntDXCC: false, @@ -47,65 +47,65 @@ function loadAlerts() huntITUzNotifyMedia: "none", huntStatesNotifyMedia: "none" }; - localStorage.classicAlerts = JSON.stringify(g_classicAlerts); + localStorage.classicAlerts = JSON.stringify(GT.classicAlerts); - g_alertSettings = Object(); - g_alertSettings.requireGrid = true; - g_alertSettings.wantMaxDT = false; - g_alertSettings.wantMinDB = false; - g_alertSettings.wantMinFreq = false; - g_alertSettings.wantMaxFreq = false; - g_alertSettings.maxDT = 0.5; - g_alertSettings.minDb = -24; - g_alertSettings.minFreq = 400; - g_alertSettings.maxFreq = 3500; - g_alertSettings.noMyDxcc = false; - g_alertSettings.onlyMyDxcc = false; - g_alertSettings.noRoundUp = false; - g_alertSettings.onlyRoundUp = false; - g_alertSettings.cqOnly = true; - g_alertSettings.usesLoTW = false; - g_alertSettings.useseQSL = false; - g_alertSettings.reference = 0; - g_alertSettings.logEventMedia = "Ping-coin.mp3"; + GT.alertSettings = Object(); + GT.alertSettings.requireGrid = true; + GT.alertSettings.wantMaxDT = false; + GT.alertSettings.wantMinDB = false; + GT.alertSettings.wantMinFreq = false; + GT.alertSettings.wantMaxFreq = false; + GT.alertSettings.maxDT = 0.5; + GT.alertSettings.minDb = -24; + GT.alertSettings.minFreq = 400; + GT.alertSettings.maxFreq = 3500; + GT.alertSettings.noMyDxcc = false; + GT.alertSettings.onlyMyDxcc = false; + GT.alertSettings.noRoundUp = false; + GT.alertSettings.onlyRoundUp = false; + GT.alertSettings.cqOnly = true; + GT.alertSettings.usesLoTW = false; + GT.alertSettings.useseQSL = false; + GT.alertSettings.reference = 0; + GT.alertSettings.logEventMedia = "Ping-coin.mp3"; - localStorage.alertSettings = JSON.stringify(g_alertSettings); + localStorage.alertSettings = JSON.stringify(GT.alertSettings); localStorage.classicAlertsVersion = gtVersion; } else { - g_classicAlerts = JSON.parse(localStorage.classicAlerts); - g_alertSettings = JSON.parse(localStorage.alertSettings); + GT.classicAlerts = JSON.parse(localStorage.classicAlerts); + GT.alertSettings = JSON.parse(localStorage.alertSettings); } - if (typeof g_alertSettings.reference == "undefined") + if (typeof GT.alertSettings.reference == "undefined") { - g_alertSettings.reference = 0; + GT.alertSettings.reference = 0; - localStorage.alertSettings = JSON.stringify(g_alertSettings); + localStorage.alertSettings = JSON.stringify(GT.alertSettings); } - if (typeof g_alertSettings.logEventMedia == "undefined") + if (typeof GT.alertSettings.logEventMedia == "undefined") { - g_alertSettings.logEventMedia = "Ping-coin.mp3"; - localStorage.alertSettings = JSON.stringify(g_alertSettings); + GT.alertSettings.logEventMedia = "Ping-coin.mp3"; + localStorage.alertSettings = JSON.stringify(GT.alertSettings); } - if (typeof g_classicAlerts.huntRoster == "undefined") + if (typeof GT.classicAlerts.huntRoster == "undefined") { - g_classicAlerts.huntRoster = false; - g_classicAlerts.huntRosterNotify = 1; - g_classicAlerts.huntRosterNotifyWord = "New hit"; - g_classicAlerts.huntRosterNotifyMedia = "none"; + GT.classicAlerts.huntRoster = false; + GT.classicAlerts.huntRosterNotify = 1; + GT.classicAlerts.huntRosterNotifyWord = "New hit"; + GT.classicAlerts.huntRosterNotifyMedia = "none"; - localStorage.classicAlerts = JSON.stringify(g_classicAlerts); + localStorage.classicAlerts = JSON.stringify(GT.classicAlerts); } loadClassicAlertView(); if (typeof localStorage.savedAlerts == "undefined") { - g_alerts = { + GT.alerts = { popup: { value: "QRZ", type: "4", @@ -120,131 +120,131 @@ function loadAlerts() } }; - g_speechSettings = Object(); - g_audioSettings = Object(); - g_speechSettings.rate = 1; - g_speechSettings.pitch = 1; - g_speechSettings.volume = 1; - g_speechSettings.voice = 0; - g_speechSettings.phonetics = true; - g_audioSettings.volume = 1; + GT.speechSettings = Object(); + GT.audioSettings = Object(); + GT.speechSettings.rate = 1; + GT.speechSettings.pitch = 1; + GT.speechSettings.volume = 1; + GT.speechSettings.voice = 0; + GT.speechSettings.phonetics = true; + GT.audioSettings.volume = 1; saveAlerts(); } else { - g_alerts = JSON.parse(localStorage.savedAlerts); - for (var key in g_alerts) + GT.alerts = JSON.parse(localStorage.savedAlerts); + for (var key in GT.alerts) { if ( - g_alerts[key].type != 0 && - g_alerts[key].type != 2 && - g_alerts[key].type != 4 && - g_alerts[key].type != 5 && - g_alerts[key].type != 6 + GT.alerts[key].type != 0 && + GT.alerts[key].type != 2 && + GT.alerts[key].type != 4 && + GT.alerts[key].type != 5 && + GT.alerts[key].type != 6 ) - { delete g_alerts[key]; } - if (g_alerts[key].repeat == 3) delete g_alerts[key]; + { delete GT.alerts[key]; } + if (GT.alerts[key].repeat == 3) delete GT.alerts[key]; } - g_speechSettings = JSON.parse(localStorage.speechSettings); - g_audioSettings = JSON.parse(localStorage.audioSettings); + GT.speechSettings = JSON.parse(localStorage.speechSettings); + GT.audioSettings = JSON.parse(localStorage.audioSettings); } - if (g_speechSettings.voice > 0) + if (GT.speechSettings.voice > 0) { - alertVoiceInput.value = g_speechSettings.voice - 1; + alertVoiceInput.value = GT.speechSettings.voice - 1; } - speechVolume.value = g_speechSettings.volume; - speechPitch.value = g_speechSettings.pitch; - speechRate.value = g_speechSettings.rate; - speechPhonetics.checked = g_speechSettings.phonetics; + speechVolume.value = GT.speechSettings.volume; + speechPitch.value = GT.speechSettings.pitch; + speechRate.value = GT.speechSettings.rate; + speechPhonetics.checked = GT.speechSettings.phonetics; speechVolumeTd.innerText = speechVolume.value; speechPitchTd.innerText = speechPitch.value; speechRateTd.innerText = speechRate.value; - audioVolume.value = g_audioSettings.volume; + audioVolume.value = GT.audioSettings.volume; audioVolumeTd.innerText = parseInt(audioVolume.value * 100) + "%"; - wantGrid.checked = g_alertSettings.requireGrid; + wantGrid.checked = GT.alertSettings.requireGrid; - wantMaxDT.checked = g_alertSettings.wantMaxDT; - wantMinDB.checked = g_alertSettings.wantMinDB; - wantMinFreq.checked = g_alertSettings.wantMinFreq; - wantMaxFreq.checked = g_alertSettings.wantMaxFreq; + wantMaxDT.checked = GT.alertSettings.wantMaxDT; + wantMinDB.checked = GT.alertSettings.wantMinDB; + wantMinFreq.checked = GT.alertSettings.wantMinFreq; + wantMaxFreq.checked = GT.alertSettings.wantMaxFreq; - maxDTView.innerHTML = maxDT.value = g_alertSettings.maxDT; - minDbView.innerHTML = minDb.value = g_alertSettings.minDb; - minFreqView.innerHTML = minFreq.value = g_alertSettings.minFreq; - maxFreqView.innerHTML = maxFreq.value = g_alertSettings.maxFreq; + maxDTView.innerHTML = maxDT.value = GT.alertSettings.maxDT; + minDbView.innerHTML = minDb.value = GT.alertSettings.minDb; + minFreqView.innerHTML = minFreq.value = GT.alertSettings.minFreq; + maxFreqView.innerHTML = maxFreq.value = GT.alertSettings.maxFreq; - cqOnly.checked = g_alertSettings.cqOnly; - noMyDxcc.checked = g_alertSettings.noMyDxcc; - onlyMyDxcc.checked = g_alertSettings.onlyMyDxcc; - noRoundUp.checked = g_alertSettings.noRoundUp; - onlyRoundUp.checked = g_alertSettings.onlyRoundUp; - usesLoTW.checked = g_alertSettings.usesLoTW; - useseQSL.checked = g_alertSettings.useseQSL; + cqOnly.checked = GT.alertSettings.cqOnly; + noMyDxcc.checked = GT.alertSettings.noMyDxcc; + onlyMyDxcc.checked = GT.alertSettings.onlyMyDxcc; + noRoundUp.checked = GT.alertSettings.noRoundUp; + onlyRoundUp.checked = GT.alertSettings.onlyRoundUp; + usesLoTW.checked = GT.alertSettings.usesLoTW; + useseQSL.checked = GT.alertSettings.useseQSL; - referenceNeed.value = g_alertSettings.reference; - logEventMedia.value = g_alertSettings.logEventMedia; + referenceNeed.value = GT.alertSettings.reference; + logEventMedia.value = GT.alertSettings.logEventMedia; setAlertVisual(); } function newLogEventSetting(obj) { - g_alertSettings.logEventMedia = obj.value; - localStorage.alertSettings = JSON.stringify(g_alertSettings); + GT.alertSettings.logEventMedia = obj.value; + localStorage.alertSettings = JSON.stringify(GT.alertSettings); } function exceptionValuesChanged() { setAlertVisual(); - g_alertSettings.requireGrid = wantGrid.checked; + GT.alertSettings.requireGrid = wantGrid.checked; - g_alertSettings.wantMaxDT = wantMaxDT.checked; - g_alertSettings.wantMinDB = wantMinDB.checked; - g_alertSettings.wantMinFreq = wantMinFreq.checked; - g_alertSettings.wantMaxFreq = wantMaxFreq.checked; + GT.alertSettings.wantMaxDT = wantMaxDT.checked; + GT.alertSettings.wantMinDB = wantMinDB.checked; + GT.alertSettings.wantMinFreq = wantMinFreq.checked; + GT.alertSettings.wantMaxFreq = wantMaxFreq.checked; - maxDTView.innerHTML = g_alertSettings.maxDT = maxDT.value; - minDbView.innerHTML = g_alertSettings.minDb = minDb.value; - minFreqView.innerHTML = g_alertSettings.minFreq = minFreq.value; - maxFreqView.innerHTML = g_alertSettings.maxFreq = maxFreq.value; + maxDTView.innerHTML = GT.alertSettings.maxDT = maxDT.value; + minDbView.innerHTML = GT.alertSettings.minDb = minDb.value; + minFreqView.innerHTML = GT.alertSettings.minFreq = minFreq.value; + maxFreqView.innerHTML = GT.alertSettings.maxFreq = maxFreq.value; - g_alertSettings.cqOnly = cqOnly.checked; - g_alertSettings.noMyDxcc = noMyDxcc.checked; - g_alertSettings.onlyMyDxcc = onlyMyDxcc.checked; - g_alertSettings.noRoundUp = noRoundUp.checked; - g_alertSettings.onlyRoundUp = onlyRoundUp.checked; - g_alertSettings.usesLoTW = usesLoTW.checked; - g_alertSettings.useseQSL = useseQSL.checked; + GT.alertSettings.cqOnly = cqOnly.checked; + GT.alertSettings.noMyDxcc = noMyDxcc.checked; + GT.alertSettings.onlyMyDxcc = onlyMyDxcc.checked; + GT.alertSettings.noRoundUp = noRoundUp.checked; + GT.alertSettings.onlyRoundUp = onlyRoundUp.checked; + GT.alertSettings.usesLoTW = usesLoTW.checked; + GT.alertSettings.useseQSL = useseQSL.checked; - g_alertSettings.reference = referenceNeed.value; + GT.alertSettings.reference = referenceNeed.value; - localStorage.alertSettings = JSON.stringify(g_alertSettings); + localStorage.alertSettings = JSON.stringify(GT.alertSettings); } function hashMaker(band, mode) { // "Current Band & Mode" - if (g_alertSettings.reference == 0) return band + mode; + if (GT.alertSettings.reference == 0) return band + mode; // "Current Band, Any Mode" - if (g_alertSettings.reference == 1) return band; + if (GT.alertSettings.reference == 1) return band; // "Current Band, Any Digi Mode" - if (g_alertSettings.reference == 2) return band + "dg"; + if (GT.alertSettings.reference == 2) return band + "dg"; // "Current Mode, Any Band" - if (g_alertSettings.reference == 3) return mode; + if (GT.alertSettings.reference == 3) return mode; // "Any Band, Any Mode" - if (g_alertSettings.reference == 4) return ""; + if (GT.alertSettings.reference == 4) return ""; // "Any Band, Any Digit Mode" - if (g_alertSettings.reference == 5) return "dg"; + if (GT.alertSettings.reference == 5) return "dg"; } function setAlertVisual() @@ -290,38 +290,38 @@ function setAlertVisual() maxFreqView.style.display = "none"; } - if (g_callsignLookups.lotwUseEnable == true) + if (GT.callsignLookups.lotwUseEnable == true) { usesLoTWDiv.style.display = "block"; } else usesLoTWDiv.style.display = "none"; - if (g_callsignLookups.eqslUseEnable == true) + if (GT.callsignLookups.eqslUseEnable == true) { useseQSLDiv.style.display = "block"; } else useseQSLDiv.style.display = "none"; } function saveAlertSettings() { - localStorage.speechSettings = JSON.stringify(g_speechSettings); - localStorage.audioSettings = JSON.stringify(g_audioSettings); + localStorage.speechSettings = JSON.stringify(GT.speechSettings); + localStorage.audioSettings = JSON.stringify(GT.audioSettings); } function saveAlerts() { - localStorage.savedAlerts = JSON.stringify(g_alerts); + localStorage.savedAlerts = JSON.stringify(GT.alerts); saveAlertSettings(); } -var g_testAudioTimer = null; +GT.testAudioTimer = null; function changeAudioValues() { - if (g_testAudioTimer) nodeTimers.clearTimeout(g_testAudioTimer); + if (GT.testAudioTimer) nodeTimers.clearTimeout(GT.testAudioTimer); - g_audioSettings.volume = audioVolume.value; + GT.audioSettings.volume = audioVolume.value; audioVolumeTd.innerText = parseInt(audioVolume.value * 100) + "%"; - g_testAudioTimer = nodeTimers.setTimeout(playTestFile, 200); + GT.testAudioTimer = nodeTimers.setTimeout(playTestFile, 200); saveAlertSettings(); } @@ -334,10 +334,10 @@ function changeSpeechValues() { chrome.tts.stop(); - g_speechSettings.volume = speechVolume.value; - g_speechSettings.pitch = speechPitch.value; - g_speechSettings.rate = speechRate.value; - g_speechSettings.phonetics = speechPhonetics.checked; + GT.speechSettings.volume = speechVolume.value; + GT.speechSettings.pitch = speechPitch.value; + GT.speechSettings.rate = speechRate.value; + GT.speechSettings.phonetics = speechPhonetics.checked; speechVolumeTd.innerText = speechVolume.value; speechPitchTd.innerText = speechPitch.value; @@ -399,7 +399,7 @@ function addAlert(value, type, notify, repeat, filename, shortname) { var newKey = unique(value + type + notify + repeat + filename); - if (!g_alerts.hasOwnProperty(newKey)) + if (!GT.alerts.hasOwnProperty(newKey)) { var alertItem = Object(); alertItem.value = value; @@ -412,7 +412,7 @@ function addAlert(value, type, notify, repeat, filename, shortname) alertItem.lastTime = 0; alertItem.fired = 0; alertItem.needAck = 0; - g_alerts[newKey] = alertItem; + GT.alerts[newKey] = alertItem; saveAlerts(); return true; @@ -422,23 +422,23 @@ function addAlert(value, type, notify, repeat, filename, shortname) function deleteAlert(key) { - delete g_alerts[key]; + delete GT.alerts[key]; saveAlerts(); displayAlerts(); } function resetAlert(key) { - g_alerts[key].lastMessage = ""; - g_alerts[key].lastTime = 0; - g_alerts[key].fired = 0; - g_alerts[key].needAck = 0; + GT.alerts[key].lastMessage = ""; + GT.alerts[key].lastTime = 0; + GT.alerts[key].fired = 0; + GT.alerts[key].needAck = 0; displayAlerts(); } function processAlertMessage(decodeWords, message, band, mode) { - if (Object.keys(g_alerts).length == 0) + if (Object.keys(GT.alerts).length == 0) { // no alerts, don't bother return false; @@ -498,8 +498,8 @@ function processAlertMessage(decodeWords, message, band, mode) var okayToAlert = true; - if (msgDEcallsign + band + mode in g_liveCallsigns) - { found_callsign = g_liveCallsigns[msgDEcallsign + band + mode]; } + if (msgDEcallsign + band + mode in GT.liveCallsigns) + { found_callsign = GT.liveCallsigns[msgDEcallsign + band + mode]; } if (okayToAlert == true) { return checkAlerts(msgDEcallsign, theirGrid, message, found_callsign); } @@ -517,9 +517,9 @@ function checkAlerts( ) { var hadAlert = false; - for (var key in g_alerts) + for (var key in GT.alerts) { - var nalert = g_alerts[key]; + var nalert = GT.alerts[key]; if (nalert.type == 0) { // callsign exatch match @@ -533,7 +533,7 @@ function checkAlerts( { // gridsquare if ( - !(DEcallsign + band + mode in g_tracker.worked.call) && + !(DEcallsign + band + mode in GT.tracker.worked.call) && grid.indexOf(nalert.value) == 0 ) { @@ -554,7 +554,7 @@ function checkAlerts( { // callsign partial if ( - !(DEcallsign + band + mode in g_tracker.worked.call) && + !(DEcallsign + band + mode in GT.tracker.worked.call) && DEcallsign.indexOf(nalert.value) == 0 ) { @@ -568,7 +568,7 @@ function checkAlerts( try { if ( - !(DEcallsign + band + mode in g_tracker.worked.call) && + !(DEcallsign + band + mode in GT.tracker.worked.call) && DEcallsign.match(nalert.value) ) { @@ -605,7 +605,7 @@ function handleAlert(nAlert, target, lastMessage, callsignRecord, grid) ) { // Fix me - g_map + GT.map .getView() .setCenter( ol.extent.getCenter(callsignRecord.rect.getGeometry().getExtent()) @@ -640,7 +640,7 @@ function handleAlert(nAlert, target, lastMessage, callsignRecord, grid) function playAlertMediaFile(filename, overrideMute) { - if (g_appSettings.alertMute && !overrideMute) return; + if (GT.appSettings.alertMute && !overrideMute) return; // check if this is an alert stored with an older version of GT // which has a full file path given. @@ -653,13 +653,13 @@ function playAlertMediaFile(filename, overrideMute) } // construct the path from the user media dir or // fall back on the global media dir - var fpath = path.join(g_userMediaDir, filename); - if (!fs.existsSync(fpath)) fpath = path.join(g_gtMediaDir, filename); + var fpath = path.join(GT.userMediaDir, filename); + if (!fs.existsSync(fpath)) fpath = path.join(GT.gtMediaDir, filename); var audio = document.createElement("audio"); audio.src = "file://" + fpath; - audio.setSinkId(g_soundCard); - audio.volume = g_audioSettings.volume; + audio.setSinkId(GT.soundCard); + audio.volume = GT.audioSettings.volume; audio.play(); } @@ -668,8 +668,8 @@ function stringToPhonetics(string) var newMsg = ""; for (var x = 0; x < string.length; x++) { - if (g_speechSettings.phonetics == true) - { newMsg += g_phonetics[string.substr(x, 1)]; } + if (GT.speechSettings.phonetics == true) + { newMsg += GT.phonetics[string.substr(x, 1)]; } else { if (string.substr(x, 1) == " ") newMsg += ", "; @@ -683,23 +683,23 @@ function stringToPhonetics(string) function speakQRZString(caller, words, you) { - if (g_appSettings.alertMute == 0) + if (GT.appSettings.alertMute == 0) { var sCaller = ""; var sYou = ""; if (caller) sCaller = stringToPhonetics(caller); if (you) sYou = stringToPhonetics(you); - if (g_speechAvailable) + if (GT.speechAvailable) { var speak = sCaller.trim() + ", " + words.trim() + ", " + sYou.trim(); var msg = new SpeechSynthesisUtterance(speak); - msg.lang = g_localeString; - if (g_speechSettings.voice > 0) - { msg.voice = g_voices[g_speechSettings.voice - 1]; } - msg.rate = g_speechSettings.rate; - msg.pitch = g_speechSettings.pitch; - msg.volume = g_speechSettings.volume; + msg.lang = GT.localeString; + if (GT.speechSettings.voice > 0) + { msg.voice = GT.voices[GT.speechSettings.voice - 1]; } + msg.rate = GT.speechSettings.rate; + msg.pitch = GT.speechSettings.pitch; + msg.volume = GT.speechSettings.volume; window.speechSynthesis.speak(msg); } } @@ -707,29 +707,29 @@ function speakQRZString(caller, words, you) function speakAlertString(what, message, target) { - if (g_appSettings.alertMute == 0) + if (GT.appSettings.alertMute == 0) { var sMsg = ""; var sTarget = ""; if (message) sMsg = stringToPhonetics(message); if (target) sTarget = stringToPhonetics(target); - if (g_speechAvailable) + if (GT.speechAvailable) { var speak = what.trim() + ", " + sMsg.trim() + ", " + sTarget.trim(); var msg = new SpeechSynthesisUtterance(speak); - msg.lang = g_localeString; - if (g_speechSettings.voice > 0) - { msg.voice = g_voices[g_speechSettings.voice - 1]; } - msg.rate = g_speechSettings.rate; - msg.pitch = g_speechSettings.pitch; - msg.volume = g_speechSettings.volume; + msg.lang = GT.localeString; + if (GT.speechSettings.voice > 0) + { msg.voice = GT.voices[GT.speechSettings.voice - 1]; } + msg.rate = GT.speechSettings.rate; + msg.pitch = GT.speechSettings.pitch; + msg.volume = GT.speechSettings.volume; window.speechSynthesis.speak(msg); } } } -var g_alertFlasher = null; +GT.alertFlasher = null; function unflashAlertPopUp() { @@ -737,11 +737,11 @@ function unflashAlertPopUp() var acount = 0; alertsPopDiv.style.backgroundColor = "#000"; - if (Object.keys(g_alerts).length > 0) + if (Object.keys(GT.alerts).length > 0) { - for (var key in g_alerts) + for (var key in GT.alerts) { - if (g_alerts[key].needAck) acount++; + if (GT.alerts[key].needAck) acount++; } worker += @@ -762,42 +762,42 @@ function unflashAlertPopUp() worker += "
"; worker += ""; - for (var key in g_alerts) + for (var key in GT.alerts) { - if (g_alerts[key].needAck) + if (GT.alerts[key].needAck) { worker += ""; - worker += ""; - if (g_alerts[key].type == 0) - { worker += ""; } - if (g_alerts[key].type == 2) - { worker += ""; } - if (g_alerts[key].type == 4) + worker += ""; + if (GT.alerts[key].type == 0) + { worker += ""; } + if (GT.alerts[key].type == 2) + { worker += ""; } + if (GT.alerts[key].type == 4) { worker += ""; } - if (g_alerts[key].type == 5) + if (GT.alerts[key].type == 5) { worker += - ""; + ""; } - if (g_alerts[key].type == 6) - { worker += ""; } + if (GT.alerts[key].type == 6) + { worker += ""; } - worker += ""; - worker += ""; + worker += ""; + worker += ""; worker += ""; - worker += ""; + worker += ""; worker += ""; - ageString = userTimeString(g_alerts[key].lastTime * 1000); + ageString = userTimeString(GT.alerts[key].lastTime * 1000); worker += - ""; + ""; worker += ""; } } @@ -806,26 +806,26 @@ function unflashAlertPopUp() } alertPopListDiv.style.height = "auto"; alertPopListDiv.innerHTML = worker; - g_alertFlasher = null; + GT.alertFlasher = null; } function displayAlertPopUp(what, message, target) { - if (g_alertFlasher) nodeTimers.clearTimeout(g_alertFlasher); + if (GT.alertFlasher) nodeTimers.clearTimeout(GT.alertFlasher); alertPopListDiv.innerHTML = "

Gathering Alerts

"; alertsPopDiv.style.backgroundColor = "#FFF"; alertsPopDiv.style.display = "inline-block"; - g_alertFlasher = nodeTimers.setTimeout(unflashAlertPopUp, 100); + GT.alertFlasher = nodeTimers.setTimeout(unflashAlertPopUp, 100); } function ackAlerts() { alertsPopDiv.style.display = "none"; - for (var key in g_alerts) + for (var key in GT.alerts) { - g_alerts[key].needAck = 0; + GT.alerts[key].needAck = 0; } } @@ -881,39 +881,39 @@ function alertNotifyChanged(who = "") } } -g_alertTypeOptions = Array(); +GT.alertTypeOptions = Array(); -g_alertTypeOptions["0"] = "Call (exact)"; -g_alertTypeOptions["1"] = "Deprecated"; -g_alertTypeOptions["2"] = "Grid"; -g_alertTypeOptions["3"] = "Deprecated"; -g_alertTypeOptions["4"] = "QRZ"; -g_alertTypeOptions["5"] = "Call (partial)"; -g_alertTypeOptions["6"] = "Call (regex)"; +GT.alertTypeOptions["0"] = "Call (exact)"; +GT.alertTypeOptions["1"] = "Deprecated"; +GT.alertTypeOptions["2"] = "Grid"; +GT.alertTypeOptions["3"] = "Deprecated"; +GT.alertTypeOptions["4"] = "QRZ"; +GT.alertTypeOptions["5"] = "Call (partial)"; +GT.alertTypeOptions["6"] = "Call (regex)"; -g_alertValueOptions = Array(); -g_alertValueOptions["0"] = +GT.alertValueOptions = Array(); +GT.alertValueOptions["0"] = ""; -g_alertValueOptions["1"] = "TTS"; -g_alertValueOptions["2"] = "PopUp"; -g_alertValueOptions["3"] = "MapCenter"; +GT.alertValueOptions["1"] = "TTS"; +GT.alertValueOptions["2"] = "PopUp"; +GT.alertValueOptions["3"] = "MapCenter"; -g_alertRepeatOptions = Array(); +GT.alertRepeatOptions = Array(); -g_alertRepeatOptions["0"] = "No"; -g_alertRepeatOptions["1"] = "Once"; -g_alertRepeatOptions["2"] = "Inf"; -g_alertRepeatOptions["3"] = "Inf(Session)"; +GT.alertRepeatOptions["0"] = "No"; +GT.alertRepeatOptions["1"] = "Once"; +GT.alertRepeatOptions["2"] = "Inf"; +GT.alertRepeatOptions["3"] = "Inf(Session)"; function displayAlerts() { var worker = ""; - if (Object.keys(g_alerts).length > 0) + if (Object.keys(GT.alerts).length > 0) { worker += "
"; worker += "

" + - g_startupLogs[i].name + + GT.startupLogs[i].name + "
When
" + g_alertTypeOptions[g_alerts[key].type] + "" + g_alerts[key].value + "" + g_alerts[key].value + "" + GT.alertTypeOptions[GT.alerts[key].type] + "" + GT.alerts[key].value + "" + GT.alerts[key].value + "" + myDEcall + "" + g_alerts[key].value + "*" + GT.alerts[key].value + "*" + g_alerts[key].value + "" + GT.alerts[key].value + "" + g_alertValueOptions[g_alerts[key].notify] + "" + g_alertRepeatOptions[g_alerts[key].repeat] + "" + GT.alertValueOptions[GT.alerts[key].notify] + "" + GT.alertRepeatOptions[GT.alerts[key].repeat] + "" + - (g_alerts[key].shortname.length > 0 ? g_alerts[key].shortname : "-") + + (GT.alerts[key].shortname.length > 0 ? GT.alerts[key].shortname : "-") + "" + (g_alerts[key].fired > 0 ? "Yes" : "No") + "" + (GT.alerts[key].fired > 0 ? "Yes" : "No") + "" + - (g_alerts[key].lastMessage.length > 0 - ? g_alerts[key].lastMessage + (GT.alerts[key].lastMessage.length > 0 + ? GT.alerts[key].lastMessage : "-") + "" + (g_alerts[key].lastTime > 0 ? ageString : "-") + "" + (GT.alerts[key].lastTime > 0 ? ageString : "-") + "
"; @@ -931,40 +931,40 @@ function displayAlerts() worker += ""; worker += ""; - for (var key in g_alerts) + for (var key in GT.alerts) { worker += ""; - worker += ""; - if (g_alerts[key].type == 0) - { worker += ""; } - if (g_alerts[key].type == 2) - { worker += ""; } - if (g_alerts[key].type == 4) + worker += ""; + if (GT.alerts[key].type == 0) + { worker += ""; } + if (GT.alerts[key].type == 2) + { worker += ""; } + if (GT.alerts[key].type == 4) { worker += ""; } - if (g_alerts[key].type == 5) + if (GT.alerts[key].type == 5) { worker += - ""; + ""; } - if (g_alerts[key].type == 6) - { worker += ""; } + if (GT.alerts[key].type == 6) + { worker += ""; } - worker += ""; - worker += ""; + worker += ""; + worker += ""; worker += ""; - worker += ""; + worker += ""; worker += ""; - ageString = userTimeString(g_alerts[key].lastTime * 1000); + ageString = userTimeString(GT.alerts[key].lastTime * 1000); worker += - ""; + ""; worker += ""; - if (toolElement.qth in g_gridToDXCC) + if (toolElement.qth in GT.gridToDXCC) { worker += ""; } @@ -2067,27 +2068,27 @@ function createTooltTipTable(toolElement) worker += ""; - if (g_callsignLookups.lotwUseEnable == true) worker += ""; - if (g_callsignLookups.eqslUseEnable == true) worker += ""; - if (g_callsignLookups.oqrsUseEnable == true) worker += ""; + if (GT.callsignLookups.lotwUseEnable == true) worker += ""; + if (GT.callsignLookups.eqslUseEnable == true) worker += ""; + if (GT.callsignLookups.oqrsUseEnable == true) worker += ""; worker += ""; } for (var KeyIsHash in toolElement.hashes) { - if (KeyIsHash in g_QSOhash) + if (KeyIsHash in GT.QSOhash) { - newCallList.push(g_QSOhash[KeyIsHash]); + newCallList.push(GT.QSOhash[KeyIsHash]); } } if ( - toolElement.qth in g_liveGrids && - g_liveGrids[toolElement.qth].rectangle != null && - g_liveGrids[toolElement.qth].isTriangle == false + toolElement.qth in GT.liveGrids && + GT.liveGrids[toolElement.qth].rectangle != null && + GT.liveGrids[toolElement.qth].isTriangle == false ) { - for (var KeyIsCall in g_liveGrids[toolElement.qth].rectangle.liveHash) + for (var KeyIsCall in GT.liveGrids[toolElement.qth].rectangle.liveHash) { - if (KeyIsCall in g_liveCallsigns && g_appSettings.gridViewMode == 3) { newCallList.push(g_liveCallsigns[KeyIsCall]); } + if (KeyIsCall in GT.liveCallsigns && GT.appSettings.gridViewMode == 3) { newCallList.push(GT.liveCallsigns[KeyIsCall]); } } } } @@ -2098,14 +2099,14 @@ function createTooltTipTable(toolElement) worker += ""; - if (g_callsignLookups.lotwUseEnable == true) worker += ""; - if (g_callsignLookups.eqslUseEnable == true) worker += ""; - if (g_callsignLookups.oqrsUseEnable == true) worker += ""; + if (GT.callsignLookups.lotwUseEnable == true) worker += ""; + if (GT.callsignLookups.eqslUseEnable == true) worker += ""; + if (GT.callsignLookups.oqrsUseEnable == true) worker += ""; worker += ""; } for (var KeyIsCall in toolElement.liveHash) { - if (KeyIsCall in g_liveCallsigns) { newCallList.push(g_liveCallsigns[KeyIsCall]); } + if (KeyIsCall in GT.liveCallsigns) { newCallList.push(GT.liveCallsigns[KeyIsCall]); } } } newCallList.sort(compareCallsignTime).reverse(); @@ -2118,7 +2119,7 @@ function createTooltTipTable(toolElement) if (callsign.DEcall == myDEcall) { bgDE = " style='background-color:#FFFF00;color:#000;font-weight:bold' "; } if (typeof callsign.msg == "undefined" || callsign.msg == "") { callsign.msg = "-"; } var ageString = ""; - if (timeNowSec() - callsign.time < 3601) { ageString = (timeNowSec() - callsign.time).toDHMS(); } + if (timeNowSec() - callsign.time < 3601) { ageString = toDHMS(timeNowSec() - callsign.time); } else { ageString = userTimeString(callsign.time * 1000); @@ -2130,20 +2131,20 @@ function createTooltTipTable(toolElement) "\",\"" + toolElement.qth + "\");' >" + - callsign.DEcall.formatCallsign() + + formatCallsign(callsign.DEcall) + ""; worker += ""; worker += ""; worker += ""; worker += "" + ""; - if (callsign.DXcall.indexOf("CQ") == 0 || callsign.DXcall == "-") { worker += callsign.DXcall.formatCallsign(); } + if (callsign.DXcall.indexOf("CQ") == 0 || callsign.DXcall == "-") { worker += formatCallsign(callsign.DXcall); } else { worker += "
" + - callsign.DXcall.formatCallsign() + + formatCallsign(callsign.DXcall) + "
"; } worker += @@ -2165,39 +2166,39 @@ function createTooltTipTable(toolElement) "
" + ""; - if (g_callsignLookups.lotwUseEnable == true) + if (GT.callsignLookups.lotwUseEnable == true) { worker += ""; } - if (g_callsignLookups.eqslUseEnable == true) + if (GT.callsignLookups.eqslUseEnable == true) { worker += ""; } - if (g_callsignLookups.oqrsUseEnable == true) + if (GT.callsignLookups.oqrsUseEnable == true) { worker += ""; } worker += ""; } worker += "
Delete
" + g_alertTypeOptions[g_alerts[key].type] + "" + g_alerts[key].value + "" + g_alerts[key].value + "" + GT.alertTypeOptions[GT.alerts[key].type] + "" + GT.alerts[key].value + "" + GT.alerts[key].value + "" + myDEcall + "" + g_alerts[key].value + "*" + GT.alerts[key].value + "*" + g_alerts[key].value + "" + GT.alerts[key].value + "" + g_alertValueOptions[g_alerts[key].notify] + "" + g_alertRepeatOptions[g_alerts[key].repeat] + "" + GT.alertValueOptions[GT.alerts[key].notify] + "" + GT.alertRepeatOptions[GT.alerts[key].repeat] + "" + - (g_alerts[key].shortname.length > 0 ? g_alerts[key].shortname : "-") + + (GT.alerts[key].shortname.length > 0 ? GT.alerts[key].shortname : "-") + "" + (g_alerts[key].fired > 0 ? "Yes" : "No") + "" + (GT.alerts[key].fired > 0 ? "Yes" : "No") + "" + - (g_alerts[key].lastMessage.length > 0 - ? g_alerts[key].lastMessage + (GT.alerts[key].lastMessage.length > 0 + ? GT.alerts[key].lastMessage : "-") + "" + (g_alerts[key].lastTime > 0 ? ageString : "-") + "" + (GT.alerts[key].lastTime > 0 ? ageString : "-") + " 0 ) { - if (fourGrid in g_gridToState && g_gridToState[fourGrid].length == 1) + if (fourGrid in GT.gridToState && GT.gridToState[fourGrid].length == 1) { - details.state = g_gridToState[fourGrid][0]; + details.state = GT.gridToState[fourGrid][0]; } lookupCall = true; } @@ -1196,7 +1197,7 @@ function addDeDx( details.cont = finalCont; if (finalDxcc > 0) { - details.cont = g_dxccInfo[finalDxcc].continent; + details.cont = GT.dxccInfo[finalDxcc].continent; if (details.dxcc == 390 && details.zone == 1) details.cont = "EU"; } @@ -1214,7 +1215,7 @@ function addDeDx( } else { - if (!(details.cnty in g_cntyToCounty)) + if (!(details.cnty in GT.cntyToCounty)) { lookupCall = true; } @@ -1227,27 +1228,27 @@ function addDeDx( details.wspr = wspr; if (finalMsg.length > 0) details.msg = finalMsg; - g_tracker.worked.call[finalDXcall + band + mode] = true; - g_tracker.worked.call[finalDXcall] = true; - g_tracker.worked.call[finalDXcall + mode] = true; - g_tracker.worked.call[finalDXcall + band] = true; + GT.tracker.worked.call[finalDXcall + band + mode] = true; + GT.tracker.worked.call[finalDXcall] = true; + GT.tracker.worked.call[finalDXcall + mode] = true; + GT.tracker.worked.call[finalDXcall + band] = true; if (isDigi == true) { - g_tracker.worked.call[finalDXcall + "dg"] = true; - g_tracker.worked.call[finalDXcall + band + "dg"] = true; + GT.tracker.worked.call[finalDXcall + "dg"] = true; + GT.tracker.worked.call[finalDXcall + band + "dg"] = true; } if (fourGrid != "") { - g_tracker.worked.grid[fourGrid + band + mode] = true; - g_tracker.worked.grid[fourGrid] = true; - g_tracker.worked.grid[fourGrid + mode] = true; - g_tracker.worked.grid[fourGrid + band] = true; + GT.tracker.worked.grid[fourGrid + band + mode] = true; + GT.tracker.worked.grid[fourGrid] = true; + GT.tracker.worked.grid[fourGrid + mode] = true; + GT.tracker.worked.grid[fourGrid + band] = true; if (isDigi == true) { - g_tracker.worked.grid[fourGrid + "dg"] = true; - g_tracker.worked.grid[fourGrid + band + "dg"] = true; + GT.tracker.worked.grid[fourGrid + "dg"] = true; + GT.tracker.worked.grid[fourGrid + band + "dg"] = true; } } if (!details.ituz || details.ituz.length == 0) @@ -1256,14 +1257,14 @@ function addDeDx( } if (details.ituz) { - g_tracker.worked.ituz[details.ituz + "|" + band + mode] = true; - g_tracker.worked.ituz[details.ituz + "|"] = true; - g_tracker.worked.ituz[details.ituz + "|" + mode] = true; - g_tracker.worked.ituz[details.ituz + "|" + band] = true; + GT.tracker.worked.ituz[details.ituz + "|" + band + mode] = true; + GT.tracker.worked.ituz[details.ituz + "|"] = true; + GT.tracker.worked.ituz[details.ituz + "|" + mode] = true; + GT.tracker.worked.ituz[details.ituz + "|" + band] = true; if (isDigi == true) { - g_tracker.worked.ituz[details.ituz + "|dg"] = true; - g_tracker.worked.ituz[details.ituz + "|" + band + "dg"] = true; + GT.tracker.worked.ituz[details.ituz + "|dg"] = true; + GT.tracker.worked.ituz[details.ituz + "|" + band + "dg"] = true; } } @@ -1274,92 +1275,92 @@ function addDeDx( if (details.cqz) { - g_tracker.worked.cqz[details.cqz + "|" + band + mode] = true; - g_tracker.worked.cqz[details.cqz + "|"] = true; - g_tracker.worked.cqz[details.cqz + "|" + mode] = true; - g_tracker.worked.cqz[details.cqz + "|" + band] = true; + GT.tracker.worked.cqz[details.cqz + "|" + band + mode] = true; + GT.tracker.worked.cqz[details.cqz + "|"] = true; + GT.tracker.worked.cqz[details.cqz + "|" + mode] = true; + GT.tracker.worked.cqz[details.cqz + "|" + band] = true; if (isDigi == true) { - g_tracker.worked.cqz[details.cqz + "|dg"] = true; - g_tracker.worked.cqz[details.cqz + "|" + band + "dg"] = true; + GT.tracker.worked.cqz[details.cqz + "|dg"] = true; + GT.tracker.worked.cqz[details.cqz + "|" + band + "dg"] = true; } if (isCurrentYear) { - g_tracker.worked.cqz[`${details.cqz}-${currentYear}`] = true; + GT.tracker.worked.cqz[`${details.cqz}-${currentYear}`] = true; } } if (details.dxcc > 0) { var sDXCC = String(details.dxcc); - g_tracker.worked.dxcc[sDXCC + "|" + band + mode] = true; - g_tracker.worked.dxcc[sDXCC + "|"] = true; - g_tracker.worked.dxcc[sDXCC + "|" + mode] = true; - g_tracker.worked.dxcc[sDXCC + "|" + band] = true; + GT.tracker.worked.dxcc[sDXCC + "|" + band + mode] = true; + GT.tracker.worked.dxcc[sDXCC + "|"] = true; + GT.tracker.worked.dxcc[sDXCC + "|" + mode] = true; + GT.tracker.worked.dxcc[sDXCC + "|" + band] = true; if (isDigi == true) { - g_tracker.worked.dxcc[sDXCC + "|dg"] = true; - g_tracker.worked.dxcc[sDXCC + "|" + band + "dg"] = true; + GT.tracker.worked.dxcc[sDXCC + "|dg"] = true; + GT.tracker.worked.dxcc[sDXCC + "|" + band + "dg"] = true; } if (isCurrentYear) { - g_tracker.worked.dxcc[`${sDXCC}-${currentYear}`] = true; + GT.tracker.worked.dxcc[`${sDXCC}-${currentYear}`] = true; } } if (details.px) { - g_tracker.worked.px[details.px + band + mode] = true; + GT.tracker.worked.px[details.px + band + mode] = true; // store the last one - g_tracker.worked.px[details.px] = hash; - g_tracker.worked.px[details.px + mode] = true; - g_tracker.worked.px[details.px + band] = true; + GT.tracker.worked.px[details.px] = hash; + GT.tracker.worked.px[details.px + mode] = true; + GT.tracker.worked.px[details.px + band] = true; if (isDigi == true) { - g_tracker.worked.px[details.px + "dg"] = true; - g_tracker.worked.px[details.px + band + "dg"] = true; + GT.tracker.worked.px[details.px + "dg"] = true; + GT.tracker.worked.px[details.px + band + "dg"] = true; } if (isPhone == true) { - g_tracker.worked.px[details.px + "ph"] = true; - g_tracker.worked.px[details.px + band + "ph"] = true; + GT.tracker.worked.px[details.px + "ph"] = true; + GT.tracker.worked.px[details.px + band + "ph"] = true; } } if (details.cont) { - g_tracker.worked.cont[details.cont + band + mode] = true; + GT.tracker.worked.cont[details.cont + band + mode] = true; // store the last one - g_tracker.worked.cont[details.cont] = hash; - g_tracker.worked.cont[details.cont + mode] = true; - g_tracker.worked.cont[details.cont + band] = true; + GT.tracker.worked.cont[details.cont] = hash; + GT.tracker.worked.cont[details.cont + mode] = true; + GT.tracker.worked.cont[details.cont + band] = true; if (isDigi == true) { - g_tracker.worked.cont[details.cont + "dg"] = true; - g_tracker.worked.cont[details.cont + band + "dg"] = true; + GT.tracker.worked.cont[details.cont + "dg"] = true; + GT.tracker.worked.cont[details.cont + band + "dg"] = true; } if (isPhone == true) { - g_tracker.worked.cont[details.cont + "ph"] = true; - g_tracker.worked.cont[details.cont + band + "ph"] = true; + GT.tracker.worked.cont[details.cont + "ph"] = true; + GT.tracker.worked.cont[details.cont + band + "ph"] = true; } } if (finalPOTA) { - g_tracker.worked.pota[dayAsString + finalDXcall + finalPOTA] = true; - g_tracker.worked.pota[dayAsString + finalDXcall + finalPOTA + mode] = true; - g_tracker.worked.pota[dayAsString + finalDXcall + finalPOTA + band] = true; - g_tracker.worked.pota[dayAsString + finalDXcall + finalPOTA + band + mode] = true; + GT.tracker.worked.pota[dayAsString + finalDXcall + finalPOTA] = true; + GT.tracker.worked.pota[dayAsString + finalDXcall + finalPOTA + mode] = true; + GT.tracker.worked.pota[dayAsString + finalDXcall + finalPOTA + band] = true; + GT.tracker.worked.pota[dayAsString + finalDXcall + finalPOTA + band + mode] = true; if (isDigi == true) { - g_tracker.worked.pota[dayAsString + finalDXcall + finalPOTA + "dg"] = true; - g_tracker.worked.pota[dayAsString + finalDXcall + finalPOTA + band + "dg"] = true; + GT.tracker.worked.pota[dayAsString + finalDXcall + finalPOTA + "dg"] = true; + GT.tracker.worked.pota[dayAsString + finalDXcall + finalPOTA + band + "dg"] = true; } if (isPhone == true) { - g_tracker.worked.pota[dayAsString + finalDXcall + finalPOTA + "ph"] = true; - g_tracker.worked.pota[dayAsString + finalDXcall + finalPOTA + band + "ph"] = true; + GT.tracker.worked.pota[dayAsString + finalDXcall + finalPOTA + "ph"] = true; + GT.tracker.worked.pota[dayAsString + finalDXcall + finalPOTA + band + "ph"] = true; } } @@ -1371,13 +1372,13 @@ function addDeDx( details.confirmed = confirmed; } - g_QSOhash[hash] = details; + GT.QSOhash[hash] = details; setState(details); if (lookupCall) { - if (g_callsignLookups.ulsUseEnable) + if (GT.callsignLookups.ulsUseEnable) { lookupUsCallsign(details, true); } @@ -1387,105 +1388,105 @@ function addDeDx( { if (fourGrid != "") { - g_tracker.confirmed.grid[fourGrid + band + mode] = true; - g_tracker.confirmed.grid[fourGrid] = true; - g_tracker.confirmed.grid[fourGrid + mode] = true; - g_tracker.confirmed.grid[fourGrid + band] = true; + GT.tracker.confirmed.grid[fourGrid + band + mode] = true; + GT.tracker.confirmed.grid[fourGrid] = true; + GT.tracker.confirmed.grid[fourGrid + mode] = true; + GT.tracker.confirmed.grid[fourGrid + band] = true; if (isDigi == true) { - g_tracker.confirmed.grid[fourGrid + "dg"] = true; - g_tracker.confirmed.grid[fourGrid + band + "dg"] = true; + GT.tracker.confirmed.grid[fourGrid + "dg"] = true; + GT.tracker.confirmed.grid[fourGrid + band + "dg"] = true; } } if (details.ituz && details.ituz.length > 0) { - g_tracker.confirmed.ituz[details.ituz + "|" + band + mode] = true; - g_tracker.confirmed.ituz[details.ituz + "|"] = true; - g_tracker.confirmed.ituz[details.ituz + "|" + mode] = true; - g_tracker.confirmed.ituz[details.ituz + "|" + band] = true; + GT.tracker.confirmed.ituz[details.ituz + "|" + band + mode] = true; + GT.tracker.confirmed.ituz[details.ituz + "|"] = true; + GT.tracker.confirmed.ituz[details.ituz + "|" + mode] = true; + GT.tracker.confirmed.ituz[details.ituz + "|" + band] = true; if (isDigi == true) { - g_tracker.confirmed.ituz[details.ituz + "|dg"] = true; - g_tracker.confirmed.ituz[details.ituz + "|" + band + "dg"] = true; + GT.tracker.confirmed.ituz[details.ituz + "|dg"] = true; + GT.tracker.confirmed.ituz[details.ituz + "|" + band + "dg"] = true; } } if (details.cqz && details.cqz.length > 0) { - g_tracker.confirmed.cqz[details.cqz + "|" + band + mode] = true; - g_tracker.confirmed.cqz[details.cqz + "|"] = true; - g_tracker.confirmed.cqz[details.cqz + "|" + mode] = true; - g_tracker.confirmed.cqz[details.cqz + "|" + band] = true; + GT.tracker.confirmed.cqz[details.cqz + "|" + band + mode] = true; + GT.tracker.confirmed.cqz[details.cqz + "|"] = true; + GT.tracker.confirmed.cqz[details.cqz + "|" + mode] = true; + GT.tracker.confirmed.cqz[details.cqz + "|" + band] = true; if (isDigi == true) { - g_tracker.confirmed.cqz[details.cqz + "|dg"] = true; - g_tracker.confirmed.cqz[details.cqz + "|" + band + "dg"] = true; + GT.tracker.confirmed.cqz[details.cqz + "|dg"] = true; + GT.tracker.confirmed.cqz[details.cqz + "|" + band + "dg"] = true; } } if (details.dxcc > 0) { var sDXCC = String(details.dxcc); - g_tracker.confirmed.dxcc[sDXCC + "|" + band + mode] = true; - g_tracker.confirmed.dxcc[sDXCC + "|"] = true; - g_tracker.confirmed.dxcc[sDXCC + "|" + mode] = true; - g_tracker.confirmed.dxcc[sDXCC + "|" + band] = true; + GT.tracker.confirmed.dxcc[sDXCC + "|" + band + mode] = true; + GT.tracker.confirmed.dxcc[sDXCC + "|"] = true; + GT.tracker.confirmed.dxcc[sDXCC + "|" + mode] = true; + GT.tracker.confirmed.dxcc[sDXCC + "|" + band] = true; if (isDigi == true) { - g_tracker.confirmed.dxcc[sDXCC + "|dg"] = true; - g_tracker.confirmed.dxcc[sDXCC + "|" + band + "dg"] = true; + GT.tracker.confirmed.dxcc[sDXCC + "|dg"] = true; + GT.tracker.confirmed.dxcc[sDXCC + "|" + band + "dg"] = true; } } if (details.px) { - g_tracker.confirmed.px[details.px + band + mode] = true; + GT.tracker.confirmed.px[details.px + band + mode] = true; // store the last one - g_tracker.confirmed.px[details.px] = hash; - g_tracker.confirmed.px[details.px + mode] = true; - g_tracker.confirmed.px[details.px + band] = true; + GT.tracker.confirmed.px[details.px] = hash; + GT.tracker.confirmed.px[details.px + mode] = true; + GT.tracker.confirmed.px[details.px + band] = true; if (isDigi == true) { - g_tracker.confirmed.px[details.px + "dg"] = true; - g_tracker.confirmed.px[details.px + band + "dg"] = true; + GT.tracker.confirmed.px[details.px + "dg"] = true; + GT.tracker.confirmed.px[details.px + band + "dg"] = true; } } if (details.cont) { - g_tracker.confirmed.cont[details.cont + band + mode] = true; + GT.tracker.confirmed.cont[details.cont + band + mode] = true; // store the last one - g_tracker.confirmed.cont[details.cont] = hash; - g_tracker.confirmed.cont[details.cont + mode] = true; - g_tracker.confirmed.cont[details.cont + band] = true; + GT.tracker.confirmed.cont[details.cont] = hash; + GT.tracker.confirmed.cont[details.cont + mode] = true; + GT.tracker.confirmed.cont[details.cont + band] = true; if (isDigi == true) { - g_tracker.confirmed.cont[details.cont + "dg"] = true; - g_tracker.confirmed.cont[details.cont + band + "dg"] = true; + GT.tracker.confirmed.cont[details.cont + "dg"] = true; + GT.tracker.confirmed.cont[details.cont + band + "dg"] = true; } } // we don't need confirmations, worked is enough /* if (finalPOTA) { - g_tracker.confirmed.pota[dayAsString + finalDXcall + finalPOTA] = true; - g_tracker.confirmed.pota[dayAsString + finalDXcall + finalPOTA + mode] = true; - g_tracker.confirmed.pota[dayAsString + finalDXcall + finalPOTA + band] = true; - g_tracker.confirmed.pota[dayAsString + finalDXcall + finalPOTA + band + mode] = true; + GT.tracker.confirmed.pota[dayAsString + finalDXcall + finalPOTA] = true; + GT.tracker.confirmed.pota[dayAsString + finalDXcall + finalPOTA + mode] = true; + GT.tracker.confirmed.pota[dayAsString + finalDXcall + finalPOTA + band] = true; + GT.tracker.confirmed.pota[dayAsString + finalDXcall + finalPOTA + band + mode] = true; if (isDigi == true) { - g_tracker.confirmed.pota[dayAsString + finalDXcall + finalPOTA + "dg"] = true; - g_tracker.confirmed.pota[dayAsString + finalDXcall + finalPOTA + band + "dg"] = true; + GT.tracker.confirmed.pota[dayAsString + finalDXcall + finalPOTA + "dg"] = true; + GT.tracker.confirmed.pota[dayAsString + finalDXcall + finalPOTA + band + "dg"] = true; } } */ - g_tracker.confirmed.call[finalDXcall + band + mode] = true; - g_tracker.confirmed.call[finalDXcall] = true; - g_tracker.confirmed.call[finalDXcall + mode] = true; - g_tracker.confirmed.call[finalDXcall + band] = true; + GT.tracker.confirmed.call[finalDXcall + band + mode] = true; + GT.tracker.confirmed.call[finalDXcall] = true; + GT.tracker.confirmed.call[finalDXcall + mode] = true; + GT.tracker.confirmed.call[finalDXcall + band] = true; if (isDigi == true) { - g_tracker.confirmed.call[finalDXcall + "dg"] = true; - g_tracker.confirmed.call[finalDXcall + band + "dg"] = true; + GT.tracker.confirmed.call[finalDXcall + "dg"] = true; + GT.tracker.confirmed.call[finalDXcall + band + "dg"] = true; } didConfirm = true; } @@ -1496,7 +1497,7 @@ function addDeDx( hash = finalDXcall + band + mode; if (!isQSO) { - if (hash in g_liveCallsigns) callsign = g_liveCallsigns[hash]; + if (hash in GT.liveCallsigns) callsign = GT.liveCallsigns[hash]; } if (isQSO) @@ -1518,8 +1519,8 @@ function addDeDx( } else { - if (finalDxcc in g_dxccCount) g_dxccCount[finalDxcc]++; - else g_dxccCount[finalDxcc] = 1; + if (finalDxcc in GT.dxccCount) GT.dxccCount[finalDxcc]++; + else GT.dxccCount[finalDxcc] = 1; if (validateMapBandAndMode(band, mode)) { @@ -1569,7 +1570,7 @@ function addDeDx( if (newCallsign.cont == null) { - newCallsign.cont = g_dxccInfo[finalDxcc].continent; + newCallsign.cont = GT.dxccInfo[finalDxcc].continent; if (newCallsign.dxcc == 390 && newCallsign.zone == 1) { newCallsign.cont = "EU"; } } } @@ -1603,7 +1604,7 @@ function addDeDx( if (newCallsign.state == null && isKnownCallsignDXCC(finalDxcc) && finalGrid.length > 0) { - if (g_callsignLookups.ulsUseEnable) + if (GT.callsignLookups.ulsUseEnable) { lookupUsCallsign(newCallsign); } @@ -1612,15 +1613,15 @@ function addDeDx( { var fourGrid = finalGrid.substr(0, 4); if ( - fourGrid in g_gridToState && - g_gridToState[finalGrid.substr(0, 4)].length == 1 + fourGrid in GT.gridToState && + GT.gridToState[finalGrid.substr(0, 4)].length == 1 ) { - newCallsign.state = g_gridToState[finalGrid.substr(0, 4)][0]; + newCallsign.state = GT.gridToState[finalGrid.substr(0, 4)][0]; } } } - g_liveCallsigns[hash] = newCallsign; + GT.liveCallsigns[hash] = newCallsign; } else { @@ -1655,117 +1656,117 @@ function addDeDx( function timeoutSetUdpPort() { - g_appSettings.wsjtUdpPort = udpPortInput.value; + GT.appSettings.wsjtUdpPort = udpPortInput.value; lastMsgTimeDiv.innerHTML = "Waiting for msg..."; - g_setNewUdpPortTimeoutHandle = null; + GT.setNewUdpPortTimeoutHandle = null; } function setUdpPort() { - if (g_setNewUdpPortTimeoutHandle != null) { nodeTimers.clearTimeout(g_setNewUdpPortTimeoutHandle); } + if (GT.setNewUdpPortTimeoutHandle != null) { nodeTimers.clearTimeout(GT.setNewUdpPortTimeoutHandle); } lastMsgTimeDiv.innerHTML = "..setting.."; - g_setNewUdpPortTimeoutHandle = nodeTimers.setTimeout(timeoutSetUdpPort, 1000); + GT.setNewUdpPortTimeoutHandle = nodeTimers.setTimeout(timeoutSetUdpPort, 1000); } function changeGridDecay() { - g_appSettings.gridsquareDecayTime = parseInt(gridDecay.value); + GT.appSettings.gridsquareDecayTime = parseInt(gridDecay.value); decayRateTd.innerHTML = - Number(g_appSettings.gridsquareDecayTime) == 0 + Number(GT.appSettings.gridsquareDecayTime) == 0 ? "No Decay" - : Number(g_appSettings.gridsquareDecayTime).toDHMS(); + : toDHMS(Number(GT.appSettings.gridsquareDecayTime)); } function changeMouseOverValue() { - g_mapSettings.mouseOver = mouseOverValue.checked; + GT.mapSettings.mouseOver = mouseOverValue.checked; saveMapSettings(); } function changeMergeOverlayValue() { - g_mapSettings.mergeOverlay = mergeOverlayValue.checked; + GT.mapSettings.mergeOverlay = mergeOverlayValue.checked; saveMapSettings(); - setTrophyOverlay(g_currentOverlay); + setTrophyOverlay(GT.currentOverlay); } function getPathColor() { - if (g_mapSettings.nightMapEnable && g_nightTime) + if (GT.mapSettings.nightMapEnable && GT.nightTime) { - if (g_mapSettings.nightPathColor == 0) return "#000"; - if (g_mapSettings.nightPathColor == 361) return "#FFF"; - return "hsl(" + g_mapSettings.nightPathColor + ", 100%, 50%)"; + if (GT.mapSettings.nightPathColor == 0) return "#000"; + if (GT.mapSettings.nightPathColor == 361) return "#FFF"; + return "hsl(" + GT.mapSettings.nightPathColor + ", 100%, 50%)"; } else { - if (g_mapSettings.pathColor == 0) return "#000"; - if (g_mapSettings.pathColor == 361) return "#FFF"; - return "hsl(" + g_mapSettings.pathColor + ", 100%, 50%)"; + if (GT.mapSettings.pathColor == 0) return "#000"; + if (GT.mapSettings.pathColor == 361) return "#FFF"; + return "hsl(" + GT.mapSettings.pathColor + ", 100%, 50%)"; } } function getQrzPathColor() { - if (g_mapSettings.nightMapEnable && g_nightTime) + if (GT.mapSettings.nightMapEnable && GT.nightTime) { - if (g_mapSettings.nightQrzPathColor == 0) return "#000"; - if (g_mapSettings.nightQrzPathColor == 361) return "#FFF"; - return "hsl(" + g_mapSettings.nightQrzPathColor + ", 100%, 50%)"; + if (GT.mapSettings.nightQrzPathColor == 0) return "#000"; + if (GT.mapSettings.nightQrzPathColor == 361) return "#FFF"; + return "hsl(" + GT.mapSettings.nightQrzPathColor + ", 100%, 50%)"; } else { - if (g_mapSettings.qrzPathColor == 0) return "#000"; - if (g_mapSettings.qrzPathColor == 361) return "#FFF"; - return "hsl(" + g_mapSettings.qrzPathColor + ", 100%, 50%)"; + if (GT.mapSettings.qrzPathColor == 0) return "#000"; + if (GT.mapSettings.qrzPathColor == 361) return "#FFF"; + return "hsl(" + GT.mapSettings.qrzPathColor + ", 100%, 50%)"; } } function changeShadow() { - g_mapSettings.shadow = shadowValue.value; + GT.mapSettings.shadow = shadowValue.value; showDarknessTd.innerHTML = parseInt(shadowValue.value * 100) + "%"; saveMapSettings(); - g_nightTime = dayNight.refresh(); + GT.nightTime = dayNight.refresh(); } function changePathWidth() { - g_appSettings.pathWidthWeight = pathWidthValue.value; - g_appSettings.qrzPathWidthWeight = qrzPathWidthValue.value; + GT.appSettings.pathWidthWeight = pathWidthValue.value; + GT.appSettings.qrzPathWidthWeight = qrzPathWidthValue.value; pathWidthTd.innerHTML = pathWidthValue.value; qrzPathWidthTd.innerHTML = qrzPathWidthValue.value; - for (var i = g_flightPaths.length - 1; i >= 0; i--) + for (var i = GT.flightPaths.length - 1; i >= 0; i--) { - var featureStyle = g_flightPaths[i].getStyle(); + var featureStyle = GT.flightPaths[i].getStyle(); var featureStroke = featureStyle.getStroke(); - var color = g_flightPaths[i].isQRZ ? getQrzPathColor() : getPathColor(); - var width = g_flightPaths[i].isQRZ + var color = GT.flightPaths[i].isQRZ ? getQrzPathColor() : getPathColor(); + var width = GT.flightPaths[i].isQRZ ? qrzPathWidthValue.value : pathWidthValue.value; if (width == 0) { - if ("Arrow" in g_flightPaths[i]) { g_layerSources.flight.removeFeature(g_flightPaths[i].Arrow); } - g_layerSources.flight.removeFeature(g_flightPaths[i]); - delete g_flightPaths[i]; - g_flightPaths[i] = null; + if ("Arrow" in GT.flightPaths[i]) { GT.layerSources.flight.removeFeature(GT.flightPaths[i].Arrow); } + GT.layerSources.flight.removeFeature(GT.flightPaths[i]); + delete GT.flightPaths[i]; + GT.flightPaths[i] = null; - g_flightPaths.splice(i, 1); + GT.flightPaths.splice(i, 1); continue; } featureStroke.setWidth(width); - if (g_flightPaths[i].isShapeFlight == 0) featureStroke.setColor(color); + if (GT.flightPaths[i].isShapeFlight == 0) featureStroke.setColor(color); featureStyle.setStroke(featureStroke); - g_flightPaths[i].setStyle(featureStyle); + GT.flightPaths[i].setStyle(featureStyle); - if ("Arrow" in g_flightPaths[i]) + if ("Arrow" in GT.flightPaths[i]) { var stroke = new ol.style.Stroke({ color: color, @@ -1777,27 +1778,27 @@ function changePathWidth() radius: 3 }) }); - g_flightPaths[i].Arrow.setStyle(thisStle); + GT.flightPaths[i].Arrow.setStyle(thisStle); } } - if (g_transmitFlightPath != null) + if (GT.transmitFlightPath != null) { - var featureStyle = g_transmitFlightPath.getStyle(); + var featureStyle = GT.transmitFlightPath.getStyle(); var featureStroke = featureStyle.getStroke(); if (qrzPathWidthValue.value == 0) { - g_layerSources.transmit.clear(); - g_transmitFlightPath = null; + GT.layerSources.transmit.clear(); + GT.transmitFlightPath = null; } else { featureStroke.setWidth(qrzPathWidthValue.value); featureStroke.setColor(getQrzPathColor()); featureStyle.setStroke(featureStroke); - g_transmitFlightPath.setStyle(featureStyle); + GT.transmitFlightPath.setStyle(featureStyle); - if ("Arrow" in g_transmitFlightPath) + if ("Arrow" in GT.transmitFlightPath) { var stroke = new ol.style.Stroke({ color: getQrzPathColor(), @@ -1809,7 +1810,7 @@ function changePathWidth() radius: 3 }) }); - g_transmitFlightPath.Arrow.setStyle(thisStle); + GT.transmitFlightPath.Arrow.setStyle(thisStle); } } } @@ -1828,31 +1829,31 @@ function createFlagTipTable(toolElement) if (toolElement.size == 1) { var key = toolElement.key; - var dxcc = callsignToDxcc(g_gtFlagPins[key].call); - var dxccName = g_dxccToAltName[dxcc]; + var dxcc = callsignToDxcc(GT.gtFlagPins[key].call); + var dxccName = GT.dxccToAltName[dxcc]; var workColor = "cyan"; - if (g_gtFlagPins[key].call + myBand + myMode in g_tracker.worked.call) + if (GT.gtFlagPins[key].call + myBand + myMode in GT.tracker.worked.call) { workColor = "yellow"; } - if (g_gtFlagPins[key].call + myBand + myMode in g_tracker.confirmed.call) + if (GT.gtFlagPins[key].call + myBand + myMode in GT.tracker.confirmed.call) { workColor = "#00FF00"; } - worker += "
" + g_gtFlagPins[key].call.formatCallsign() + "
"; + worker += "
" + formatCallsign(GT.gtFlagPins[key].call) + "
"; worker += ""; - worker += ""; - worker += ""; - worker += ""; - worker += ""; + worker += ""; + worker += ""; + worker += ""; + worker += ""; - var LL = squareToCenter(g_gtFlagPins[key].grid); - var bearing = parseInt(MyCircle.bearing(g_myLat, g_myLon, LL.a, LL.o)); + var LL = squareToCenter(GT.gtFlagPins[key].grid); + var bearing = parseInt(MyCircle.bearing(GT.myLat, GT.myLon, LL.a, LL.o)); - worker += ""; + worker += ""; worker += ""; worker += "
DXCC" + dxccName + " (" + g_dxccInfo[dxcc].pp + ")
Grid" + g_gtFlagPins[key].grid + "
Freq" + Number(g_gtFlagPins[key].freq / 1000).formatMhz(3, 3) + " (" + Number(g_gtFlagPins[key].freq / 1000000).formatBand() + ")
Mode" + g_gtFlagPins[key].mode + "
DXCC" + dxccName + " (" + GT.dxccInfo[dxcc].pp + ")
Grid" + GT.gtFlagPins[key].grid + "
Freq" + formatMhz(Number(GT.gtFlagPins[key].freq / 1000), 3, 3) + " (" + formatBand(Number(GT.gtFlagPins[key].freq / 1000000)) + ")
Mode" + GT.gtFlagPins[key].mode + "
Dist" + parseInt(MyCircle.distance(g_myLat, g_myLon, LL.a, LL.o, distanceUnit.value) * MyCircle.validateRadius(distanceUnit.value)) + distanceUnit.value.toLowerCase() + "
Dist" + parseInt(MyCircle.distance(GT.myLat, GT.myLon, LL.a, LL.o, distanceUnit.value) * MyCircle.validateRadius(distanceUnit.value)) + distanceUnit.value.toLowerCase() + "
Azim" + bearing + "°
"; } @@ -1957,32 +1958,32 @@ function createSpotTipTable(toolElement) var now = timeNowSec(); var myTooltip = document.getElementById("myTooltip"); var worker = ""; - if (toolElement.spot in g_receptionReports.spots) + if (toolElement.spot in GT.receptionReports.spots) { - g_layerSources["psk-hop"].clear(); - var report = g_receptionReports.spots[toolElement.spot]; + GT.layerSources["psk-hop"].clear(); + var report = GT.receptionReports.spots[toolElement.spot]; var LL = squareToCenter(myRawGrid); var fromPoint = ol.proj.fromLonLat([LL.o, LL.a]); worker = ""; - worker += ""; - worker += ""; - worker += ""; + worker += ""; + worker += ""; + worker += ""; if (report.dxcc > 0) { - worker += ""; + worker += ""; } worker += ""; - worker += ""; + worker += ""; worker += ""; LL = squareToCenter(report.grid); - report.bearing = parseInt(MyCircle.bearing(g_myLat, g_myLon, LL.a, LL.o)); - worker += ""; + report.bearing = parseInt(MyCircle.bearing(GT.myLat, GT.myLon, LL.a, LL.o)); + worker += ""; worker += ""; worker += ""; worker += "
Rx Spot
Age" + Number(now - report.when).toDHMS() + "
dB" + Number(report.snr).formatSignalReport() + "
Call" + report.call.formatCallsign() + "
Age" + toDHMS(Number(now - report.when)) + "
dB" + formatSignalReport(Number(report.snr)) + "
Call" + formatCallsign(report.call) + "
DXCC" + g_dxccToAltName[report.dxcc] + " (" + g_dxccInfo[report.dxcc].pp + ")
DXCC" + GT.dxccToAltName[report.dxcc] + " (" + GT.dxccInfo[report.dxcc].pp + ")
Grid" + report.grid + "
Freq" + report.freq.formatMhz() + " (" + report.band + ")
Freq" + formatMhz(report.freq) + " (" + report.band + ")
Mode" + report.mode + "
Dist" + parseInt(MyCircle.distance(g_myLat, g_myLon, LL.a, LL.o, distanceUnit.value) * MyCircle.validateRadius(distanceUnit.value)) + distanceUnit.value.toLowerCase() + "
Dist" + parseInt(MyCircle.distance(GT.myLat, GT.myLon, LL.a, LL.o, distanceUnit.value) * MyCircle.validateRadius(distanceUnit.value)) + distanceUnit.value.toLowerCase() + "
Azim" + report.bearing + "°
Time" + userTimeString(report.when * 1000) + "
"; @@ -2002,7 +2003,7 @@ function createSpotTipTable(toolElement) ); } myTooltip.innerHTML = worker; - g_passingToolTipTableString = worker; + GT.passingToolTipTableString = worker; return 10; } catch (err) @@ -2019,9 +2020,9 @@ function createTooltTipTable(toolElement) } var myTooltip = document.getElementById("myTooltip"); var colspan = 10; - if (g_callsignLookups.lotwUseEnable == true) colspan++; - if (g_callsignLookups.eqslUseEnable == true) colspan++; - if (g_callsignLookups.oqrsUseEnable == true) colspan++; + if (GT.callsignLookups.lotwUseEnable == true) colspan++; + if (GT.callsignLookups.eqslUseEnable == true) colspan++; + if (GT.callsignLookups.oqrsUseEnable == true) colspan++; if (toolElement.qso == true) colspan += 2; var worker = @@ -2030,32 +2031,32 @@ function createTooltTipTable(toolElement) " style='color:cyan'>" + toolElement.qth + "
"; - for (var x = 0; x < g_gridToDXCC[toolElement.qth].length; x++) + for (var x = 0; x < GT.gridToDXCC[toolElement.qth].length; x++) { - worker += g_dxccToAltName[g_gridToDXCC[toolElement.qth][x]]; - if (toolElement.qth in g_gridToState) + worker += GT.dxccToAltName[GT.gridToDXCC[toolElement.qth][x]]; + if (toolElement.qth in GT.gridToState) { worker += " ("; var added = false; - for (var y = 0; y < g_gridToState[toolElement.qth].length; y++) + for (var y = 0; y < GT.gridToState[toolElement.qth].length; y++) { if ( - g_gridToDXCC[toolElement.qth][x] == - g_StateData[g_gridToState[toolElement.qth][y]].dxcc + GT.gridToDXCC[toolElement.qth][x] == + GT.StateData[GT.gridToState[toolElement.qth][y]].dxcc ) { worker += - g_StateData[g_gridToState[toolElement.qth][y]].name + " / "; + GT.StateData[GT.gridToState[toolElement.qth][y]].name + " / "; added = true; } } if (added == true) { worker = worker.substr(0, worker.length - " / ".length); } worker += ")"; } - if (x + 1 < g_gridToDXCC[toolElement.qth].length) worker += ", "; + if (x + 1 < GT.gridToDXCC[toolElement.qth].length) worker += ", "; } worker += "
CallFreqSentRcvdStationModeBandQSLLast MsgDXCCTimeLoTWeQSLOQRSLoTWeQSLOQRS
CallFreqSentRcvdStationModeBandLast MsgDXCCTimeLoTWeQSLOQRSLoTWeQSLOQRS
" + (callsign.delta > -1 ? callsign.delta : "-") + "" + callsign.RSTsent + "" + callsign.RSTrecv + "" + callsign.msg + "" + - g_dxccToAltName[callsign.dxcc] + + GT.dxccToAltName[callsign.dxcc] + " (" + - g_dxccInfo[callsign.dxcc].pp + + GT.dxccInfo[callsign.dxcc].pp + ")" + ageString + "" + - (callsign.DEcall in g_lotwCallsigns ? "✔" : "") + + (callsign.DEcall in GT.lotwCallsigns ? "✔" : "") + "" + - (callsign.DEcall in g_eqslCallsigns ? "✔" : "") + + (callsign.DEcall in GT.eqslCallsigns ? "✔" : "") + "" + - (callsign.DEcall in g_oqrsCallsigns ? "✔" : "") + + (callsign.DEcall in GT.oqrsCallsigns ? "✔" : "") + "
"; myTooltip.innerHTML = worker; - g_passingToolTipTableString = worker; + GT.passingToolTipTableString = worker; return newCallList.length; } @@ -2206,9 +2207,9 @@ function createTooltTipTableLogbook(toolElement) { var myTooltip = document.getElementById("myTooltip"); var colspan = 10; - if (g_callsignLookups.lotwUseEnable == true) colspan++; - if (g_callsignLookups.eqslUseEnable == true) colspan++; - if (g_callsignLookups.oqrsUseEnable == true) colspan++; + if (GT.callsignLookups.lotwUseEnable == true) colspan++; + if (GT.callsignLookups.eqslUseEnable == true) colspan++; + if (GT.callsignLookups.oqrsUseEnable == true) colspan++; if (toolElement.qso == true) colspan += 2; var worker = @@ -2221,9 +2222,9 @@ function createTooltTipTableLogbook(toolElement) worker += "CallFreqSentRcvdStationModeBandDXCCTime"; - if (g_callsignLookups.lotwUseEnable == true) worker += "LoTW"; - if (g_callsignLookups.eqslUseEnable == true) worker += "eQSL"; - if (g_callsignLookups.oqrsUseEnable == true) worker += "OQRS"; + if (GT.callsignLookups.lotwUseEnable == true) worker += "LoTW"; + if (GT.callsignLookups.eqslUseEnable == true) worker += "eQSL"; + if (GT.callsignLookups.oqrsUseEnable == true) worker += "OQRS"; worker += ""; var newCallList = Array(); @@ -2241,7 +2242,7 @@ function createTooltTipTableLogbook(toolElement) if (callsign.DXcall == myDEcall) { bgDX = " style='background-color:cyan;color:#000;font-weight:bold' "; } if (callsign.DEcall == myDEcall) { bgDE = " style='background-color:#FFFF00;color:#000;font-weight:bold' "; } var ageString = ""; - if (timeNowSec() - callsign.time < 3601) { ageString = (timeNowSec() - callsign.time).toDHMS(); } + if (timeNowSec() - callsign.time < 3601) { ageString = toDHMS(timeNowSec() - callsign.time); } else { ageString = userTimeString(callsign.time * 1000); @@ -2253,20 +2254,20 @@ function createTooltTipTableLogbook(toolElement) "\",\"" + toolElement.qth + "\");' >" + - callsign.DEcall.formatCallsign() + + formatCallsign(callsign.DEcall) + "
"; worker += ""; worker += "" + (callsign.delta > -1 ? callsign.delta : "-") + ""; worker += "" + callsign.RSTsent + ""; worker += "" + callsign.RSTrecv + "" + ""; - if (callsign.DXcall.indexOf("CQ") == 0 || callsign.DXcall == "-") { worker += callsign.DXcall.formatCallsign(); } + if (callsign.DXcall.indexOf("CQ") == 0 || callsign.DXcall == "-") { worker += formatCallsign(callsign.DXcall); } else { worker += "
" + - callsign.DXcall.formatCallsign() + + formatCallsign(callsign.DXcall) + "
"; } worker += @@ -2279,30 +2280,30 @@ function createTooltTipTableLogbook(toolElement) ""; worker += "" + - g_dxccToAltName[callsign.dxcc] + + GT.dxccToAltName[callsign.dxcc] + " (" + - g_dxccInfo[callsign.dxcc].pp + + GT.dxccInfo[callsign.dxcc].pp + ")" + "" + ageString + ""; - if (g_callsignLookups.lotwUseEnable == true) + if (GT.callsignLookups.lotwUseEnable == true) { worker += "" + - (callsign.DEcall in g_lotwCallsigns ? "✔" : "") + + (callsign.DEcall in GT.lotwCallsigns ? "✔" : "") + ""; } - if (g_callsignLookups.eqslUseEnable == true) + if (GT.callsignLookups.eqslUseEnable == true) { worker += "" + - (callsign.DEcall in g_eqslCallsigns ? "✔" : "") + + (callsign.DEcall in GT.eqslCallsigns ? "✔" : "") + ""; } - if (g_callsignLookups.oqrsUseEnable == true) + if (GT.callsignLookups.oqrsUseEnable == true) { - if (callsign.DEcall in g_oqrsCallsigns) + if (callsign.DEcall in GT.oqrsCallsigns) { worker += " 0 + GT.viewInfo[GT.currentOverlay][2] <= GT.viewInfo[GT.currentOverlay][4] && + GT.viewInfo[GT.currentOverlay][4] > 0 ) { - end = ` Needed ${(g_viewInfo[g_currentOverlay][4] - g_viewInfo[g_currentOverlay][2])}]`; + end = ` Needed ${(GT.viewInfo[GT.currentOverlay][4] - GT.viewInfo[GT.currentOverlay][2])}]`; } return news + workline + end; } function setTrophyOverlay(which) { - g_currentOverlay = which; + GT.currentOverlay = which; window.document.title = makeTitleInfo(true); - trophyImg.src = g_trophyImageArray[which]; + trophyImg.src = GT.trophyImageArray[which]; myTrophyTooltip.style.zIndex = -1; clearCurrentShapes(); // set the scope of key @@ -3116,256 +3117,256 @@ function setTrophyOverlay(which) if (which == 0) { - for (key in g_layerVectors) + for (key in GT.layerVectors) { - g_layerVectors[key].setVisible(true); + GT.layerVectors[key].setVisible(true); } if ( - g_appSettings.gtFlagImgSrc > 0 && - g_appSettings.gtShareEnable == true && - g_mapSettings.offlineMode == false + GT.appSettings.gtFlagImgSrc > 0 && + GT.appSettings.gtShareEnable == true && + GT.mapSettings.offlineMode == false ) { - g_layerVectors.gtflags.setVisible(true); + GT.layerVectors.gtflags.setVisible(true); } else { - g_layerVectors.gtflags.setVisible(false); + GT.layerVectors.gtflags.setVisible(false); } - g_layerVectors.award.setVisible(false); - if (g_showAllGrids == false) + GT.layerVectors.award.setVisible(false); + if (GT.showAllGrids == false) { - g_layerVectors["line-grids"].setVisible(false); - g_layerVectors["big-grids"].setVisible(false); - g_layerVectors["long-grids"].setVisible(false); + GT.layerVectors["line-grids"].setVisible(false); + GT.layerVectors["big-grids"].setVisible(false); + GT.layerVectors["long-grids"].setVisible(false); } - if (g_timezoneLayer) + if (GT.timezoneLayer) { - if (g_timezonesEnable == 1) + if (GT.timezonesEnable == 1) { - g_timezoneLayer.setVisible(true); + GT.timezoneLayer.setVisible(true); } else { - g_timezoneLayer.setVisible(false); + GT.timezoneLayer.setVisible(false); } } } else { - if (g_mapSettings.mergeOverlay == false) + if (GT.mapSettings.mergeOverlay == false) { - for (key in g_layerVectors) + for (key in GT.layerVectors) { - g_layerVectors[key].setVisible(false); + GT.layerVectors[key].setVisible(false); } } else { - for (key in g_layerVectors) + for (key in GT.layerVectors) { - g_layerVectors[key].setVisible(true); + GT.layerVectors[key].setVisible(true); } if ( - g_appSettings.gtFlagImgSrc > 0 && - g_appSettings.gtShareEnable == true && - g_mapSettings.offlineMode == false + GT.appSettings.gtFlagImgSrc > 0 && + GT.appSettings.gtShareEnable == true && + GT.mapSettings.offlineMode == false ) { - g_layerVectors.gtflags.setVisible(true); + GT.layerVectors.gtflags.setVisible(true); } else { - g_layerVectors.gtflags.setVisible(false); + GT.layerVectors.gtflags.setVisible(false); } - if (g_showAllGrids == false) + if (GT.showAllGrids == false) { - g_layerVectors["line-grids"].setVisible(false); - g_layerVectors["big-grids"].setVisible(false); - g_layerVectors["long-grids"].setVisible(false); + GT.layerVectors["line-grids"].setVisible(false); + GT.layerVectors["big-grids"].setVisible(false); + GT.layerVectors["long-grids"].setVisible(false); } } - g_layerVectors.award.setVisible(true); - if (g_timezoneLayer) + GT.layerVectors.award.setVisible(true); + if (GT.timezoneLayer) { - g_timezoneLayer.setVisible(false); + GT.timezoneLayer.setVisible(false); } mapLoseFocus(); } if (which == 1) { - for (key in g_cqZones) + for (key in GT.cqZones) { var boxColor = "#FF000015"; var borderColor = "#005500FF"; var borderWeight = 1; - if (didConfirm(g_cqZones[key])) + if (didConfirm(GT.cqZones[key])) { boxColor = "#00FF0066"; } - else if (didWork(g_cqZones[key])) + else if (didWork(GT.cqZones[key])) { boxColor = "#FFFF0066"; } - g_currentShapes[key] = shapeFeature( + GT.currentShapes[key] = shapeFeature( key, - g_cqZones[key].geo, + GT.cqZones[key].geo, "cqzone", boxColor, borderColor, borderWeight ); - g_layerSources.award.addFeature(g_currentShapes[key]); + GT.layerSources.award.addFeature(GT.currentShapes[key]); } } if (which == 2) { - for (key in g_ituZones) + for (key in GT.ituZones) { var boxColor = "#FF000015"; var borderColor = "#800080FF"; var borderWeight = 1; - if (didConfirm(g_ituZones[key])) + if (didConfirm(GT.ituZones[key])) { boxColor = "#00FF0066"; borderWeight = 1; } - else if (didWork(g_ituZones[key])) + else if (didWork(GT.ituZones[key])) { boxColor = "#FFFF0066"; borderWeight = 1; } - g_currentShapes[key] = shapeFeature( + GT.currentShapes[key] = shapeFeature( key, - g_ituZones[key].geo, + GT.ituZones[key].geo, "ituzone", boxColor, borderColor, borderWeight ); - g_layerSources.award.addFeature(g_currentShapes[key]); + GT.layerSources.award.addFeature(GT.currentShapes[key]); } } if (which == 3) { - for (key in g_wacZones) + for (key in GT.wacZones) { var boxColor = "#FF000015"; var borderColor = "#006666FF"; var borderWeight = 1; var originalKey = key; - if (didConfirm(g_wacZones[key])) + if (didConfirm(GT.wacZones[key])) { boxColor = "#00FF0066"; } - else if (didWork(g_wacZones[key])) + else if (didWork(GT.wacZones[key])) { boxColor = "#FFFF0066"; } - g_currentShapes[originalKey] = shapeFeature( + GT.currentShapes[originalKey] = shapeFeature( originalKey, - g_wacZones[originalKey].geo, + GT.wacZones[originalKey].geo, "wac", boxColor, borderColor, borderWeight ); - g_layerSources.award.addFeature(g_currentShapes[originalKey]); + GT.layerSources.award.addFeature(GT.currentShapes[originalKey]); } } if (which == 4) { - for (key in g_wasZones) + for (key in GT.wasZones) { var boxColor = "#FF000020"; var borderColor = "#0000FFFF"; var borderWeight = 1; - if (didConfirm(g_wasZones[key])) + if (didConfirm(GT.wasZones[key])) { boxColor = "#00FF0066"; } - else if (didWork(g_wasZones[key])) + else if (didWork(GT.wasZones[key])) { boxColor = "#FFFF0066"; } - g_currentShapes[key] = shapeFeature( + GT.currentShapes[key] = shapeFeature( key, - g_wasZones[key].geo, + GT.wasZones[key].geo, "was", boxColor, borderColor, borderWeight ); - g_layerSources.award.addFeature(g_currentShapes[key]); + GT.layerSources.award.addFeature(GT.currentShapes[key]); } } if (which == 5) { - for (key in g_dxccInfo) + for (key in GT.dxccInfo) { var boxColor = "#FF000015"; var borderColor = "#0000FFFF"; var borderWeight = 1; - if (didConfirm(g_dxccInfo[key])) + if (didConfirm(GT.dxccInfo[key])) { boxColor = "#00FF0066"; } - else if (didWork(g_dxccInfo[key])) + else if (didWork(GT.dxccInfo[key])) { boxColor = "#FFFF0066"; } - if (g_dxccInfo[key].geo != "deleted") + if (GT.dxccInfo[key].geo != "deleted") { - g_currentShapes[key] = shapeFeature( + GT.currentShapes[key] = shapeFeature( key, - g_dxccInfo[key].geo, + GT.dxccInfo[key].geo, "dxcc", boxColor, borderColor, borderWeight ); - g_layerSources.award.addFeature(g_currentShapes[key]); + GT.layerSources.award.addFeature(GT.currentShapes[key]); } } } if (which == 6) { - for (key in g_countyData) + for (key in GT.countyData) { var boxColor = "#00000000"; var borderColor = "#0000FFFF"; var borderWeight = 0.1; - if (didConfirm(g_countyData[key])) + if (didConfirm(GT.countyData[key])) { boxColor = "#00FF0066"; borderWeight = 1; } - else if (didWork(g_countyData[key])) + else if (didWork(GT.countyData[key])) { boxColor = "#FFFF0066"; borderWeight = 1; } - g_currentShapes[key] = shapeFeature( + GT.currentShapes[key] = shapeFeature( key, - g_countyData[key].geo, + GT.countyData[key].geo, "usc", boxColor, borderColor, borderWeight ); - g_layerSources.award.addFeature(g_currentShapes[key]); + GT.layerSources.award.addFeature(GT.currentShapes[key]); } } if (which == 7) { - for (key in g_us48Data) + for (key in GT.us48Data) { var LL = squareToLatLong(key); var bounds = [ @@ -3376,18 +3377,18 @@ function setTrophyOverlay(which) var boxColor = "#FF000015"; var borderColor = "#0000FFFF"; var borderWeight = 0.1; - if (g_us48Data[key].confirmed) + if (GT.us48Data[key].confirmed) { boxColor = "#00FF0066"; borderWeight = 0.2; } - else if (g_us48Data[key].worked) + else if (GT.us48Data[key].worked) { boxColor = "#FFFF0066"; borderWeight = 0.2; } - g_currentShapes[key] = gridFeature( + GT.currentShapes[key] = gridFeature( key, rectangle(bounds), "us48", @@ -3395,7 +3396,7 @@ function setTrophyOverlay(which) borderColor, borderWeight ); - g_layerSources.award.addFeature(g_currentShapes[key]); + GT.layerSources.award.addFeature(GT.currentShapes[key]); } } @@ -3428,13 +3429,13 @@ function gridFeature( return objectData; } -var g_lastMoon = null; +GT.lastMoon = null; function moonOver(feature) { var data = subLunar(timeNowSec()); - var object = doRAconvert(g_myLon, g_myLat, data.RA, data.Dec); + var object = doRAconvert(GT.myLon, GT.myLat, data.RA, data.Dec); var elevation = object.elevation.toFixed(1); var elColor = "yellow"; if (elevation <= 0) elColor = "red"; @@ -3456,12 +3457,12 @@ function moonOver(feature) myMoonTooltip.innerHTML = worker; - if (g_lastMoon) + if (GT.lastMoon) { moonMove(); return; } - g_lastMoon = feature; + GT.lastMoon = feature; moonMove(); myMoonTooltip.style.zIndex = 499; @@ -3470,7 +3471,7 @@ function moonOver(feature) function moonOut() { - g_lastMoon = null; + GT.lastMoon = null; myMoonTooltip.style.zIndex = -1; } @@ -3481,16 +3482,16 @@ function moonMove() myMoonTooltip.style.top = getMouseY() + 22 + "px"; } -var g_lastTrophy = null; +GT.lastTrophy = null; function trophyOver(feature) { - if (g_lastTrophy && g_lastTrophy == feature) + if (GT.lastTrophy && GT.lastTrophy == feature) { trophyMove(); return; } - g_lastTrophy = feature; + GT.lastTrophy = feature; var name = feature.getGeometryName(); @@ -3502,61 +3503,61 @@ function trophyOver(feature) if (key == "cqzone") { trophy = "CQ Zone"; - infoObject = g_cqZones[name]; + infoObject = GT.cqZones[name]; zone = name; - name = g_cqZones[name].name; + name = GT.cqZones[name].name; } if (key == "ituzone") { trophy = "ITU Zone"; - infoObject = g_ituZones[name]; + infoObject = GT.ituZones[name]; } - if (key == "wac" && name in g_wacZones) + if (key == "wac" && name in GT.wacZones) { trophy = "Continent"; - infoObject = g_wacZones[name]; + infoObject = GT.wacZones[name]; } - if (key == "was" && name in g_wasZones) + if (key == "was" && name in GT.wasZones) { trophy = "US State"; - infoObject = g_wasZones[name]; + infoObject = GT.wasZones[name]; } - if (key == "dxcc" && name in g_dxccInfo) + if (key == "dxcc" && name in GT.dxccInfo) { trophy = "DXCC"; var ref = name; - infoObject = g_dxccInfo[ref]; + infoObject = GT.dxccInfo[ref]; name = - g_dxccInfo[ref].name + + GT.dxccInfo[ref].name + " (" + - g_dxccInfo[ref].pp + + GT.dxccInfo[ref].pp + ")"; } if (key == "usc") { trophy = "US County"; - infoObject = g_countyData[name]; + infoObject = GT.countyData[name]; name = infoObject.geo.properties.n + ", " + infoObject.geo.properties.st; } if (key == "us48") { trophy = "US Continental Grids"; - infoObject = g_us48Data[feature.get("grid")]; + infoObject = GT.us48Data[feature.get("grid")]; name = feature.get("grid"); - if (name in g_gridToState) + if (name in GT.gridToState) { zone = ""; - for (var x = 0; x < g_gridToDXCC[name].length; x++) + for (var x = 0; x < GT.gridToDXCC[name].length; x++) { - if (name in g_gridToState) + if (name in GT.gridToState) { - for (var y = 0; y < g_gridToState[name].length; y++) + for (var y = 0; y < GT.gridToState[name].length; y++) { - if (g_gridToDXCC[name][x] == g_StateData[g_gridToState[name][y]].dxcc && g_gridToDXCC[name][x] == 291) + if (GT.gridToDXCC[name][x] == GT.StateData[GT.gridToState[name][y]].dxcc && GT.gridToDXCC[name][x] == 291) { - zone += g_StateData[g_gridToState[name][y]].name + ", "; + zone += GT.StateData[GT.gridToState[name][y]].name + ", "; } } } @@ -3684,7 +3685,7 @@ function trophyOver(feature) function trophyOut() { - g_lastTrophy = null; + GT.lastTrophy = null; myTrophyTooltip.style.zIndex = -1; } @@ -3695,25 +3696,25 @@ function trophyMove() myTrophyTooltip.style.top = getMouseY() - positionInfo.height - 22 + "px"; } -var g_MyCurrentGrid = ""; -var g_MyGridIsUp = false; +GT.MyCurrentGrid = ""; +GT.MyGridIsUp = false; function mouseDownGrid(longlat, event) { var grid = ""; grid = latLonToGridSquare(longlat[1], longlat[0]); - g_MyCurrentGrid = grid.substr(0, 4); + GT.MyCurrentGrid = grid.substr(0, 4); var worker = ""; worker += ""; var bearing = parseInt( - MyCircle.bearing(g_myLat, g_myLon, longlat[1], longlat[0]) + MyCircle.bearing(GT.myLat, GT.myLon, longlat[1], longlat[0]) ); worker += "
Dist" + parseInt( MyCircle.distance( - g_myLat, - g_myLon, + GT.myLat, + GT.myLon, longlat[1], longlat[0], distanceUnit.value @@ -3731,35 +3732,35 @@ function mouseDownGrid(longlat, event) "
Long" + longlat[0].toFixed(3) + "
"; - if (grid in g_gridToDXCC) + if (grid in GT.gridToDXCC) { worker += ""; worker += ""; - for (var x = 0; x < g_gridToDXCC[grid].length; x++) + for (var x = 0; x < GT.gridToDXCC[grid].length; x++) { worker += ""; } - if (grid in g_gridToState) + if (grid in GT.gridToState) { worker += ""; - for (var x = 0; x < g_gridToDXCC[grid].length; x++) + for (var x = 0; x < GT.gridToDXCC[grid].length; x++) { worker += "
" + - g_dxccToAltName[g_gridToDXCC[grid][x]] + + GT.dxccToAltName[GT.gridToDXCC[grid][x]] + " (" + - g_dxccInfo[g_gridToDXCC[grid][x]].pp + + GT.dxccInfo[GT.gridToDXCC[grid][x]].pp + ")
"; - if (grid in g_gridToState) + if (grid in GT.gridToState) { - for (var y = 0; y < g_gridToState[grid].length; y++) + for (var y = 0; y < GT.gridToState[grid].length; y++) { if ( - g_gridToDXCC[grid][x] == g_StateData[g_gridToState[grid][y]].dxcc + GT.gridToDXCC[grid][x] == GT.StateData[GT.gridToState[grid][y]].dxcc ) { - worker += g_StateData[g_gridToState[grid][y]].name + "
"; + worker += GT.StateData[GT.gridToState[grid][y]].name + "
"; } } } @@ -3769,13 +3770,13 @@ function mouseDownGrid(longlat, event) worker += "
"; } - g_tempGridBox = tempGridToBox(grid, g_tempGridBox, "#000000FF", "#00000000"); + GT.tempGridBox = tempGridToBox(grid, GT.tempGridBox, "#000000FF", "#00000000"); myGridTooltip.innerHTML = "
" + grid + "
" + worker; - g_MyGridIsUp = true; + GT.MyGridIsUp = true; mouseMoveGrid(); myGridTooltip.style.zIndex = 499; @@ -3784,7 +3785,7 @@ function mouseDownGrid(longlat, event) function mouseMoveGrid() { - if (g_MyGridIsUp == true) + if (GT.MyGridIsUp == true) { var positionInfo = myGridTooltip.getBoundingClientRect(); myGridTooltip.style.left = getMouseX() - positionInfo.width / 2 + "px"; @@ -3794,26 +3795,26 @@ function mouseMoveGrid() function mouseUpGrid() { - g_MyGridIsUp = false; + GT.MyGridIsUp = false; myGridTooltip.style.zIndex = -1; - if (g_tempGridBox) + if (GT.tempGridBox) { - if (g_layerSources.temp.hasFeature(g_tempGridBox)) { g_layerSources.temp.removeFeature(g_tempGridBox); } + if (GT.layerSources.temp.hasFeature(GT.tempGridBox)) { GT.layerSources.temp.removeFeature(GT.tempGridBox); } } - g_tempGridBox = null; + GT.tempGridBox = null; } -var g_lastGtFlag = null; +GT.lastGtFlag = null; function mouseOverGtFlag(feature) { - if (g_lastGtFlag && g_lastGtFlag == feature) + if (GT.lastGtFlag && GT.lastGtFlag == feature) { gtFlagMove(); return; } - g_lastGtFlag = feature; + GT.lastGtFlag = feature; createFlagTipTable(feature); @@ -3822,11 +3823,11 @@ function mouseOverGtFlag(feature) myFlagtip.style.zIndex = 499; myFlagtip.style.display = "block"; - if (feature.size == 73 && feature != g_lasttimezone) + if (feature.size == 73 && feature != GT.lasttimezone) { - if (g_lasttimezone != null) + if (GT.lasttimezone != null) { - g_lasttimezone.setStyle(null); + GT.lasttimezone.setStyle(null); } var style = new ol.style.Style({ @@ -3836,19 +3837,19 @@ function mouseOverGtFlag(feature) }); feature.setStyle(style); - g_lasttimezone = feature; + GT.lasttimezone = feature; } } function mouseOutGtFlag(mouseEvent) { - g_lastGtFlag = null; + GT.lastGtFlag = null; myFlagtip.style.zIndex = -1; - if (g_lasttimezone != null) + if (GT.lasttimezone != null) { - g_lasttimezone.setStyle(null); - g_lasttimezone = null; + GT.lasttimezone.setStyle(null); + GT.lasttimezone = null; } } @@ -3859,21 +3860,21 @@ function gtFlagMove() myFlagtip.style.top = getMouseY() - positionInfo.height - 5 + "px"; } -var g_lastDataGridUp = null; +GT.lastDataGridUp = null; function mouseOverDataItem(mouseEvent, fromHover) { - if (g_MyGridIsUp) return; - if (g_lastDataGridUp && g_lastDataGridUp == mouseEvent) + if (GT.MyGridIsUp) return; + if (GT.lastDataGridUp && GT.lastDataGridUp == mouseEvent) { mouseMoveDataItem(mouseEvent); return; } - if (g_mapSettings.mouseOver == true && fromHover == false) return; + if (GT.mapSettings.mouseOver == true && fromHover == false) return; - if (g_mapSettings.mouseOver == false && fromHover == true) return; + if (GT.mapSettings.mouseOver == false && fromHover == true) return; - g_lastDataGridUp = mouseEvent; + GT.lastDataGridUp = mouseEvent; var isFlag = false; var callListLength = createTooltTipTable(mouseEvent); @@ -3884,7 +3885,7 @@ function mouseOverDataItem(mouseEvent, fromHover) var noRoomRight = false; if ( typeof mouseEvent.spot != "undefined" && - g_receptionReports.spots[mouseEvent.spot].bearing > 180 + GT.receptionReports.spots[mouseEvent.spot].bearing > 180 ) { noRoomRight = true; } myTooltip.style.left = getMouseX() + 15 + "px"; top = parseInt(getMouseY() - 20 - (callListLength / 2) * 25); @@ -3918,7 +3919,7 @@ function mouseMoveDataItem(mouseEvent) var noRoomRight = false; if ( typeof mouseEvent.spot != "undefined" && - g_receptionReports.spots[mouseEvent.spot].bearing > 180 + GT.receptionReports.spots[mouseEvent.spot].bearing > 180 ) { noRoomRight = true; } myTooltip.style.left = getMouseX() + 15 + "px"; top = Number(myTooltip.style.top); @@ -3946,18 +3947,18 @@ function mouseOutOfDataItem(mouseEvent) { var myTooltip = document.getElementById("myTooltip"); myTooltip.style.zIndex = -1; - g_lastDataGridUp = null; + GT.lastDataGridUp = null; - if (g_spotView == 1) g_layerSources["psk-hop"].clear(); + if (GT.spotView == 1) GT.layerSources["psk-hop"].clear(); } function reloadInfo(bandOrMode) { - if (g_statsWindowHandle != null) + if (GT.statsWindowHandle != null) { try { - g_statsWindowHandle.window.reloadInfo(); + GT.statsWindowHandle.window.reloadInfo(); } catch (e) { @@ -4056,7 +4057,7 @@ function squareToLatLong(qth) var la2; var lo2; var LatLong = []; - if (qth.length == 4 || g_appSettings.sixWideMode == 0) + if (qth.length == 4 || GT.appSettings.sixWideMode == 0) { la2 = la1 + 1; lo2 = lo1 + 2; @@ -4116,21 +4117,21 @@ function qthToQsoBox( wspr ) { - if (g_appSettings.gridViewMode == 1) return null; + if (GT.appSettings.gridViewMode == 1) return null; - var borderColor = g_mainBorderColor; - var boxColor = g_legendColors.QSX + g_gridAlpha; + var borderColor = GT.mainBorderColor; + var boxColor = GT.legendColors.QSX + GT.gridAlpha; var borderWeight = 0.5; var myDEzOffset = 10; var myDEbox = false; if (worked) { - boxColor = g_legendColors.QSO + g_gridAlpha; + boxColor = GT.legendColors.QSO + GT.gridAlpha; } if (confirmed) { - boxColor = g_legendColors.QSL + g_gridAlpha; + boxColor = GT.legendColors.QSL + GT.gridAlpha; } if (wspr != null) { @@ -4139,27 +4140,27 @@ function qthToQsoBox( } var zIndex = 2; - var entityVisibility = g_appSettings.gridViewMode > 1; + var entityVisibility = GT.appSettings.gridViewMode > 1; var returnRectangle = null; - if (g_appSettings.sixWideMode == 0) iQTH = iQTH.substr(0, 4); + if (GT.appSettings.sixWideMode == 0) iQTH = iQTH.substr(0, 4); else iQTH = iQTH.substr(0, 6); var rect = null; if (iQTH == "") { - for (var key in g_qsoGrids) + for (var key in GT.qsoGrids) { - if (iHash in g_qsoGrids[key].rectangle.hashes) + if (iHash in GT.qsoGrids[key].rectangle.hashes) { - rect = g_qsoGrids[key]; + rect = GT.qsoGrids[key]; break; } } } else { - if (iQTH in g_qsoGrids) + if (iQTH in GT.qsoGrids) { - rect = g_qsoGrids[iQTH]; + rect = GT.qsoGrids[iQTH]; } } if (rect == null) @@ -4169,10 +4170,10 @@ function qthToQsoBox( // Valid QTH var triangleView = false; if ( - g_appSettings.gridViewMode == 3 && - iQTH in g_liveGrids && + GT.appSettings.gridViewMode == 3 && + iQTH in GT.liveGrids && entityVisibility == true && - g_pushPinMode == false + GT.pushPinMode == false ) { if (confirmed) @@ -4219,14 +4220,14 @@ function qthToQsoBox( newRect.rectangle.qth = iQTH; - if (g_pushPinMode == false && entityVisibility == true) { g_layerSources.qso.addFeature(newRect.rectangle); } + if (GT.pushPinMode == false && entityVisibility == true) { GT.layerSources.qso.addFeature(newRect.rectangle); } - var newPin = g_colorLeafletQPins.worked[band]; - if (confirmed) newPin = g_colorLeafletQPins.confirmed[band]; + var newPin = GT.colorLeafletQPins.worked[band]; + if (confirmed) newPin = GT.colorLeafletQPins.confirmed[band]; newRect.rectangle.pin = iconFeature( ol.extent.getCenter(newRect.rectangle.getGeometry().getExtent()), - g_appSettings.sixWideMode == 1 ? newPin : g_pushPinIconOff, + GT.appSettings.sixWideMode == 1 ? newPin : GT.pushPinIconOff, zIndex ); newRect.rectangle.pin.qth = iQTH; @@ -4234,7 +4235,7 @@ function qthToQsoBox( newRect.rectangle.pin.hashes[iHash] = 1; newRect.rectangle.pin.size = LL.size; - if (g_pushPinMode && entityVisibility == true) { g_layerSources["qso-pins"].addFeature(newRect.rectangle.pin); } + if (GT.pushPinMode && entityVisibility == true) { GT.layerSources["qso-pins"].addFeature(newRect.rectangle.pin); } newRect.rectangle.locked = locked; newRect.rectangle.worked = worked; @@ -4245,7 +4246,7 @@ function qthToQsoBox( newRect.rectangle.qso = true; newRect.rectangle.pin.qso = true; - g_qsoGrids[iQTH] = newRect; + GT.qsoGrids[iQTH] = newRect; returnRectangle = newRect.rectangle; } } @@ -4263,7 +4264,7 @@ function qthToQsoBox( } if (worked && !rect.rectangle.worked) rect.rectangle.worked = worked; if (confirmed && !rect.rectangle.confirmed) { rect.rectangle.confirmed = confirmed; } - borderColor = g_mainBorderColor; + borderColor = GT.mainBorderColor; if (myDEbox) borderWeight = 1; zIndex = 2; if (rect.rectangle.size == 6) @@ -4292,34 +4293,34 @@ function qthToQsoBox( function qthToBox(iQTH, iDEcallsign, iCQ, locked, DE, band, wspr, hash) { - if (g_appSettings.gridViewMode == 2) return null; + if (GT.appSettings.gridViewMode == 2) return null; - var borderColor = g_mainBorderColor; - var boxColor = g_legendColors.QSX + g_gridAlpha; + var borderColor = GT.mainBorderColor; + var boxColor = GT.legendColors.QSX + GT.gridAlpha; var borderWeight = 0.5; var myDEzOffset = 0; var myDEbox = false; if (DE == "CQ" || iCQ) { - boxColor = g_legendColors.CQ + g_gridAlpha; + boxColor = GT.legendColors.CQ + GT.gridAlpha; } if (DE == myDEcall) { borderColor = "#FF0000FF"; - boxColor = g_legendColors.QRZ + g_gridAlpha; + boxColor = GT.legendColors.QRZ + GT.gridAlpha; borderWeight = 1.0; myDEzOffset = 20; myDEbox = true; } if (DE.indexOf("CQ DX") > -1) { - boxColor = g_legendColors.CQDX + g_gridAlpha; + boxColor = GT.legendColors.CQDX + GT.gridAlpha; } if (locked) { - boxColor = g_legendColors.QTH + g_gridAlpha; + boxColor = GT.legendColors.QTH + GT.gridAlpha; borderColor = "#000000FF"; borderOpacity = 1; } @@ -4330,25 +4331,25 @@ function qthToBox(iQTH, iDEcallsign, iCQ, locked, DE, band, wspr, hash) } var zIndex = 2; var returnRectangle = null; - if (g_appSettings.sixWideMode == 0) iQTH = iQTH.substr(0, 4); + if (GT.appSettings.sixWideMode == 0) iQTH = iQTH.substr(0, 4); else iQTH = iQTH.substr(0, 6); var rect = null; if (iQTH == "") { - for (var key in g_liveGrids) + for (var key in GT.liveGrids) { - if (hash in g_liveGrids[key].rectangle.liveHash) + if (hash in GT.liveGrids[key].rectangle.liveHash) { - rect = g_liveGrids[key]; + rect = GT.liveGrids[key]; break; } } } else { - if (iQTH in g_liveGrids) + if (iQTH in GT.liveGrids) { - rect = g_liveGrids[iQTH]; + rect = GT.liveGrids[iQTH]; } } if (rect == null) @@ -4359,14 +4360,14 @@ function qthToBox(iQTH, iDEcallsign, iCQ, locked, DE, band, wspr, hash) var entityVisibility = true; var triangleView = false; if ( - Number(g_appSettings.gridViewMode) == 3 && - iQTH in g_qsoGrids && - g_pushPinMode == false + Number(GT.appSettings.gridViewMode) == 3 && + iQTH in GT.qsoGrids && + GT.pushPinMode == false ) { if ( - g_mapSettings.splitQSL || - g_qsoGrids[iQTH].rectangle.confirmed == false + GT.mapSettings.splitQSL || + GT.qsoGrids[iQTH].rectangle.confirmed == false ) { qsoTriangleGrid(iQTH); @@ -4383,7 +4384,7 @@ function qthToBox(iQTH, iDEcallsign, iCQ, locked, DE, band, wspr, hash) zIndex = 50; } newRect = {}; - newRect.age = g_timeNow; + newRect.age = GT.timeNow; newRect.shouldDim = false; newRect.qth = iQTH; @@ -4412,14 +4413,14 @@ function qthToBox(iQTH, iDEcallsign, iCQ, locked, DE, band, wspr, hash) newRect.rectangle.qth = iQTH; - if (g_pushPinMode == false && entityVisibility) + if (GT.pushPinMode == false && entityVisibility) { - g_layerSources.live.addFeature(newRect.rectangle); + GT.layerSources.live.addFeature(newRect.rectangle); } newRect.rectangle.pin = iconFeature( ol.extent.getCenter(newRect.rectangle.getGeometry().getExtent()), - g_colorLeafletPins[band], + GT.colorLeafletPins[band], zIndex ); newRect.rectangle.pin.qth = iQTH; @@ -4427,7 +4428,7 @@ function qthToBox(iQTH, iDEcallsign, iCQ, locked, DE, band, wspr, hash) newRect.rectangle.pin.liveHash[hash] = 1; newRect.rectangle.pin.size = LL.size; - if (g_pushPinMode && entityVisibility == true) { g_layerSources["live-pins"].addFeature(newRect.rectangle.pin); } + if (GT.pushPinMode && entityVisibility == true) { GT.layerSources["live-pins"].addFeature(newRect.rectangle.pin); } newRect.rectangle.locked = locked; newRect.rectangle.size = LL.size; @@ -4436,7 +4437,7 @@ function qthToBox(iQTH, iDEcallsign, iCQ, locked, DE, band, wspr, hash) newRect.rectangle.qso = false; newRect.rectangle.pin.qso = false; - g_liveGrids[iQTH] = newRect; + GT.liveGrids[iQTH] = newRect; returnRectangle = newRect.rectangle; } } @@ -4460,7 +4461,7 @@ function qthToBox(iQTH, iDEcallsign, iCQ, locked, DE, band, wspr, hash) // borderWeight = 1.0; zIndex = 50; } - newRect.age = g_timeNow; + newRect.age = GT.timeNow; newRect.shouldDim = false; const featureHoverStyle = new ol.style.Style({ @@ -4518,8 +4519,8 @@ function dimFunction(qthObj) var fillColor = featureFill.getColor(); var featureStroke = featureStyle.getStroke(); var strokeColor = featureStroke.getColor(); - var percent = 1.0 - (g_timeNow - qthObj.age) / gridDecay.value; - var alpha = Math.max(0.06, (g_mapSettings.gridAlpha / 255) * percent); + var percent = 1.0 - (GT.timeNow - qthObj.age) / gridDecay.value; + var alpha = Math.max(0.06, (GT.mapSettings.gridAlpha / 255) * percent); fillColor = alphaTo(fillColor, alpha); featureFill.setColor(fillColor); @@ -4541,54 +4542,54 @@ function toggleTrafficDecode() function changeTrafficDecode() { - g_mapSettings.trafficDecode = trafficDecode.checked; + GT.mapSettings.trafficDecode = trafficDecode.checked; trafficDecodeView(); saveMapSettings(); } function trafficDecodeView() { - if (g_mapSettings.trafficDecode == false) + if (GT.mapSettings.trafficDecode == false) { trafficDiv.innerHTML = ""; - g_lastTraffic = Array(); + GT.lastTraffic = Array(); } } function changeFitQRZvalue() { - g_mapSettings.fitQRZ = fitQRZvalue.checked; + GT.mapSettings.fitQRZ = fitQRZvalue.checked; saveMapSettings(); } function changeQrzDxccFallbackValue() { - g_mapSettings.qrzDxccFallback = qrzDxccFallbackValue.checked; + GT.mapSettings.qrzDxccFallback = qrzDxccFallbackValue.checked; saveMapSettings(); } function changeCqHiliteValue(check) { - g_mapSettings.CQhilite = check.checked; + GT.mapSettings.CQhilite = check.checked; saveMapSettings(); if (check.checked == false) removePaths(); } function changeFocusRigValue(check) { - g_mapSettings.focusRig = check.checked; + GT.mapSettings.focusRig = check.checked; saveMapSettings(); } function changeHaltOntTxValue(check) { - g_mapSettings.haltAllOnTx = check.checked; + GT.mapSettings.haltAllOnTx = check.checked; saveMapSettings(); } function changeSplitQSL() { - g_mapSettings.splitQSL = splitQSLValue.checked; + GT.mapSettings.splitQSL = splitQSLValue.checked; saveMapSettings(); redrawGrids(); } @@ -4613,78 +4614,78 @@ function toggleAnimate() function toggleAllGrids() { - g_showAllGrids = !g_showAllGrids; - setTrophyOverlay(g_currentOverlay); - gridOverlayImg.style.filter = g_showAllGrids ? "" : "grayscale(1)"; + GT.showAllGrids = !GT.showAllGrids; + setTrophyOverlay(GT.currentOverlay); + gridOverlayImg.style.filter = GT.showAllGrids ? "" : "grayscale(1)"; } function changeAnimate() { - g_mapSettings.animate = animateValue.checked; + GT.mapSettings.animate = animateValue.checked; saveMapSettings(); var dash = []; var dashOff = 0; - if (g_mapSettings.animate == true) + if (GT.mapSettings.animate == true) { - dash = g_flightPathLineDash; - dashOff = g_flightPathTotal - g_flightPathOffset; + dash = GT.flightPathLineDash; + dashOff = GT.flightPathTotal - GT.flightPathOffset; } - for (var i = g_flightPaths.length - 1; i >= 0; i--) + for (var i = GT.flightPaths.length - 1; i >= 0; i--) { - if (g_flightPaths[i].isShapeFlight == 0) + if (GT.flightPaths[i].isShapeFlight == 0) { - var featureStyle = g_flightPaths[i].getStyle(); + var featureStyle = GT.flightPaths[i].getStyle(); var featureStroke = featureStyle.getStroke(); featureStroke.setLineDash(dash); featureStroke.setLineDashOffset(dashOff); featureStyle.setStroke(featureStroke); - g_flightPaths[i].setStyle(featureStyle); + GT.flightPaths[i].setStyle(featureStyle); } } - if (g_transmitFlightPath != null) + if (GT.transmitFlightPath != null) { - var featureStyle = g_transmitFlightPath.getStyle(); + var featureStyle = GT.transmitFlightPath.getStyle(); var featureStroke = featureStyle.getStroke(); featureStroke.setLineDash(dash); featureStroke.setLineDashOffset(dashOff); featureStyle.setStroke(featureStroke); - g_transmitFlightPath.setStyle(featureStyle); + GT.transmitFlightPath.setStyle(featureStyle); } setAnimateView(); } function changeAnimateSpeedValue() { - g_mapSettings.animateSpeed = 21 - animateSpeedValue.value; + GT.mapSettings.animateSpeed = 21 - animateSpeedValue.value; saveMapSettings(); } -var g_animateFrame = 0; -var g_nextDimTime = 0; -var g_last = 0; +GT.animateFrame = 0; +GT.nextDimTime = 0; +GT.last = 0; function removeFlightPathsAndDimSquares() { - for (var i = g_flightPaths.length - 1; i >= 0; i--) + for (var i = GT.flightPaths.length - 1; i >= 0; i--) { - if (g_flightPaths[i].age < g_timeNow) + if (GT.flightPaths[i].age < GT.timeNow) { - if (typeof g_flightPaths[i].Arrow != "undefined") { g_layerSources.flight.removeFeature(g_flightPaths[i].Arrow); } - g_layerSources.flight.removeFeature(g_flightPaths[i]); - delete g_flightPaths[i]; - g_flightPaths[i] = null; + if (typeof GT.flightPaths[i].Arrow != "undefined") { GT.layerSources.flight.removeFeature(GT.flightPaths[i].Arrow); } + GT.layerSources.flight.removeFeature(GT.flightPaths[i]); + delete GT.flightPaths[i]; + GT.flightPaths[i] = null; - g_flightPaths.splice(i, 1); + GT.flightPaths.splice(i, 1); } } - if (g_timeNow > g_nextDimTime) + if (GT.timeNow > GT.nextDimTime) { dimGridsquare(); } @@ -4694,49 +4695,49 @@ function animatePaths() { requestAnimationFrame(animatePaths); - g_last ^= g_last; - if (g_last == 1) return; + GT.last ^= GT.last; + if (GT.last == 1) return; - g_animateFrame++; - g_animateFrame %= g_mapSettings.animateSpeed; + GT.animateFrame++; + GT.animateFrame %= GT.mapSettings.animateSpeed; - if (g_animateFrame > 0) return; + if (GT.animateFrame > 0) return; - if (g_mapSettings.animate == false) return; + if (GT.mapSettings.animate == false) return; - g_flightPathOffset += 1; - g_flightPathOffset %= g_flightPathTotal; + GT.flightPathOffset += 1; + GT.flightPathOffset %= GT.flightPathTotal; - var targetOffset = g_flightPathTotal - g_flightPathOffset; + var targetOffset = GT.flightPathTotal - GT.flightPathOffset; var featureStyle = null; var featureStroke = null; - for (var i = 0; i < g_flightPaths.length; i++) + for (var i = 0; i < GT.flightPaths.length; i++) { - if (g_flightPaths[i].isShapeFlight == 0) + if (GT.flightPaths[i].isShapeFlight == 0) { - featureStyle = g_flightPaths[i].getStyle(); + featureStyle = GT.flightPaths[i].getStyle(); featureStroke = featureStyle.getStroke(); featureStroke.setLineDashOffset(targetOffset); - g_flightPaths[i].setStyle(featureStyle); + GT.flightPaths[i].setStyle(featureStyle); } } - if (g_transmitFlightPath != null) + if (GT.transmitFlightPath != null) { - var featureStyle = g_transmitFlightPath.getStyle(); + var featureStyle = GT.transmitFlightPath.getStyle(); var featureStroke = featureStyle.getStroke(); featureStroke.setLineDashOffset(targetOffset); featureStyle.setStroke(featureStroke); - g_transmitFlightPath.setStyle(featureStyle); + GT.transmitFlightPath.setStyle(featureStyle); } } function removePaths() { - g_layerSources.flight.clear(); - g_flightPaths = Array(); + GT.layerSources.flight.clear(); + GT.flightPaths = Array(); } function fadePaths() @@ -4750,201 +4751,201 @@ function fadePaths() function dimGridsquare() { if (gridDecay.value == 0) return; - for (var i in g_liveGrids) + for (var i in GT.liveGrids) { - dimFunction(g_liveGrids[i]); + dimFunction(GT.liveGrids[i]); if ( - g_timeNow - g_liveGrids[i].age >= gridDecay.value && - g_liveGrids[i].rectangle.locked == false + GT.timeNow - GT.liveGrids[i].age >= gridDecay.value && + GT.liveGrids[i].rectangle.locked == false ) { - // Walk the rectangles DEcall's and remove them from g_liveCallsigns - for (var CallIsKey in g_liveGrids[i].rectangle.liveHash) + // Walk the rectangles DEcall's and remove them from GT.liveCallsigns + for (var CallIsKey in GT.liveGrids[i].rectangle.liveHash) { - if (CallIsKey in g_liveCallsigns) + if (CallIsKey in GT.liveCallsigns) { - g_liveCallsigns[CallIsKey].rect = null; + GT.liveCallsigns[CallIsKey].rect = null; - delete g_liveCallsigns[CallIsKey]; + delete GT.liveCallsigns[CallIsKey]; } } - if (g_liveGrids[i].rectangle.pin != null) + if (GT.liveGrids[i].rectangle.pin != null) { if ( - g_layerSources["live-pins"].hasFeature(g_liveGrids[i].rectangle.pin) + GT.layerSources["live-pins"].hasFeature(GT.liveGrids[i].rectangle.pin) ) { - g_layerSources["live-pins"].removeFeature( - g_liveGrids[i].rectangle.pin + GT.layerSources["live-pins"].removeFeature( + GT.liveGrids[i].rectangle.pin ); } } - if (g_layerSources.live.hasFeature(g_liveGrids[i].rectangle)) + if (GT.layerSources.live.hasFeature(GT.liveGrids[i].rectangle)) { - g_layerSources.live.removeFeature(g_liveGrids[i].rectangle); + GT.layerSources.live.removeFeature(GT.liveGrids[i].rectangle); - if (g_appSettings.gridViewMode == 3 && i in g_qsoGrids) + if (GT.appSettings.gridViewMode == 3 && i in GT.qsoGrids) { - if (g_qsoGrids[i].isTriangle) + if (GT.qsoGrids[i].isTriangle) { - triangleToGrid(i, g_qsoGrids[i].rectangle); - g_qsoGrids[i].isTriangle = false; + triangleToGrid(i, GT.qsoGrids[i].rectangle); + GT.qsoGrids[i].isTriangle = false; } } } - g_liveGrids[i] = null; - delete g_liveGrids[i]; + GT.liveGrids[i] = null; + delete GT.liveGrids[i]; } } - g_nextDimTime = g_timeNow + 7; + GT.nextDimTime = GT.timeNow + 7; } function updateCountStats() { - var count = Object.keys(g_liveCallsigns).length; + var count = Object.keys(GT.liveCallsigns).length; - if (myDEcall in g_liveCallsigns) count--; + if (myDEcall in GT.liveCallsigns) count--; callsignCount.innerHTML = count; - qsoCount.innerHTML = g_QSOcount; - qslCount.innerHTML = g_QSLcount; + qsoCount.innerHTML = GT.QSOcount; + qslCount.innerHTML = GT.QSLcount; - countryCount.innerHTML = Object.keys(g_dxccCount).length; + countryCount.innerHTML = Object.keys(GT.dxccCount).length; - if (Object.keys(g_QSOhash).length > 0) + if (Object.keys(GT.QSOhash).length > 0) { clearOrLoadButton.innerHTML = "Clear Log"; - g_loadQSOs = false; + GT.loadQSOs = false; } else { clearOrLoadButton.innerHTML = "Load Logs"; - g_loadQSOs = true; + GT.loadQSOs = true; } } function clearGrids() { - g_layerSources.live.clear(); - g_layerSources["live-pins"].clear(); + GT.layerSources.live.clear(); + GT.layerSources["live-pins"].clear(); - for (var i in g_liveGrids) + for (var i in GT.liveGrids) { - // Walk the rectangles DEcall's and remove the rect from the g_liveCallsigns - for (var CallIsKey in g_liveGrids[i].rectangle.liveHash) + // Walk the rectangles DEcall's and remove the rect from the GT.liveCallsigns + for (var CallIsKey in GT.liveGrids[i].rectangle.liveHash) { - if (CallIsKey in g_liveCallsigns) g_liveCallsigns[CallIsKey].rect = null; + if (CallIsKey in GT.liveCallsigns) GT.liveCallsigns[CallIsKey].rect = null; } } - g_liveGrids = {}; + GT.liveGrids = {}; } function clearQsoGrids() { - g_layerSources.qso.clear(); - g_layerSources["qso-pins"].clear(); + GT.layerSources.qso.clear(); + GT.layerSources["qso-pins"].clear(); - g_qsoGrids = {}; + GT.qsoGrids = {}; - for (var key in g_dxccInfo) + for (var key in GT.dxccInfo) { - g_dxccInfo[key].worked = false; - g_dxccInfo[key].confirmed = false; - g_dxccInfo[key].worked_bands = {}; - g_dxccInfo[key].confirmed_bands = {}; - g_dxccInfo[key].worked_modes = {}; - g_dxccInfo[key].confirmed_modes = {}; + GT.dxccInfo[key].worked = false; + GT.dxccInfo[key].confirmed = false; + GT.dxccInfo[key].worked_bands = {}; + GT.dxccInfo[key].confirmed_bands = {}; + GT.dxccInfo[key].worked_modes = {}; + GT.dxccInfo[key].confirmed_modes = {}; } - for (var key in g_cqZones) + for (var key in GT.cqZones) { - g_cqZones[key].worked = false; - g_cqZones[key].confirmed = false; + GT.cqZones[key].worked = false; + GT.cqZones[key].confirmed = false; - g_cqZones[key].worked_bands = {}; - g_cqZones[key].confirmed_bands = {}; - g_cqZones[key].worked_modes = {}; - g_cqZones[key].confirmed_modes = {}; + GT.cqZones[key].worked_bands = {}; + GT.cqZones[key].confirmed_bands = {}; + GT.cqZones[key].worked_modes = {}; + GT.cqZones[key].confirmed_modes = {}; } - for (var key in g_ituZones) + for (var key in GT.ituZones) { - g_ituZones[key].worked = false; - g_ituZones[key].confirmed = false; + GT.ituZones[key].worked = false; + GT.ituZones[key].confirmed = false; - g_ituZones[key].worked_bands = {}; - g_ituZones[key].confirmed_bands = {}; - g_ituZones[key].worked_modes = {}; - g_ituZones[key].confirmed_modes = {}; + GT.ituZones[key].worked_bands = {}; + GT.ituZones[key].confirmed_bands = {}; + GT.ituZones[key].worked_modes = {}; + GT.ituZones[key].confirmed_modes = {}; } - for (var key in g_wasZones) + for (var key in GT.wasZones) { - g_wasZones[key].worked = false; - g_wasZones[key].confirmed = false; + GT.wasZones[key].worked = false; + GT.wasZones[key].confirmed = false; - g_wasZones[key].worked_bands = {}; - g_wasZones[key].confirmed_bands = {}; - g_wasZones[key].worked_modes = {}; - g_wasZones[key].confirmed_modes = {}; + GT.wasZones[key].worked_bands = {}; + GT.wasZones[key].confirmed_bands = {}; + GT.wasZones[key].worked_modes = {}; + GT.wasZones[key].confirmed_modes = {}; } - for (var key in g_wacZones) + for (var key in GT.wacZones) { - g_wacZones[key].worked = false; - g_wacZones[key].confirmed = false; - g_wacZones[key].worked_bands = {}; - g_wacZones[key].confirmed_bands = {}; - g_wacZones[key].worked_modes = {}; - g_wacZones[key].confirmed_modes = {}; + GT.wacZones[key].worked = false; + GT.wacZones[key].confirmed = false; + GT.wacZones[key].worked_bands = {}; + GT.wacZones[key].confirmed_bands = {}; + GT.wacZones[key].worked_modes = {}; + GT.wacZones[key].confirmed_modes = {}; } - for (var key in g_countyData) + for (var key in GT.countyData) { - g_countyData[key].worked = false; - g_countyData[key].confirmed = false; - g_countyData[key].worked_bands = {}; - g_countyData[key].confirmed_bands = {}; - g_countyData[key].worked_modes = {}; - g_countyData[key].confirmed_modes = {}; + GT.countyData[key].worked = false; + GT.countyData[key].confirmed = false; + GT.countyData[key].worked_bands = {}; + GT.countyData[key].confirmed_bands = {}; + GT.countyData[key].worked_modes = {}; + GT.countyData[key].confirmed_modes = {}; } - for (var key in g_us48Data) + for (var key in GT.us48Data) { - g_us48Data[key].worked = false; - g_us48Data[key].confirmed = false; - g_us48Data[key].worked_bands = {}; - g_us48Data[key].confirmed_bands = {}; - g_us48Data[key].worked_modes = {}; - g_us48Data[key].confirmed_modes = {}; + GT.us48Data[key].worked = false; + GT.us48Data[key].confirmed = false; + GT.us48Data[key].worked_bands = {}; + GT.us48Data[key].confirmed_bands = {}; + GT.us48Data[key].worked_modes = {}; + GT.us48Data[key].confirmed_modes = {}; } } function clearCalls() { removePaths(); - for (var i in g_liveCallsigns) + for (var i in GT.liveCallsigns) { if ( - typeof g_liveCallsigns[i].rect != "undefined" && - g_liveCallsigns[i].rect != null + typeof GT.liveCallsigns[i].rect != "undefined" && + GT.liveCallsigns[i].rect != null ) { - if (i in g_liveCallsigns[i].rect.liveHash) { delete g_liveCallsigns[i].rect.liveHash[i]; } + if (i in GT.liveCallsigns[i].rect.liveHash) { delete GT.liveCallsigns[i].rect.liveHash[i]; } } } - g_liveCallsigns = {}; - g_dxccCount = {}; + GT.liveCallsigns = {}; + GT.dxccCount = {}; redrawGrids(); } function clearLive() { - g_Decodes = 0; + GT.Decodes = 0; - g_lastMessages = Array(); - g_lastTraffic = Array(); - g_callRoster = {}; - g_dxccCount = {}; + GT.lastMessages = Array(); + GT.lastTraffic = Array(); + GT.callRoster = {}; + GT.dxccCount = {}; removePaths(); removePaths(); @@ -4964,21 +4965,21 @@ function clearAll() clearCalls(); clearQSOs(); - g_lastMessages = Array(); - g_lastTraffic = Array(); + GT.lastMessages = Array(); + GT.lastTraffic = Array(); - g_dxccCount = {}; + GT.dxccCount = {}; redrawGrids(); - g_callRoster = {}; + GT.callRoster = {}; updateRosterWorked(); goProcessRoster(); } function clearOrLoadQSOs() { - if (g_loadQSOs == true) + if (GT.loadQSOs == true) { startupAdifLoadCheck(); } @@ -4997,10 +4998,10 @@ function clearAndLoadQSOs() function clearQSOs() { initQSOdata(); - g_QSOhash = {}; - g_QSLcount = 0; - g_QSOcount = 0; - setTrophyOverlay(g_currentOverlay); + GT.QSOhash = {}; + GT.QSLcount = 0; + GT.QSOcount = 0; + setTrophyOverlay(GT.currentOverlay); redrawGrids(); updateLogbook(); @@ -5014,16 +5015,16 @@ function clearLogFilesAndCounts() tryToDeleteLog("LogbookOfTheWorld.adif"); tryToDeleteLog("qrz.adif"); tryToDeleteLog("clublog.adif"); - g_adifLogSettings.downloads = {}; - g_adifLogSettings.lastFetch.lotw_qso = "1970-01-01"; - g_adifLogSettings.lastFetch.lotw_qsl = "1970-01-01"; + GT.adifLogSettings.downloads = {}; + GT.adifLogSettings.lastFetch.lotw_qso = "1970-01-01"; + GT.adifLogSettings.lastFetch.lotw_qsl = "1970-01-01"; saveAdifSettings(); } function getCurrentBandModeHTML() { - var band = g_appSettings.gtBandFilter == "auto" ? myBand + " (Auto)" : g_appSettings.gtBandFilter.length == 0 ? "Mixed Bands" : g_appSettings.gtBandFilter; - var mode = g_appSettings.gtModeFilter == "auto" ? myMode + " (Auto)" : g_appSettings.gtModeFilter.length == 0 ? "Mixed Modes" : g_appSettings.gtModeFilter; + var band = GT.appSettings.gtBandFilter == "auto" ? myBand + " (Auto)" : GT.appSettings.gtBandFilter.length == 0 ? "Mixed Bands" : GT.appSettings.gtBandFilter; + var mode = GT.appSettings.gtModeFilter == "auto" ? myMode + " (Auto)" : GT.appSettings.gtModeFilter.length == 0 ? "Mixed Modes" : GT.appSettings.gtModeFilter; return ( "
Viewing: " + band + @@ -5033,28 +5034,28 @@ function getCurrentBandModeHTML() ); } -var g_currentDay = 0; -var g_nightTime = false; -var g_currentNightState = false; -var g_timeNow = timeNowSec(); +GT.currentDay = 0; +GT.nightTime = false; +GT.currentNightState = false; +GT.timeNow = timeNowSec(); function displayTime() { - g_timeNow = timeNowSec(); - if (menuDiv.className == "menuDivStart" && g_menuShowing == true) + GT.timeNow = timeNowSec(); + if (menuDiv.className == "menuDivStart" && GT.menuShowing == true) { menuDiv.className = "menuDivEnd"; mapDiv.className = "mapDivEnd"; LegendDiv.className = "legendDivEnd"; - g_map.updateSize(); + GT.map.updateSize(); } currentTime.innerHTML = "" + userTimeString(null) + ""; - if (g_lastTimeSinceMessageInSeconds > 0) + if (GT.lastTimeSinceMessageInSeconds > 0) { - var since = g_timeNow - g_lastTimeSinceMessageInSeconds; - secondsAgoMsg.innerHTML = since.toDHMS(); + var since = GT.timeNow - GT.lastTimeSinceMessageInSeconds; + secondsAgoMsg.innerHTML = toDHMS(since); if (since > 17 && since < 122) { secondsAgoMsg.style.backgroundColor = "yellow"; @@ -5075,18 +5076,18 @@ function displayTime() checkWsjtxListener(); - if (g_timeNow % 22 == 0) + if (GT.timeNow % 22 == 0) { - g_nightTime = dayNight.refresh(); + GT.nightTime = dayNight.refresh(); moonLayer.refresh(); } - pskSpotCheck(g_timeNow); + pskSpotCheck(GT.timeNow); - if (g_currentNightState != g_nightTime) + if (GT.currentNightState != GT.nightTime) { changeMapLayer(); - g_currentNightState = g_nightTime; + GT.currentNightState = GT.nightTime; } } @@ -5097,49 +5098,49 @@ function timeNowSec() function createGlobalHeatmapLayer(name, radius, blur) { - g_layerSources[name] = new ol.source.Vector({}); - g_layerVectors[name] = new ol.layer.Heatmap({ - source: g_layerSources[name], + GT.layerSources[name] = new ol.source.Vector({}); + GT.layerVectors[name] = new ol.layer.Heatmap({ + source: GT.layerSources[name], blur: 20, radius: 15, - zIndex: Object.keys(g_layerVectors).length + 1 + zIndex: Object.keys(GT.layerVectors).length + 1 }); - g_layerVectors[name].set("name", name); + GT.layerVectors[name].set("name", name); } function createGlobalMapLayer(name, maxResolution, minResolution) { - g_layerSources[name] = new ol.source.Vector({}); + GT.layerSources[name] = new ol.source.Vector({}); if ( typeof maxResolution == "undefined" && typeof minResolution == "undefined" ) { - var zIndex = Object.keys(g_layerVectors).length + 1; + var zIndex = Object.keys(GT.layerVectors).length + 1; - g_layerVectors[name] = new ol.layer.Vector({ - source: g_layerSources[name], + GT.layerVectors[name] = new ol.layer.Vector({ + source: GT.layerSources[name], zIndex: zIndex }); } else if (typeof minResolution == "undefined") { - g_layerVectors[name] = new ol.layer.Vector({ - source: g_layerSources[name], + GT.layerVectors[name] = new ol.layer.Vector({ + source: GT.layerSources[name], maxResolution: maxResolution, - zIndex: Object.keys(g_layerVectors).length + 1 + zIndex: Object.keys(GT.layerVectors).length + 1 }); } else { - g_layerVectors[name] = new ol.layer.Vector({ - source: g_layerSources[name], + GT.layerVectors[name] = new ol.layer.Vector({ + source: GT.layerSources[name], maxResolution: maxResolution, minResolution: minResolution, - zIndex: Object.keys(g_layerVectors).length + 1 + zIndex: Object.keys(GT.layerVectors).length + 1 }); } - g_layerVectors[name].set("name", name); + GT.layerVectors[name].set("name", name); } function createGeoJsonLayer(name, url, color, stroke) @@ -5170,14 +5171,14 @@ function createGeoJsonLayer(name, url, color, stroke) return layerVector; } -var g_gtFlagIcon = new ol.style.Icon({ - src: "./img/flag_gt_user.png", +GT.gtFlagIcon = new ol.style.Icon({ + src: "./img/flaGT.gt_user.png", anchorYUnits: "pixels", anchorXUnits: "pixels", anchor: [12, 17] }); -var g_pushPinIconOff = new ol.style.Icon({ +GT.pushPinIconOff = new ol.style.Icon({ src: "./img/red-circle.png", anchorYUnits: "pixels", anchorXUnits: "pixels", @@ -5188,7 +5189,7 @@ function panTo(location) { var duration = 1000; - g_mapView.animate({ + GT.mapView.animate({ center: location, duration: duration }); @@ -5196,45 +5197,45 @@ function panTo(location) function toggleMouseTrack() { - g_appSettings.mouseTrack ^= 1; - if (g_appSettings.mouseTrack == 0) mouseTrackDiv.style.display = "none"; + GT.appSettings.mouseTrack ^= 1; + if (GT.appSettings.mouseTrack == 0) mouseTrackDiv.style.display = "none"; } function myGmapNameCompare(a, b) { - return g_maps[a].name.localeCompare(g_maps[b].name); + return GT.maps[a].name.localeCompare(GT.maps[b].name); } -var g_Nexrad = null; +GT.Nexrad = null; function initMap() { document.getElementById("mapDiv").innerHTML = ""; - g_maps = JSON.parse(fs.readFileSync(g_mapsFile)); + GT.maps = JSON.parse(fs.readFileSync(GT.mapsFile)); - if (g_maps) + if (GT.maps) { var saveSettings = false; - g_maps = Object.keys(g_maps).sort().reduce((obj, key) => { obj[key] = g_maps[key]; return obj; }, {}); + GT.maps = Object.keys(GT.maps).sort().reduce((obj, key) => { obj[key] = GT.maps[key]; return obj; }, {}); - if (!(g_mapSettings.mapIndex in g_maps)) + if (!(GT.mapSettings.mapIndex in GT.maps)) { - g_mapSettings.mapIndex = def_mapSettings.mapIndex; + GT.mapSettings.mapIndex = def_mapSettings.mapIndex; saveSettings = true; } - if (!(g_mapSettings.nightMapIndex in g_maps)) + if (!(GT.mapSettings.nightMapIndex in GT.maps)) { - g_mapSettings.nightMapIndex = def_mapSettings.nightMapIndex; + GT.mapSettings.nightMapIndex = def_mapSettings.nightMapIndex; saveSettings = true; } if (saveSettings) { saveMapSettings(); } - for (const key in g_maps) + for (const key in GT.maps) { - g_mapsLayer[key] = new ol.source.XYZ(g_maps[key]); + GT.mapsLayer[key] = new ol.source.XYZ(GT.maps[key]); var option = document.createElement("option"); option.value = key; option.text = key; @@ -5245,38 +5246,38 @@ function initMap() option.text = key; mapNightSelect.appendChild(option); } - mapSelect.value = g_mapSettings.mapIndex; - mapNightSelect.value = g_mapSettings.nightMapIndex; + mapSelect.value = GT.mapSettings.mapIndex; + mapNightSelect.value = GT.mapSettings.nightMapIndex; } - else g_mapsLayer[0] = new ol.source.OSM(); + else GT.mapsLayer[0] = new ol.source.OSM(); - g_offlineLayer = new ol.source.XYZ({ + GT.offlineLayer = new ol.source.XYZ({ url: "/map/sat/{z}/{x}/{y}.png" }); - if (g_mapSettings.offlineMode) + if (GT.mapSettings.offlineMode) { - g_tileLayer = new ol.layer.Tile({ - source: g_offlineLayer, + GT.tileLayer = new ol.layer.Tile({ + source: GT.offlineLayer, loadTilesWhileInteracting: true, loadTilesWhileAnimating: true }); } else { - g_tileLayer = new ol.layer.Tile({ - source: g_mapsLayer[mapSelect.value], + GT.tileLayer = new ol.layer.Tile({ + source: GT.mapsLayer[mapSelect.value], loadTilesWhileInteracting: true, loadTilesWhileAnimating: true }); } - g_scaleLine = new ol.control.ScaleLine({ - units: g_scaleUnits[g_appSettings.distanceUnit] + GT.scaleLine = new ol.control.ScaleLine({ + units: GT.scaleUnits[GT.appSettings.distanceUnit] }); - var g_mapControl = [ - g_scaleLine, + GT.mapControl = [ + GT.scaleLine, new ol.control.Zoom(), new ol.control.FullScreen({ source: "mainBody" }) ]; @@ -5301,36 +5302,36 @@ function initMap() createGlobalMapLayer("tz"); createGlobalMapLayer("radar"); - g_mapView = new ol.View({ - center: [g_myLon, g_myLat], + GT.mapView = new ol.View({ + center: [GT.myLon, GT.myLat], zoomFactor: 1.25, - zoom: g_mapSettings.zoom, + zoom: GT.mapSettings.zoom, showFullExtent: true }); - g_map = new ol.Map({ + GT.map = new ol.Map({ target: "mapDiv", layers: [ - g_tileLayer, - g_layerVectors.award, - g_layerVectors["psk-heat"], - g_layerVectors.qso, - g_layerVectors["qso-pins"], - g_layerVectors.live, - g_layerVectors["live-pins"], - g_layerVectors["line-grids"], - g_layerVectors["long-grids"], - g_layerVectors["big-grids"], - g_layerVectors.pota, - g_layerVectors["psk-flights"], - g_layerVectors["psk-spots"], - g_layerVectors["psk-hop"], - g_layerVectors.flight, - g_layerVectors.transmit, - g_layerVectors.gtflags, - g_layerVectors.temp, - g_layerVectors.tz, - g_layerVectors.radar + GT.tileLayer, + GT.layerVectors.award, + GT.layerVectors["psk-heat"], + GT.layerVectors.qso, + GT.layerVectors["qso-pins"], + GT.layerVectors.live, + GT.layerVectors["live-pins"], + GT.layerVectors["line-grids"], + GT.layerVectors["long-grids"], + GT.layerVectors["big-grids"], + GT.layerVectors.pota, + GT.layerVectors["psk-flights"], + GT.layerVectors["psk-spots"], + GT.layerVectors["psk-hop"], + GT.layerVectors.flight, + GT.layerVectors.transmit, + GT.layerVectors.gtflags, + GT.layerVectors.temp, + GT.layerVectors.tz, + GT.layerVectors.radar ], interactions: ol.interaction.defaults({ dragPan: false, @@ -5339,36 +5340,36 @@ function initMap() new ol.interaction.DragPan({ kinetic: false }), new ol.interaction.MouseWheelZoom({ duration: 0 }) ]), - controls: g_mapControl, + controls: GT.mapControl, loadTilesWhileInteracting: false, loadTilesWhileAnimating: false, - view: g_mapView + view: GT.mapView }); mapDiv.addEventListener("mousemove", function (event) { onMouseUpdate(event); - var mousePosition = g_map.getEventPixel(event); - if (g_appSettings.mouseTrack == 1) + var mousePosition = GT.map.getEventPixel(event); + if (GT.appSettings.mouseTrack == 1) { - var mouseLngLat = g_map.getEventCoordinate(event); + var mouseLngLat = GT.map.getEventCoordinate(event); if (mouseLngLat) { var LL = ol.proj.toLonLat(mouseLngLat); var dist = parseInt( MyCircle.distance( - g_myLat, - g_myLon, + GT.myLat, + GT.myLon, LL[1], LL[0], distanceUnit.value ) * MyCircle.validateRadius(distanceUnit.value) ) + distanceUnit.value.toLowerCase(); var azim = - parseInt(MyCircle.bearing(g_myLat, g_myLon, LL[1], LL[0])) + "°"; - var gg = latLonToGridSquare(LL[1], LL[0], (g_appSettings.sixWideMode == 1 ? 6 : 4)); + parseInt(MyCircle.bearing(GT.myLat, GT.myLon, LL[1], LL[0])) + "°"; + var gg = latLonToGridSquare(LL[1], LL[0], (GT.appSettings.sixWideMode == 1 ? 6 : 4)); mouseTrackDiv.innerHTML = LL[1].toFixed(3) + ", " + @@ -5389,9 +5390,9 @@ function initMap() var noTimeZone = true; var noPark = true; - if (g_map.hasFeatureAtPixel(mousePosition)) + if (GT.map.hasFeatureAtPixel(mousePosition)) { - var features = g_map.getFeaturesAtPixel(mousePosition); + var features = GT.map.getFeaturesAtPixel(mousePosition); if (features != null) { @@ -5410,7 +5411,7 @@ function initMap() noMoon = false; break; } - if (features[index].size == 2 && g_currentOverlay != 0) + if (features[index].size == 2 && GT.currentOverlay != 0) { trophyOver(features[index]); noAward = false; @@ -5471,11 +5472,11 @@ function initMap() event.preventDefault(); }); - g_map.on("pointerdown", function (event) + GT.map.on("pointerdown", function (event) { var shouldReturn = false; - var features = g_map.getFeaturesAtPixel(event.pixel); + var features = GT.map.getFeaturesAtPixel(event.pixel); if (features != null) { features = features.reverse(); @@ -5514,37 +5515,37 @@ function initMap() var info = {}; info.callObj = {}; info.callObj.distance = 1; // We just need the heading, but distance makes it valid - info.callObj.heading = parseInt(MyCircle.bearing(g_myLat, g_myLon, LL[1], LL[0])); + info.callObj.heading = parseInt(MyCircle.bearing(GT.myLat, GT.myLon, LL[1], LL[0])); aimRotator(info); } - if (event.pointerEvent.buttons == 2 && g_currentOverlay == 0) + if (event.pointerEvent.buttons == 2 && GT.currentOverlay == 0) { mouseDownGrid(ol.proj.toLonLat(event.coordinate), event); return true; } }); - g_map.on("pointerup", function (event) + GT.map.on("pointerup", function (event) { mouseUpGrid(); - if (g_mapSettings.mouseOver == false) mouseOutOfDataItem(); + if (GT.mapSettings.mouseOver == false) mouseOutOfDataItem(); }); document.getElementById("menuDiv").style.display = "block"; - dayNight.init(g_map); - if (g_appSettings.earthImgSrc == 1) + dayNight.init(GT.map); + if (GT.appSettings.earthImgSrc == 1) { dayNight.hide(); } else { - g_nightTime = dayNight.show(); + GT.nightTime = dayNight.show(); } - moonLayer.init(g_map); - if (g_appSettings.moonTrack == 1) + moonLayer.init(GT.map); + if (GT.appSettings.moonTrack == 1) { moonLayer.show(); } @@ -5553,11 +5554,11 @@ function initMap() moonLayer.hide(); } - g_tileLayer.setOpacity(Number(g_mapSettings.loudness)); + GT.tileLayer.setOpacity(Number(GT.mapSettings.loudness)); requestAnimationFrame(animatePaths); - nightMapEnable.checked = g_mapSettings.nightMapEnable; + nightMapEnable.checked = GT.mapSettings.nightMapEnable; changeNightMapEnable(nightMapEnable); } @@ -5567,25 +5568,25 @@ function changeNightMapEnable(check) { nightMapTd.style.display = "inline-table"; spotNightPathColorDiv.style.display = "inline-block"; - g_mapSettings.nightMapEnable = true; - g_nightTime = dayNight.refresh(); + GT.mapSettings.nightMapEnable = true; + GT.nightTime = dayNight.refresh(); } else { nightMapTd.style.display = "none"; spotNightPathColorDiv.style.display = "none"; - g_mapSettings.nightMapEnable = false; + GT.mapSettings.nightMapEnable = false; } changeMapLayer(); redrawSpots(); saveMapSettings(); } -var g_lasttimezone = null; +GT.lasttimezone = null; -var g_nexradInterval = null; +GT.nexradInterval = null; -var g_nexradEnable = 0; +GT.nexradEnable = 0; function createNexRad() { @@ -5607,44 +5608,44 @@ function createNexRad() function toggleNexrad() { - g_nexradEnable ^= 1; - if (g_nexradEnable == 1) + GT.nexradEnable ^= 1; + if (GT.nexradEnable == 1) { - if (g_Nexrad != null) + if (GT.Nexrad != null) { - g_map.removeLayer(g_Nexrad); + GT.map.removeLayer(GT.Nexrad); } - g_Nexrad = createNexRad(); - g_map.addLayer(g_Nexrad); + GT.Nexrad = createNexRad(); + GT.map.addLayer(GT.Nexrad); - if (g_nexradInterval == null) { g_nexradInterval = nodeTimers.setInterval(nexradRefresh, 600000); } + if (GT.nexradInterval == null) { GT.nexradInterval = nodeTimers.setInterval(nexradRefresh, 600000); } } else { - if (g_nexradInterval != null) + if (GT.nexradInterval != null) { - nodeTimers.clearInterval(g_nexradInterval); - g_nexradInterval = null; + nodeTimers.clearInterval(GT.nexradInterval); + GT.nexradInterval = null; } - if (g_Nexrad) + if (GT.Nexrad) { - g_map.removeLayer(g_Nexrad); - g_Nexrad = null; + GT.map.removeLayer(GT.Nexrad); + GT.Nexrad = null; } } - g_mapSettings.usNexrad = g_nexradEnable == 1; - radarImg.style.filter = g_mapSettings.usNexrad ? "" : "grayscale(1)"; + GT.mapSettings.usNexrad = GT.nexradEnable == 1; + radarImg.style.filter = GT.mapSettings.usNexrad ? "" : "grayscale(1)"; saveMapSettings(); } function nexradRefresh() { - if (g_Nexrad != null) + if (GT.Nexrad != null) { - g_Nexrad.getSource().updateParams({ ol3_salt: Math.random() }); - g_Nexrad.getSource().refresh(); + GT.Nexrad.getSource().updateParams({ ol3_salt: Math.random() }); + GT.Nexrad.getSource().refresh(); } } @@ -5652,7 +5653,7 @@ function collapseMenu(shouldCollapse) { if (shouldCollapse == true) { - g_menuShowing = false; + GT.menuShowing = false; mapDiv.className = "mapDivStart"; menuDiv.className = "menuDivStart"; LegendDiv.className = "legendDivStart"; @@ -5660,11 +5661,11 @@ function collapseMenu(shouldCollapse) } else { - g_menuShowing = true; + GT.menuShowing = true; chevronDiv.className = "chevronDivStart"; displayTime(); } - g_map.updateSize(); + GT.map.updateSize(); } function mapLoseFocus() @@ -5800,10 +5801,10 @@ function liveHash(call, band, mode) function setHomeGridsquare() { - g_appSettings.centerGridsquare = myDEGrid; - if (g_appSettings.centerGridsquare.length > 0) + GT.appSettings.centerGridsquare = myDEGrid; + if (GT.appSettings.centerGridsquare.length > 0) { - homeQTHInput.value = g_appSettings.centerGridsquare; + homeQTHInput.value = GT.appSettings.centerGridsquare; } var hash = myDEcall; @@ -5821,12 +5822,12 @@ function setHomeGridsquare() { var push = false; - if (!(hash in g_liveCallsigns)) + if (!(hash in GT.liveCallsigns)) { newCallsign = {}; push = true; } - else newCallsign = g_liveCallsigns[hash]; + else newCallsign = GT.liveCallsigns[hash]; newCallsign.DEcall = myDEcall; newCallsign.grid = myDEGrid; newCallsign.wspr = null; @@ -5848,26 +5849,26 @@ function setHomeGridsquare() newCallsign.instance = null; newCallsign.alerted = false; newCallsign.shouldAlert = false; - g_myDXCC = newCallsign.dxcc = callsignToDxcc(myDEcall); + GT.myDXCC = newCallsign.dxcc = callsignToDxcc(myDEcall); newCallsign.locked = true; - if (push) g_liveCallsigns[hash] = newCallsign; + if (push) GT.liveCallsigns[hash] = newCallsign; } } -var g_transmitFlightPath = null; +GT.transmitFlightPath = null; function haltAllTx(allTx = false) { - for (var instance in g_instances) + for (var instance in GT.instances) { - if (instance != g_activeInstance || allTx == true) + if (instance != GT.activeInstance || allTx == true) { var responseArray = Buffer.alloc(1024); var length = 0; - var port = g_instances[instance].remote.port; - var address = g_instances[instance].remote.address; + var port = GT.instances[instance].remote.port; + var address = GT.instances[instance].remote.address; length = encodeQUINT32(responseArray, length, 0xadbccbda); length = encodeQUINT32(responseArray, length, 2); @@ -5883,23 +5884,23 @@ function haltAllTx(allTx = false) function initiateQso(thisCall) { - if (thisCall in g_callRoster && g_callRoster[thisCall].message.instance in g_instances) + if (thisCall in GT.callRoster && GT.callRoster[thisCall].message.instance in GT.instances) { - if (g_mapSettings.focusRig && g_activeInstance != g_callRoster[thisCall].message.instance) + if (GT.mapSettings.focusRig && GT.activeInstance != GT.callRoster[thisCall].message.instance) { - activeRig(g_callRoster[thisCall].message.instance); + activeRig(GT.callRoster[thisCall].message.instance); } - if (g_mapSettings.haltAllOnTx) + if (GT.mapSettings.haltAllOnTx) { haltAllTx(); } - var newMessage = g_callRoster[thisCall].message; + var newMessage = GT.callRoster[thisCall].message; var responseArray = Buffer.alloc(1024); var length = 0; - var instance = g_callRoster[thisCall].message.instance; - var port = g_instances[instance].remote.port; - var address = g_instances[instance].remote.address; + var instance = GT.callRoster[thisCall].message.instance; + var port = GT.instances[instance].remote.port; + var address = GT.instances[instance].remote.address; length = encodeQUINT32(responseArray, length, newMessage.magic_key); length = encodeQUINT32(responseArray, length, newMessage.schema_number); length = encodeQUINT32(responseArray, length, 4); @@ -5920,13 +5921,13 @@ function initiateQso(thisCall) function spotLookupAndSetCall(spot) { - var call = g_receptionReports.spots[spot].call; - var grid = g_receptionReports.spots[spot].grid; - var band = g_receptionReports.spots[spot].band; - var mode = g_receptionReports.spots[spot].mode; - for (var instance in g_instances) + var call = GT.receptionReports.spots[spot].call; + var grid = GT.receptionReports.spots[spot].grid; + var band = GT.receptionReports.spots[spot].band; + var mode = GT.receptionReports.spots[spot].mode; + for (var instance in GT.instances) { - if (g_instances[instance].valid && g_instances[instance].status.Band == band && g_instances[instance].status.MO == mode) + if (GT.instances[instance].valid && GT.instances[instance].status.Band == band && GT.instances[instance].status.MO == mode) { setCallAndGrid(call, grid, instance); return; @@ -5942,11 +5943,11 @@ function setCallAndGrid(callsign, grid, instance = null, genMessages = true) var address; if (instance != null) { - if (instance in g_instances) + if (instance in GT.instances) { - thisInstance = g_instances[instance].status; - port = g_instances[instance].remote.port; - address = g_instances[instance].remote.address; + thisInstance = GT.instances[instance].status; + port = GT.instances[instance].remote.port; + address = GT.instances[instance].remote.address; } else { @@ -5955,11 +5956,11 @@ function setCallAndGrid(callsign, grid, instance = null, genMessages = true) } else { - if (g_instances[g_activeInstance].valid) + if (GT.instances[GT.activeInstance].valid) { - thisInstance = g_instances[g_activeInstance].status; - port = g_instances[g_activeInstance].remote.port; - address = g_instances[g_activeInstance].remote.address; + thisInstance = GT.instances[GT.activeInstance].status; + port = GT.instances[GT.activeInstance].remote.port; + address = GT.instances[GT.activeInstance].remote.address; } } if (thisInstance && (thisInstance.TxEnabled == 0 || genMessages == false)) @@ -5982,7 +5983,7 @@ function setCallAndGrid(callsign, grid, instance = null, genMessages = true) length = encodeQUTF8(responseArray, length, callsign); var hash = liveHash(callsign, thisInstance.Band, thisInstance.MO); - if (hash in g_liveCallsigns && g_liveCallsigns[hash].grid.length > 1) { grid = g_liveCallsigns[hash].grid; } + if (hash in GT.liveCallsigns && GT.liveCallsigns[hash].grid.length > 1) { grid = GT.liveCallsigns[hash].grid; } if (grid.length == 0) grid = " "; @@ -6023,7 +6024,7 @@ function setCallAndGrid(callsign, grid, instance = null, genMessages = true) } } -var g_wsjtHandlers = { +GT.wsjtHandlers = { 0: handleWsjtxNotSupported, 1: handleWsjtxStatus, 2: handleWsjtxDecode, @@ -6039,14 +6040,14 @@ var g_wsjtHandlers = { 12: handleWsjtxADIF }; -var g_oldQSOTimer = null; +GT.oldQSOTimer = null; function handleWsjtxADIF(newMessage) { - if (g_oldQSOTimer) + if (GT.oldQSOTimer) { - nodeTimers.clearTimeout(g_oldQSOTimer); - g_oldQSOTimer = null; + nodeTimers.clearTimeout(GT.oldQSOTimer); + GT.oldQSOTimer = null; } sendToLogger(newMessage.ADIF); @@ -6054,99 +6055,99 @@ function handleWsjtxADIF(newMessage) function handleWsjtxQSO(newMessage) { - if (g_oldQSOTimer) + if (GT.oldQSOTimer) { - nodeTimers.clearTimeout(g_oldQSOTimer); - g_oldQSOTimer = null; + nodeTimers.clearTimeout(GT.oldQSOTimer); + GT.oldQSOTimer = null; } - g_oldStyleLogMessage = Object.assign({}, newMessage); + GT.oldStyleLogMessage = Object.assign({}, newMessage); - g_oldQSOTimer = nodeTimers.setTimeout(oldSendToLogger, 3000); + GT.oldQSOTimer = nodeTimers.setTimeout(oldSendToLogger, 3000); } function handleWsjtxNotSupported(newMessage) { } -var g_lastBand = ""; -var g_lastMode = ""; +GT.lastBand = ""; +GT.lastMode = ""; -var g_lastRawGrid = "AA00AA"; +GT.lastRawGrid = "AA00AA"; -var g_weAreDecoding = false; -var g_localDXcall = ""; +GT.weAreDecoding = false; +GT.localDXcall = ""; -var g_countIndex = 0; -var g_lastCountIndex = 0; +GT.countIndex = 0; +GT.lastCountIndex = 0; function rigChange(up) { - if (g_activeInstance == "") return; + if (GT.activeInstance == "") return; var targetInstance = 0; if (up) { - targetInstance = g_instances[g_activeInstance].intId + 1; + targetInstance = GT.instances[GT.activeInstance].intId + 1; } else { - targetInstance = g_instances[g_activeInstance].intId - 1; - if (targetInstance < 0) targetInstance = g_instancesIndex.length - 1; + targetInstance = GT.instances[GT.activeInstance].intId - 1; + if (targetInstance < 0) targetInstance = GT.instancesIndex.length - 1; } - targetInstance %= g_instancesIndex.length; + targetInstance %= GT.instancesIndex.length; setRig(targetInstance); } function setRig(instanceId) { - if (g_instances[g_instancesIndex[instanceId]].valid) + if (GT.instances[GT.instancesIndex[instanceId]].valid) { - if (g_lastMapView != null) + if (GT.lastMapView != null) { - g_mapView.animate({ zoom: g_lastMapView.zoom, duration: 100 }); - g_mapView.animate({ center: g_lastMapView.LoLa, duration: 100 }); - g_lastMapView = null; + GT.mapView.animate({ zoom: GT.lastMapView.zoom, duration: 100 }); + GT.mapView.animate({ center: GT.lastMapView.LoLa, duration: 100 }); + GT.lastMapView = null; } - g_activeInstance = g_instancesIndex[instanceId]; + GT.activeInstance = GT.instancesIndex[instanceId]; - handleWsjtxStatus(g_instances[g_activeInstance].status); - handleClosed(g_instances[g_activeInstance].status); + handleWsjtxStatus(GT.instances[GT.activeInstance].status); + handleClosed(GT.instances[GT.activeInstance].status); } } function activeRig(instance) { - if (g_instances[instance].valid) + if (GT.instances[instance].valid) { - if (g_lastMapView != null) + if (GT.lastMapView != null) { - g_mapView.animate({ zoom: g_lastMapView.zoom, duration: 100 }); - g_mapView.animate({ center: g_lastMapView.LoLa, duration: 100 }); - g_lastMapView = null; + GT.mapView.animate({ zoom: GT.lastMapView.zoom, duration: 100 }); + GT.mapView.animate({ center: GT.lastMapView.LoLa, duration: 100 }); + GT.lastMapView = null; } - g_activeInstance = instance; + GT.activeInstance = instance; - handleWsjtxStatus(g_instances[g_activeInstance].status); - handleClosed(g_instances[g_activeInstance].status); + handleWsjtxStatus(GT.instances[GT.activeInstance].status); + handleClosed(GT.instances[GT.activeInstance].status); } } -var g_lastTransmitCallsign = {}; -var g_lastStatusCallsign = {}; -var g_lastTxMessage = null; +GT.lastTransmitCallsign = {}; +GT.lastStatusCallsign = {}; +GT.lastTxMessage = null; function handleWsjtxStatus(newMessage) { - if (g_ignoreMessages == 1) return; + if (GT.ignoreMessages == 1) return; - if (g_rosterInitialized) + if (GT.rosterInitialized) { try { - g_callRosterWindowHandle.window.processStatus(newMessage); + GT.callRosterWindowHandle.window.processStatus(newMessage); } catch (e) { @@ -6154,12 +6155,12 @@ function handleWsjtxStatus(newMessage) } } - if (g_activeInstance == "") + if (GT.activeInstance == "") { - g_activeInstance = newMessage.instance; + GT.activeInstance = newMessage.instance; } - if (Object.keys(g_instances).length > 1) + if (Object.keys(GT.instances).length > 1) { rigWrap.style.display = "block"; } @@ -6172,39 +6173,39 @@ function handleWsjtxStatus(newMessage) if (DXcall.length > 1) { - if (!(newMessage.instance in g_lastTransmitCallsign)) { g_lastTransmitCallsign[newMessage.instance] = ""; } + if (!(newMessage.instance in GT.lastTransmitCallsign)) { GT.lastTransmitCallsign[newMessage.instance] = ""; } - if (!(newMessage.instance in g_lastStatusCallsign)) { g_lastStatusCallsign[newMessage.instance] = ""; } + if (!(newMessage.instance in GT.lastStatusCallsign)) { GT.lastStatusCallsign[newMessage.instance] = ""; } - if (lookupOnTx.checked == true && newMessage.Transmitting == 1 && g_lastTransmitCallsign[newMessage.instance] != DXcall) + if (lookupOnTx.checked == true && newMessage.Transmitting == 1 && GT.lastTransmitCallsign[newMessage.instance] != DXcall) { openLookupWindow(true); - g_lastTransmitCallsign[newMessage.instance] = DXcall; + GT.lastTransmitCallsign[newMessage.instance] = DXcall; } - if (g_lastStatusCallsign[newMessage.instance] != DXcall) + if (GT.lastStatusCallsign[newMessage.instance] != DXcall) { - g_lastStatusCallsign[newMessage.instance] = DXcall; + GT.lastStatusCallsign[newMessage.instance] = DXcall; lookupCallsign(DXcall, newMessage.DXgrid.trim()); } } - if (g_rosterInitialized && g_callRosterWindowHandle.window.g_rosterSettings.clearRosterOnBandChange && g_instances[newMessage.instance].oldStatus) + if (GT.rosterInitialized && GT.callRosterWindowHandle.window.CR.rosterSettings.clearRosterOnBandChange && GT.instances[newMessage.instance].oldStatus) { - if (g_instances[newMessage.instance].oldStatus.Band != newMessage.Band || g_instances[newMessage.instance].oldStatus.MO != newMessage.MO) + if (GT.instances[newMessage.instance].oldStatus.Band != newMessage.Band || GT.instances[newMessage.instance].oldStatus.MO != newMessage.MO) { - for (const call in g_callRoster) + for (const call in GT.callRoster) { - if (g_callRoster[call].callObj.instance == newMessage.instance) { delete g_callRoster[call]; } + if (GT.callRoster[call].callObj.instance == newMessage.instance) { delete GT.callRoster[call]; } } - if (g_activeInstance == newMessage.instance) + if (GT.activeInstance == newMessage.instance) { goProcessRoster(); } } } - if (g_activeInstance == newMessage.instance) + if (GT.activeInstance == newMessage.instance) { var sp = newMessage.Id.split(" - "); rigDiv.innerHTML = sp[sp.length - 1].substring(0, 18); @@ -6215,27 +6216,27 @@ function handleWsjtxStatus(newMessage) wsjtxMode.innerHTML = "" + newMessage.MO + ""; myMode = newMessage.MO; myBand = newMessage.Band; - if (g_lastBand != myBand) + if (GT.lastBand != myBand) { - g_lastBand = myBand; + GT.lastBand = myBand; bandChange = true; - if (g_pskBandActivityTimerHandle != null) + if (GT.pskBandActivityTimerHandle != null) { - nodeTimers.clearInterval(g_pskBandActivityTimerHandle); - g_pskBandActivityTimerHandle = null; + nodeTimers.clearInterval(GT.pskBandActivityTimerHandle); + GT.pskBandActivityTimerHandle = null; } } - if (g_lastMode != myMode) + if (GT.lastMode != myMode) { - g_lastMode = myMode; + GT.lastMode = myMode; modeChange = true; - if (g_pskBandActivityTimerHandle != null) + if (GT.pskBandActivityTimerHandle != null) { - nodeTimers.clearInterval(g_pskBandActivityTimerHandle); - g_pskBandActivityTimerHandle = null; + nodeTimers.clearInterval(GT.pskBandActivityTimerHandle); + GT.pskBandActivityTimerHandle = null; } } - if (g_pskBandActivityTimerHandle == null) pskGetBandActivity(); + if (GT.pskBandActivityTimerHandle == null) pskGetBandActivity(); if (bandChange || modeChange) { removePaths(); @@ -6250,38 +6251,38 @@ function handleWsjtxStatus(newMessage) ackAlerts(); updateChatWindow(); oamsBandActivityCheck(); - g_gtLiveStatusUpdate = true; + GT.gtLiveStatusUpdate = true; } myRawFreq = newMessage.Frequency; - frequency.innerHTML = "" + Number(newMessage.Frequency / 1000).formatMhz(3, 3) + " Hz (" + myBand + ")"; + frequency.innerHTML = "" + formatMhz(Number(newMessage.Frequency / 1000), 3, 3) + " Hz (" + myBand + ")"; myRawCall = newMessage.DEcall.trim(); myRawGrid = newMessage.DEgrid.trim().substr(0, 6); var LL = squareToCenter(myRawGrid); - g_mapSettings.latitude = g_myLat = LL.a; - g_mapSettings.longitude = g_myLon = LL.o; - if (myRawGrid != g_lastRawGrid) + GT.mapSettings.latitude = GT.myLat = LL.a; + GT.mapSettings.longitude = GT.myLon = LL.o; + if (myRawGrid != GT.lastRawGrid) { - g_lastRawGrid = myRawGrid; + GT.lastRawGrid = myRawGrid; } dxCallBoxDiv.className = "DXCallBox"; var hash = DXcall + myBand + myMode; - if (hash in g_tracker.worked.call) + if (hash in GT.tracker.worked.call) { dxCallBoxDiv.className = "DXCallBoxWorked"; } - if (hash in g_tracker.confirmed.call) + if (hash in GT.tracker.confirmed.call) { dxCallBoxDiv.className = "DXCallBoxConfirmed"; } - if (g_appSettings.clearOnCQ && newMessage.Transmitting == 1 && newMessage.TxMessage && g_lastTxMessage != newMessage.TxMessage) + if (GT.appSettings.clearOnCQ && newMessage.Transmitting == 1 && newMessage.TxMessage && GT.lastTxMessage != newMessage.TxMessage) { - g_lastTxMessage = newMessage.TxMessage; + GT.lastTxMessage = newMessage.TxMessage; if (newMessage.TxMessage.substring(0, 2) == "CQ" && DXcall.length > 0) { setCallAndGrid("", "", newMessage.instance, false); @@ -6290,18 +6291,18 @@ function handleWsjtxStatus(newMessage) } } - g_localDXcall = DXcall; - localDXcall.innerHTML = DXcall.formatCallsign(); + GT.localDXcall = DXcall; + localDXcall.innerHTML = formatCallsign(DXcall); if (localDXcall.innerHTML.length == 0) { localDXcall.innerHTML = "-"; - g_localDXcall = ""; + GT.localDXcall = ""; } localDXGrid.innerHTML = myDXGrid = newMessage.DXgrid.trim(); - if (myDXGrid.length == 0 && hash in g_liveCallsigns) + if (myDXGrid.length == 0 && hash in GT.liveCallsigns) { - localDXGrid.innerHTML = myDXGrid = g_liveCallsigns[hash].grid.substr(0, 4); + localDXGrid.innerHTML = myDXGrid = GT.liveCallsigns[hash].grid.substr(0, 4); } if (localDXGrid.innerHTML.length == 0) @@ -6313,16 +6314,16 @@ function handleWsjtxStatus(newMessage) else { var LL = squareToCenter(myDXGrid); - localDXDistance.innerHTML = parseInt(MyCircle.distance(g_myLat, g_myLon, LL.a, LL.o, distanceUnit.value) * MyCircle.validateRadius(distanceUnit.value)) + distanceUnit.value.toLowerCase(); - localDXAzimuth.innerHTML = parseInt(MyCircle.bearing(g_myLat, g_myLon, LL.a, LL.o)) + "°"; + localDXDistance.innerHTML = parseInt(MyCircle.distance(GT.myLat, GT.myLon, LL.a, LL.o, distanceUnit.value) * MyCircle.validateRadius(distanceUnit.value)) + distanceUnit.value.toLowerCase(); + localDXAzimuth.innerHTML = parseInt(MyCircle.bearing(GT.myLat, GT.myLon, LL.a, LL.o)) + "°"; } if (localDXcall.innerHTML != "-") { - localDXReport.innerHTML = Number(newMessage.Report.trim()).formatSignalReport(); + localDXReport.innerHTML = formatSignalReport(Number(newMessage.Report.trim())); if (DXcall.length > 0) { - localDXCountry.innerHTML = g_dxccToAltName[callsignToDxcc(DXcall)]; + localDXCountry.innerHTML = GT.dxccToAltName[callsignToDxcc(DXcall)]; } else { @@ -6337,7 +6338,7 @@ function handleWsjtxStatus(newMessage) myDEcall = newMessage.DEcall; myDEGrid = newMessage.DEgrid.trim().substr(0, 6); if (myDEGrid.length > 0) setHomeGridsquare(); - if (myDEGrid.length > 0) g_appSettings.centerGridsquare = myDEGrid; + if (myDEGrid.length > 0) GT.appSettings.centerGridsquare = myDEGrid; if (newMessage.Decoding == 1) { @@ -6347,16 +6348,16 @@ function handleWsjtxStatus(newMessage) txrxdec.style.backgroundColor = "Blue"; txrxdec.style.borderColor = "Cyan"; txrxdec.innerHTML = "DECODE"; - g_countIndex++; - g_weAreDecoding = true; + GT.countIndex++; + GT.weAreDecoding = true; } else { - g_weAreDecoding = false; + GT.weAreDecoding = false; - if (g_countIndex != g_lastCountIndex) + if (GT.countIndex != GT.lastCountIndex) { - g_lastCountIndex = g_countIndex; + GT.lastCountIndex = GT.countIndex; updateCountStats(); @@ -6365,21 +6366,21 @@ function handleWsjtxStatus(newMessage) worker += "
"; worker += ""; - worker += ""; + worker += ""; worker += ""; - worker += g_lastMessages.join(""); + worker += GT.lastMessages.join(""); worker += "
Last " + g_lastMessages.length + " Decoded Messages
Last " + GT.lastMessages.length + " Decoded Messages
TimedBDTFreqModeMessageDXCC
"; setStatsDiv("decodeLastListDiv", worker); setStatsDivHeight("decodeLastListDiv", getStatsWindowHeight() + 26 + "px"); - if (g_appSettings.gtShareEnable === true && Object.keys(g_spotCollector).length > 0) + if (GT.appSettings.gtShareEnable === true && Object.keys(GT.spotCollector).length > 0) { - gtChatSendSpots(g_spotCollector, g_spotDetailsCollector); - g_spotCollector = {}; - g_spotDetailsCollector = {}; + gtChatSendSpots(GT.spotCollector, GT.spotDetailsCollector); + GT.spotCollector = {}; + GT.spotDetailsCollector = {}; } } @@ -6390,55 +6391,55 @@ function handleWsjtxStatus(newMessage) if (newMessage.TxEnabled) { - if (g_mapSettings.fitQRZ && (g_spotView == 0 || g_receptionSettings.mergeSpots)) + if (GT.mapSettings.fitQRZ && (GT.spotView == 0 || GT.receptionSettings.mergeSpots)) { - if (g_lastMapView == null) + if (GT.lastMapView == null) { - g_lastMapView = {}; - g_lastMapView.LoLa = g_mapView.getCenter(); - g_lastMapView.zoom = g_mapView.getZoom(); + GT.lastMapView = {}; + GT.lastMapView.LoLa = GT.mapView.getCenter(); + GT.lastMapView.zoom = GT.mapView.getZoom(); } if (myDXGrid.length > 0) { fitViewBetweenPoints([getPoint(myRawGrid), getPoint(myDXGrid)]); } - else if (g_mapSettings.qrzDxccFallback && DXcall.length > 0 && callsignToDxcc(DXcall) > 0) + else if (GT.mapSettings.qrzDxccFallback && DXcall.length > 0 && callsignToDxcc(DXcall) > 0) { var dxcc = callsignToDxcc(DXcall); - var Lat = g_dxccInfo[dxcc].lat; - var Lon = g_dxccInfo[dxcc].lon; + var Lat = GT.dxccInfo[dxcc].lat; + var Lon = GT.dxccInfo[dxcc].lon; fitViewBetweenPoints([getPoint(myRawGrid), ol.proj.fromLonLat([Lon, Lat])], 15); } } } else { - if (g_lastMapView != null) + if (GT.lastMapView != null) { - g_mapView.animate({ zoom: g_lastMapView.zoom, duration: 1200 }); - g_mapView.animate({ center: g_lastMapView.LoLa, duration: 1200 }); - g_lastMapView = null; + GT.mapView.animate({ zoom: GT.lastMapView.zoom, duration: 1200 }); + GT.mapView.animate({ center: GT.lastMapView.LoLa, duration: 1200 }); + GT.lastMapView = null; } } if (newMessage.Transmitting == 0) { // Not Transmitting - g_lastTxMessage = null; - g_layerSources.transmit.clear(); - g_transmitFlightPath = null; + GT.lastTxMessage = null; + GT.layerSources.transmit.clear(); + GT.transmitFlightPath = null; } else { - g_lastTrasmissionTimeSec = g_timeNow; + GT.lastTrasmissionTimeSec = GT.timeNow; txrxdec.style.backgroundColor = "Red"; txrxdec.style.borderColor = "Orange"; txrxdec.innerHTML = "TRANSMIT"; - g_layerSources.transmit.clear(); - g_transmitFlightPath = null; + GT.layerSources.transmit.clear(); + GT.transmitFlightPath = null; - if (qrzPathWidthValue.value != 0 && g_appSettings.gridViewMode != 2 && validateGridFromString(myRawGrid)) + if (qrzPathWidthValue.value != 0 && GT.appSettings.gridViewMode != 2 && validateGridFromString(myRawGrid)) { var strokeColor = getQrzPathColor(); var strokeWeight = qrzPathWidthValue.value; @@ -6451,18 +6452,18 @@ function handleWsjtxStatus(newMessage) LL = squareToCenter(myDXGrid); toPoint = ol.proj.fromLonLat([LL.o, LL.a]); } - else if (g_mapSettings.qrzDxccFallback && DXcall.length > 0 && callsignToDxcc(DXcall) > 0) + else if (GT.mapSettings.qrzDxccFallback && DXcall.length > 0 && callsignToDxcc(DXcall) > 0) { var dxcc = callsignToDxcc(DXcall); - toPoint = ol.proj.fromLonLat([g_dxccInfo[dxcc].lon, g_dxccInfo[dxcc].lat]); + toPoint = ol.proj.fromLonLat([GT.dxccInfo[dxcc].lon, GT.dxccInfo[dxcc].lat]); - var locality = g_dxccInfo[dxcc].geo; + var locality = GT.dxccInfo[dxcc].geo; if (locality == "deleted") locality = null; if (locality != null) { var feature = shapeFeature("qrz", locality, "qrz", "#FFFF0010", "#FF0000FF", 1.0); - g_layerSources.transmit.addFeature(feature); + GT.layerSources.transmit.addFeature(feature); } } @@ -6470,7 +6471,7 @@ function handleWsjtxStatus(newMessage) { try { - g_transmitFlightPath = flightFeature( + GT.transmitFlightPath = flightFeature( [fromPoint, toPoint], { weight: strokeWeight, @@ -6488,16 +6489,16 @@ function handleWsjtxStatus(newMessage) } } } - g_weAreDecoding = false; + GT.weAreDecoding = false; } - g_appSettings.myDEcall = myDEcall; - g_appSettings.myDEGrid = myDEGrid; - g_appSettings.myMode = myMode; - g_appSettings.myBand = myBand; - g_appSettings.myRawFreq = myRawFreq; - g_appSettings.myRawCall = myRawCall; - g_appSettings.myRawGrid = myRawGrid; + GT.appSettings.myDEcall = myDEcall; + GT.appSettings.myDEGrid = myDEGrid; + GT.appSettings.myMode = myMode; + GT.appSettings.myBand = myBand; + GT.appSettings.myRawFreq = myRawFreq; + GT.appSettings.myRawCall = myRawCall; + GT.appSettings.myRawGrid = myRawGrid; } if (newMessage.Decoding == 0) @@ -6509,26 +6510,26 @@ function handleWsjtxStatus(newMessage) function reportDecodes() { - if (Object.keys(g_decodeCollector).length > 0) + if (Object.keys(GT.decodeCollector).length > 0) { - gtChatSendDecodes(g_decodeCollector); - g_decodeCollector = {}; + gtChatSendDecodes(GT.decodeCollector); + GT.decodeCollector = {}; } } -var g_lastMapView = null; +GT.lastMapView = null; function drawTraffic() { - while (g_lastTraffic.length > 60) g_lastTraffic.pop(); + while (GT.lastTraffic.length > 60) GT.lastTraffic.pop(); - var worker = g_lastTraffic.join("
"); + var worker = GT.lastTraffic.join("
"); worker = worker.split("80%'>
").join("80%'>"); - if (g_localDXcall.length > 1) + if (GT.localDXcall.length > 1) { worker = worker - .split(g_localDXcall) - .join("" + g_localDXcall + ""); + .split(GT.localDXcall) + .join("" + GT.localDXcall + ""); } if (myRawCall.length > 1) { @@ -6569,16 +6570,16 @@ function fitViewBetweenPoints(points, maxZoom = 20) var feature = new ol.Feature({ geometry: line }); var extent = feature.getGeometry().getExtent(); - g_mapView.fit(extent, { + GT.mapView.fit(extent, { duration: 500, maxZoom: maxZoom, padding: [75, 75, 75, 75] }); } -var g_spotCollector = {}; -var g_spotDetailsCollector = {}; -var g_decodeCollector = {}; +GT.spotCollector = {}; +GT.spotDetailsCollector = {}; +GT.decodeCollector = {}; function handleWsjtxDecode(newMessage) { @@ -6594,7 +6595,7 @@ function handleWsjtxDecode(newMessage) var newF; if (newMessage.OF > 0) { - newF = Number((newMessage.OF + newMessage.DF) / 1000).formatMhz(3, 3); + newF = formatMhz(Number((newMessage.OF + newMessage.DF) / 1000), 3, 3); } else { @@ -6681,17 +6682,17 @@ function handleWsjtxDecode(newMessage) var callsign = null; var hash = msgDEcallsign + newMessage.OB + newMessage.OM; - if (hash in g_liveCallsigns) callsign = g_liveCallsigns[hash]; + if (hash in GT.liveCallsigns) callsign = GT.liveCallsigns[hash]; var canPath = false; if ( - (g_appSettings.gtBandFilter.length == 0 || - (g_appSettings.gtBandFilter == "auto" && newMessage.OB == myBand) || - newMessage.OB == g_appSettings.gtBandFilter) && - (g_appSettings.gtModeFilter.length == 0 || - (g_appSettings.gtModeFilter == "auto" && newMessage.OM == myMode) || - newMessage.OM == g_appSettings.gtModeFilter || - g_appSettings.gtModeFilter == "Digital") + (GT.appSettings.gtBandFilter.length == 0 || + (GT.appSettings.gtBandFilter == "auto" && newMessage.OB == myBand) || + newMessage.OB == GT.appSettings.gtBandFilter) && + (GT.appSettings.gtModeFilter.length == 0 || + (GT.appSettings.gtModeFilter == "auto" && newMessage.OM == myMode) || + newMessage.OM == GT.appSettings.gtModeFilter || + GT.appSettings.gtModeFilter == "Digital") ) { rect = qthToBox(theirQTH, msgDEcallsign, CQ, false, msgDXcallsign, newMessage.OB, null, hash); @@ -6705,7 +6706,7 @@ function handleWsjtxDecode(newMessage) if (rect) { - g_liveGrids[theirQTH].age = g_timeNow; + GT.liveGrids[theirQTH].age = GT.timeNow; } if (callsign == null) @@ -6749,7 +6750,7 @@ function handleWsjtxDecode(newMessage) ); } - newCallsign.cont = g_dxccInfo[newCallsign.dxcc].continent; + newCallsign.cont = GT.dxccInfo[newCallsign.dxcc].continent; if (newCallsign.dxcc == 390 && newCallsign.zone == 1) { newCallsign.cont = "EU"; } } @@ -6763,17 +6764,17 @@ function handleWsjtxDecode(newMessage) getLookupCachedObject(msgDEcallsign, null, null, null, newCallsign); - if (g_callsignLookups.ulsUseEnable == true && isKnownCallsignDXCC(newCallsign.dxcc)) + if (GT.callsignLookups.ulsUseEnable == true && isKnownCallsignDXCC(newCallsign.dxcc)) { lookupUsCallsign(newCallsign, false); } - if (newCallsign.dxcc in g_dxccCount) g_dxccCount[newCallsign.dxcc]++; - else g_dxccCount[newCallsign.dxcc] = 1; + if (newCallsign.dxcc in GT.dxccCount) GT.dxccCount[newCallsign.dxcc]++; + else GT.dxccCount[newCallsign.dxcc] = 1; newCallsign.alerted = false; newCallsign.shouldAlert = false; - g_liveCallsigns[hash] = newCallsign; + GT.liveCallsigns[hash] = newCallsign; callsign = newCallsign; } else @@ -6785,15 +6786,15 @@ function handleWsjtxDecode(newMessage) if (rect != null && callsign.grid != rect.qth) { if ( - (g_appSettings.gtBandFilter.length == 0 || - (g_appSettings.gtBandFilter == "auto" && + (GT.appSettings.gtBandFilter.length == 0 || + (GT.appSettings.gtBandFilter == "auto" && newMessage.OB == myBand) || - newMessage.OB == g_appSettings.gtBandFilter) && - (g_appSettings.gtModeFilter.length == 0 || - (g_appSettings.gtModeFilter == "auto" && + newMessage.OB == GT.appSettings.gtBandFilter) && + (GT.appSettings.gtModeFilter.length == 0 || + (GT.appSettings.gtModeFilter == "auto" && newMessage.OM == myMode) || - newMessage.OM == g_appSettings.gtModeFilter || - g_appSettings.gtModeFilter == "Digital") + newMessage.OM == GT.appSettings.gtModeFilter || + GT.appSettings.gtModeFilter == "Digital") ) { rect = qthToBox( @@ -6833,30 +6834,30 @@ function handleWsjtxDecode(newMessage) if (callsign.grid.length > 0 && callsign.distance == 0) { var LL = squareToCenter(callsign.grid); - callsign.distance = MyCircle.distance(g_myLat, g_myLon, LL.a, LL.o, distanceUnit.value); - callsign.heading = MyCircle.bearing(g_myLat, g_myLon, LL.a, LL.o); + callsign.distance = MyCircle.distance(GT.myLat, GT.myLon, LL.a, LL.o, distanceUnit.value); + callsign.heading = MyCircle.bearing(GT.myLat, GT.myLon, LL.a, LL.o); } - if (g_appSettings.potaEnabled == 1) + if (GT.appSettings.potaEnabled == 1) { callsign.pota = null; - if (callsign.DEcall in g_pota.callSpots || callsign.DEcall in g_pota.callSchedule) + if (callsign.DEcall in GT.pota.callSpots || callsign.DEcall in GT.pota.callSchedule) { var now = Date.now(); - if (callsign.DEcall in g_pota.callSpots) + if (callsign.DEcall in GT.pota.callSpots) { - if (g_pota.callSpots[callsign.DEcall] in g_pota.parkSpots && g_pota.parkSpots[g_pota.callSpots[callsign.DEcall]][callsign.DEcall].expire > now) + if (GT.pota.callSpots[callsign.DEcall] in GT.pota.parkSpots && GT.pota.parkSpots[GT.pota.callSpots[callsign.DEcall]][callsign.DEcall].expire > now) { - callsign.pota = g_pota.callSpots[callsign.DEcall]; + callsign.pota = GT.pota.callSpots[callsign.DEcall]; } } - else if (callsign.DEcall in g_pota.callSchedule) + else if (callsign.DEcall in GT.pota.callSchedule) { - for (var i in g_pota.callSchedule[callsign.DEcall]) + for (var i in GT.pota.callSchedule[callsign.DEcall]) { - if (now < g_pota.callSchedule[callsign.DEcall][i].end && now >= g_pota.callSchedule[callsign.DEcall][i].start) + if (now < GT.pota.callSchedule[callsign.DEcall][i].end && now >= GT.pota.callSchedule[callsign.DEcall][i].start) { - callsign.pota = g_pota.callSchedule[callsign.DEcall][i].id; + callsign.pota = GT.pota.callSchedule[callsign.DEcall][i].id; break; } } @@ -6884,7 +6885,7 @@ function handleWsjtxDecode(newMessage) insertMessageInRoster(newMessage, msgDEcallsign, msgDXcallsign, callsign, hash); - if (g_mapSettings.trafficDecode && (didAlert == true || didCustomAlert == true)) + if (GT.mapSettings.trafficDecode && (didAlert == true || didCustomAlert == true)) { var traffic = htmlEntities(theMessage); if (didAlert == true) @@ -6896,37 +6897,37 @@ function handleWsjtxDecode(newMessage) traffic = traffic + " 🚩"; } - g_lastTraffic.unshift(traffic); - g_lastTraffic.unshift(userTimeString(null)); - g_lastTraffic.unshift("
"); + GT.lastTraffic.unshift(traffic); + GT.lastTraffic.unshift(userTimeString(null)); + GT.lastTraffic.unshift("
"); drawTraffic(); lastMessageWasInfo = true; } - if (g_appSettings.gtSpotEnable == true && newMessage.OF > 0) + if (GT.appSettings.gtSpotEnable == true && newMessage.OF > 0) { let freq = callsign.delta + newMessage.OF; - if (callsign.DEcall in g_gtCallsigns) + if (callsign.DEcall in GT.gtCallsigns) { - for (const cid in g_gtCallsigns[callsign.DEcall]) + for (const cid in GT.gtCallsigns[callsign.DEcall]) { - if (cid in g_gtFlagPins && g_gtFlagPins[cid].o == 1) + if (cid in GT.gtFlagPins && GT.gtFlagPins[cid].o == 1) { - g_spotCollector[cid] = callsign.RSTsent; - g_spotDetailsCollector[cid] = [freq, callsign.mode]; + GT.spotCollector[cid] = callsign.RSTsent; + GT.spotDetailsCollector[cid] = [freq, callsign.mode]; } } } freq = freq - (freq % k_frequencyBucket); - g_decodeCollector[freq] ??= 0; - g_decodeCollector[freq]++; + GT.decodeCollector[freq] ??= 0; + GT.decodeCollector[freq]++; } } - if (callsign.dxcc != -1) countryName = g_dxccToAltName[callsign.dxcc]; + if (callsign.dxcc != -1) countryName = GT.dxccToAltName[callsign.dxcc]; if (canPath == true) { - if (callsign.DXcall.indexOf("CQ") < 0 && g_appSettings.gridViewMode != 2) + if (callsign.DXcall.indexOf("CQ") < 0 && GT.appSettings.gridViewMode != 2) { // Nothing special, we know the callers grid if (callsign.grid != "") @@ -6934,13 +6935,13 @@ function handleWsjtxDecode(newMessage) // Our msgDEcallsign is not sending a CQ. // Let's see if we can locate who he's talking to in our known list var DEcallsign = null; - if (callsign.DXcall + newMessage.OB + newMessage.OM in g_liveCallsigns) + if (callsign.DXcall + newMessage.OB + newMessage.OM in GT.liveCallsigns) { - DEcallsign = g_liveCallsigns[callsign.DXcall + newMessage.OB + newMessage.OM]; + DEcallsign = GT.liveCallsigns[callsign.DXcall + newMessage.OB + newMessage.OM]; } - else if (callsign.DXcall in g_liveCallsigns) + else if (callsign.DXcall in GT.liveCallsigns) { - DEcallsign = g_liveCallsigns[callsign.DXcall]; + DEcallsign = GT.liveCallsigns[callsign.DXcall]; } if (DEcallsign != null && DEcallsign.grid != "") @@ -6975,11 +6976,11 @@ function handleWsjtxDecode(newMessage) true ); - flightPath.age = g_timeNow + g_flightDuration; + flightPath.age = GT.timeNow + GT.flightDuration; flightPath.isShapeFlight = 0; flightPath.isQRZ = isQRZ; - g_flightPaths.push(flightPath); + GT.flightPaths.push(flightPath); } catch (err) { @@ -6988,21 +6989,21 @@ function handleWsjtxDecode(newMessage) } } } - else if (g_mapSettings.qrzDxccFallback && msgDXcallsign == myDEcall && callsign.dxcc > 0) + else if (GT.mapSettings.qrzDxccFallback && msgDXcallsign == myDEcall && callsign.dxcc > 0) { // the caller is calling us, but they don't have a grid, so lookup the DXCC and show it var strokeColor = getQrzPathColor(); var strokeWeight = qrzPathWidthValue.value; var flightPath = null; var isQRZ = true; - var DEcallsign = g_liveCallsigns[myDEcall]; + var DEcallsign = GT.liveCallsigns[myDEcall]; if (strokeWeight != 0) { var toPoint = getPoint(DEcallsign.grid); - var Lat = g_dxccInfo[callsign.dxcc].lat; - var Lon = g_dxccInfo[callsign.dxcc].lon; + var Lat = GT.dxccInfo[callsign.dxcc].lat; + var Lon = GT.dxccInfo[callsign.dxcc].lon; var fromPoint = ol.proj.fromLonLat([Lon, Lat]); try @@ -7019,11 +7020,11 @@ function handleWsjtxDecode(newMessage) true ); - flightPath.age = g_timeNow + g_flightDuration; + flightPath.age = GT.timeNow + GT.flightDuration; flightPath.isShapeFlight = 0; flightPath.isQRZ = isQRZ; - g_flightPaths.push(flightPath); + GT.flightPaths.push(flightPath); } catch (err) { @@ -7032,45 +7033,45 @@ function handleWsjtxDecode(newMessage) var feature = shapeFeature( "qrz", - g_dxccInfo[callsign.dxcc].geo, + GT.dxccInfo[callsign.dxcc].geo, "qrz", "#FFFF0010", "#FF0000FF", 1.0 ); - feature.age = g_timeNow + g_flightDuration; + feature.age = GT.timeNow + GT.flightDuration; feature.isShapeFlight = 1; feature.isQRZ = isQRZ; - g_layerSources.flight.addFeature(feature); - g_flightPaths.push(feature); + GT.layerSources.flight.addFeature(feature); + GT.flightPaths.push(feature); } } } - else if (g_mapSettings.CQhilite && msgDXcallsign.indexOf("CQ ") == 0 && callsign.grid != "" && g_appSettings.gridViewMode != 2 && pathWidthValue.value != 0) + else if (GT.mapSettings.CQhilite && msgDXcallsign.indexOf("CQ ") == 0 && callsign.grid != "" && GT.appSettings.gridViewMode != 2 && pathWidthValue.value != 0) { var CCd = msgDXcallsign.replace("CQ ", "").split(" ")[0]; - if (CCd.length < 5 && !(CCd in g_pathIgnore)) + if (CCd.length < 5 && !(CCd in GT.pathIgnore)) { var locality = null; // Direct lookup US states, Continents, possibly - if (CCd in g_replaceCQ) CCd = g_replaceCQ[CCd]; + if (CCd in GT.replaceCQ) CCd = GT.replaceCQ[CCd]; - if (CCd.length == 2 && CCd in g_shapeData) + if (CCd.length == 2 && CCd in GT.shapeData) { - locality = g_shapeData[CCd]; + locality = GT.shapeData[CCd]; } else if (CCd.length == 3) { // maybe it's DEL, or WYO. check the first two letters - if (CCd.substr(0, 2) in g_shapeData) { locality = g_shapeData[CCd.substr(0, 2)]; } + if (CCd.substr(0, 2) in GT.shapeData) { locality = GT.shapeData[CCd.substr(0, 2)]; } } if (locality == null) { // Check the prefix for dxcc direct - if (CCd in g_prefixToMap) + if (CCd in GT.prefixToMap) { - locality = g_dxccInfo[g_prefixToMap[CCd]].geo; + locality = GT.dxccInfo[GT.prefixToMap[CCd]].geo; if (locality == "deleted") { locality = null; @@ -7093,11 +7094,11 @@ function handleWsjtxDecode(newMessage) strokeWeight ); - feature.age = g_timeNow + g_flightDuration; + feature.age = GT.timeNow + GT.flightDuration; feature.isShapeFlight = 1; feature.isQRZ = false; - g_layerSources.flight.addFeature(feature); - g_flightPaths.push(feature); + GT.layerSources.flight.addFeature(feature); + GT.flightPaths.push(feature); var fromPoint = getPoint(callsign.grid); var toPoint = ol.proj.fromLonLat(locality.properties.center); @@ -7116,10 +7117,10 @@ function handleWsjtxDecode(newMessage) true ); - flightPath.age = g_timeNow + g_flightDuration; + flightPath.age = GT.timeNow + GT.flightDuration; flightPath.isShapeFlight = 0; flightPath.isQRZ = false; - g_flightPaths.push(flightPath); + GT.flightPaths.push(flightPath); } catch (err) { @@ -7134,7 +7135,7 @@ function handleWsjtxDecode(newMessage) var bgColor = "black"; if (newMessage.LC > 0) bgColor = "#880000"; - g_lastMessages.unshift( + GT.lastMessages.unshift( "" + @@ -7156,13 +7157,13 @@ function handleWsjtxDecode(newMessage) "" ); - while (g_lastMessages.length > 100) g_lastMessages.pop(); + while (GT.lastMessages.length > 100) GT.lastMessages.pop(); } function addLastTraffic(traffic) { - g_lastTraffic.unshift(traffic); - g_lastTraffic.unshift( + GT.lastTraffic.unshift(traffic); + GT.lastTraffic.unshift( "
" ); drawTraffic(); @@ -7210,16 +7211,16 @@ function shapeFeature( function handleWsjtxClear(newMessage) { - for (var hash in g_liveCallsigns) + for (var hash in GT.liveCallsigns) { - if (g_liveCallsigns[hash].instance == newMessage.instance || g_liveCallsigns[hash].mode == g_instances[newMessage.instance].status.MO) + if (GT.liveCallsigns[hash].instance == newMessage.instance || GT.liveCallsigns[hash].mode == GT.instances[newMessage.instance].status.MO) { - delete g_liveCallsigns[hash]; + delete GT.liveCallsigns[hash]; } } - for (var call in g_callRoster) + for (var call in GT.callRoster) { - if (g_callRoster[call].callObj.instance == newMessage.instance) { delete g_callRoster[call]; } + if (GT.callRoster[call].callObj.instance == newMessage.instance) { delete GT.callRoster[call]; } } redrawGrids(); @@ -7232,21 +7233,21 @@ function handleWsjtxClear(newMessage) function goProcessRoster() { var now = timeNowSec(); - for (const call in g_callRoster) + for (const call in GT.callRoster) { - if (now - g_callRoster[call].callObj.age > 300) + if (now - GT.callRoster[call].callObj.age > 300) { - g_callRoster[call].callObj.alerted = false; - g_callRoster[call].callObj.shouldAlert = false; - delete g_callRoster[call]; + GT.callRoster[call].callObj.alerted = false; + GT.callRoster[call].callObj.shouldAlert = false; + delete GT.callRoster[call]; continue; } } - if (g_rosterInitialized) + if (GT.rosterInitialized) { try { - g_callRosterWindowHandle.window.processRoster(g_callRoster); + GT.callRosterWindowHandle.window.processRoster(GT.callRoster); } catch (e) { @@ -7258,7 +7259,7 @@ function goProcessRoster() function handleClosed(newMessage) { - if (g_activeInstance == newMessage.Id && g_instances[newMessage.Id].open == false) + if (GT.activeInstance == newMessage.Id && GT.instances[newMessage.Id].open == false) { txrxdec.style.backgroundColor = "Purple"; txrxdec.style.borderColor = "Purple"; @@ -7271,14 +7272,14 @@ function handleClosed(newMessage) function handleWsjtxClose(newMessage) { updateCountStats(); - g_instances[newMessage.Id].open = false; + GT.instances[newMessage.Id].open = false; handleClosed(newMessage); updateRosterInstances(); } function handleWsjtxWSPR(newMessage) { - if (g_ignoreMessages == 1) return; + if (GT.ignoreMessages == 1) return; addDeDx( newMessage.Grid, @@ -7286,7 +7287,7 @@ function handleWsjtxWSPR(newMessage) "-", Number(newMessage.SR), timeNowSec(), - "Pwr:" + newMessage.Power + " Freq:" + Number(newMessage.Frequency / 1000).formatMhz(3, 3) + " Delta:" + Number(newMessage.DT).toFixed(2) + " Drift:" + + "Pwr:" + newMessage.Power + " Freq:" + formatMhz(Number(newMessage.Frequency / 1000), 3, 3) + " Delta:" + Number(newMessage.DT).toFixed(2) + " Drift:" + newMessage.Drift, "WSPR", Number(newMessage.Frequency / 1000000).formatBand(), @@ -7311,7 +7312,7 @@ function centerOn(grid) if (grid.length >= 4) { var LL = squareToLatLong(grid); - g_map + GT.map .getView() .setCenter( ol.proj.fromLonLat([ @@ -7326,11 +7327,11 @@ function setCenterQTH() { if (homeQTHInput.value.length >= 4) { - g_appSettings.centerGridsquare = homeQTHInput.value; + GT.appSettings.centerGridsquare = homeQTHInput.value; // Grab home QTH Gridsquare from Center QTH var LL = squareToLatLong(homeQTHInput.value); - g_map + GT.map .getView() .setCenter( ol.proj.fromLonLat([ @@ -7346,7 +7347,7 @@ function setCenterQTH() } function setCenterGridsquare() { - if (g_mapMemory[6].zoom != -1) + if (GT.mapMemory[6].zoom != -1) { mapMemory(6, false); return; @@ -7357,9 +7358,9 @@ function setCenterGridsquare() function changeLookupMerge() { - g_appSettings.lookupMerge = lookupMerge.checked; - g_appSettings.lookupMissingGrid = lookupMissingGrid.checked; - if (g_appSettings.lookupMerge == true) + GT.appSettings.lookupMerge = lookupMerge.checked; + GT.appSettings.lookupMissingGrid = lookupMissingGrid.checked; + if (GT.appSettings.lookupMerge == true) { lookupMissingGridDiv.style.display = "inline-block"; } @@ -7371,13 +7372,13 @@ function changeLookupMerge() function changelookupOnTx() { - g_appSettings.lookupOnTx = lookupOnTx.checked; - g_appSettings.lookupCloseLog = lookupCloseLog.checked; + GT.appSettings.lookupOnTx = lookupOnTx.checked; + GT.appSettings.lookupCloseLog = lookupCloseLog.checked; } function exportSettings() { - var filename = g_appData + g_dirSeperator + "gt_settings.json"; + var filename = GT.appData + GT.dirSeperator + "gt_settings.json"; var toWrite = JSON.stringify(localStorage); fs.writeFileSync(filename, toWrite); @@ -7387,7 +7388,7 @@ function exportSettings() function checkForSettings() { - var filename = g_appData + g_dirSeperator + "gt_settings.json"; + var filename = GT.appData + GT.dirSeperator + "gt_settings.json"; if (fs.existsSync(filename)) { importSettingsButton.style.display = "inline-block"; @@ -7405,7 +7406,7 @@ function importSettings() { checkForSettings(); - var filename = g_appData + g_dirSeperator + "gt_settings.json"; + var filename = GT.appData + GT.dirSeperator + "gt_settings.json"; if (fs.existsSync(filename)) { var data = fs.readFileSync(filename); @@ -7444,23 +7445,23 @@ function showCallsignBox(redraw) var worker = "
Callsigns and DXCC Heard

"; - g_newCallsignCount = Object.keys(g_liveCallsigns).length; - if (g_newCallsignCount > 0) + GT.newCallsignCount = Object.keys(GT.liveCallsigns).length; + if (GT.newCallsignCount > 0) { var newCallList = Array(); worker += "
"; // "; - if (g_callsignLookups.lotwUseEnable == true) worker += ""; - if (g_callsignLookups.eqslUseEnable == true) worker += ""; - if (g_callsignLookups.oqrsUseEnable == true) worker += ""; - for (var x in g_liveCallsigns) + if (GT.callsignLookups.lotwUseEnable == true) worker += ""; + if (GT.callsignLookups.eqslUseEnable == true) worker += ""; + if (GT.callsignLookups.oqrsUseEnable == true) worker += ""; + for (var x in GT.liveCallsigns) { - if (g_liveCallsigns[x].dxcc != -1) + if (GT.liveCallsigns[x].dxcc != -1) { - newCallList.push(g_liveCallsigns[x]); + newCallList.push(GT.liveCallsigns[x]); } } newCallList.sort(compareCallsignTime).reverse(); @@ -7470,8 +7471,8 @@ function showCallsignBox(redraw) var grid = newCallList[x].rect ? newCallList[x].rect.qth : "-"; var cqzone = newCallList[x].cqz ? newCallList[x].cqz : "-"; var ituzone = newCallList[x].ituz ? newCallList[x].ituz : "-"; - var geo = g_dxccInfo[newCallList[x].dxcc]; - var thisCall = newCallList[x].DEcall.formatCallsign(); + var geo = GT.dxccInfo[newCallList[x].dxcc]; + var thisCall = formatCallsign(newCallList[x].DEcall); worker += ""; worker += ""; var ageString = ""; - if (timeNowSec() - newCallList[x].time < 3601) { ageString = (timeNowSec() - newCallList[x].time).toDHMS(); } + if (timeNowSec() - newCallList[x].time < 3601) { ageString = toDHMS(timeNowSec() - newCallList[x].time); } else { ageString = userTimeString(newCallList[x].time * 1000); } worker += ""; - if (g_callsignLookups.lotwUseEnable == true) + if (GT.callsignLookups.lotwUseEnable == true) { worker += ""; } - if (g_callsignLookups.eqslUseEnable == true) + if (GT.callsignLookups.eqslUseEnable == true) { worker += ""; } - if (g_callsignLookups.oqrsUseEnable == true) + if (GT.callsignLookups.oqrsUseEnable == true) { worker += ""; } worker += ""; @@ -7532,26 +7533,26 @@ function showCallsignBox(redraw) var heard = 0; var List = {}; - if (Object.keys(g_dxccCount).length > 0) + if (Object.keys(GT.dxccCount).length > 0) { - for (var key in g_dxccCount) + for (var key in GT.dxccCount) { if (key != -1) { var item = {}; - item.total = g_dxccCount[key]; - item.confirmed = g_dxccInfo[key].confirmed; - item.worked = g_dxccInfo[key].worked; + item.total = GT.dxccCount[key]; + item.confirmed = GT.dxccInfo[key].confirmed; + item.worked = GT.dxccInfo[key].worked; item.dxcc = key; - item.flag = g_dxccInfo[key].flag; - List[g_dxccToAltName[key]] = item; + item.flag = GT.dxccInfo[key].flag; + List[GT.dxccToAltName[key]] = item; heard++; } } worker += "
CallsignGridDXCCCQITUFlagQSOQSLWhenITUzCQzISOLoTWeQSLOQRSLoTWeQSLOQRS
" + - (thisCall in g_tracker.worked.call ? "✔" : "") + + (thisCall in GT.tracker.worked.call ? "✔" : "") + "" + - (thisCall in g_tracker.confirmed.call ? "✔" : "") + + (thisCall in GT.tracker.confirmed.call ? "✔" : "") + "" + ageString + "" + - (thisCall in g_lotwCallsigns ? "✔" : "") + + (thisCall in GT.lotwCallsigns ? "✔" : "") + "" + - (thisCall in g_eqslCallsigns ? "✔" : "") + + (thisCall in GT.eqslCallsigns ? "✔" : "") + "" + - (thisCall in g_oqrsCallsigns ? "✔" : "") + + (thisCall in GT.oqrsCallsigns ? "✔" : "") + "
"; - if (Object.keys(g_blockedDxcc).length > 0) + if (Object.keys(CR.blockedDxcc).length > 0) { clearString = ""; @@ -1556,22 +1554,22 @@ function openIgnoreEdit() "px;'>
DXCC (" + @@ -7581,32 +7582,32 @@ function showCallsignBox(redraw) function setStatsDiv(div, worker) { if ( - g_statsWindowHandle != null && - typeof g_statsWindowHandle.window[div] !== "undefined" + GT.statsWindowHandle != null && + typeof GT.statsWindowHandle.window[div] !== "undefined" ) { - g_statsWindowHandle.window[div].innerHTML = worker; + GT.statsWindowHandle.window[div].innerHTML = worker; } } function setStatsDivHeight(div, heightWithPx) { if ( - g_statsWindowHandle != null && - typeof g_statsWindowHandle.window[div] !== "undefined" + GT.statsWindowHandle != null && + typeof GT.statsWindowHandle.window[div] !== "undefined" ) { - g_statsWindowHandle.window[div].style.height = heightWithPx; + GT.statsWindowHandle.window[div].style.height = heightWithPx; } } function getStatsWindowHeight() { if ( - g_statsWindowHandle != null && - typeof g_statsWindowHandle.window.window !== "undefined" + GT.statsWindowHandle != null && + typeof GT.statsWindowHandle.window.window !== "undefined" ) { - return g_statsWindowHandle.window.window.innerHeight - 63; + return GT.statsWindowHandle.window.window.innerHeight - 63; } return 300; } @@ -7614,39 +7615,39 @@ function getStatsWindowHeight() function setLookupDiv(div, worker) { if ( - g_lookupWindowHandle && g_lookupWindowInitialized && - typeof g_lookupWindowHandle.window[div].innerHTML !== "undefined" + GT.lookupWindowHandle && GT.lookupWindowInitialized && + typeof GT.lookupWindowHandle.window[div].innerHTML !== "undefined" ) { - g_lookupWindowHandle.window[div].innerHTML = worker; + GT.lookupWindowHandle.window[div].innerHTML = worker; } } function setLookupDivHeight(div, heightWithPx) { if ( - g_lookupWindowHandle && g_lookupWindowInitialized && - typeof g_lookupWindowHandle.window[div].style !== "undefined" + GT.lookupWindowHandle && GT.lookupWindowInitialized && + typeof GT.lookupWindowHandle.window[div].style !== "undefined" ) { - g_lookupWindowHandle.window[div].style.height = heightWithPx; + GT.lookupWindowHandle.window[div].style.height = heightWithPx; } } function getLookupWindowHeight() { if ( - g_lookupWindowHandle && g_lookupWindowInitialized && - typeof g_lookupWindowHandle.window.window !== "undefined" + GT.lookupWindowHandle && GT.lookupWindowInitialized && + typeof GT.lookupWindowHandle.window.window !== "undefined" ) { - return g_lookupWindowHandle.window.window.innerHeight; + return GT.lookupWindowHandle.window.window.innerHeight; } return 300; } function showConditionsBox() { - if (g_mapSettings.offlineMode == false) + if (GT.mapSettings.offlineMode == false) { openConditionsWindow(); } @@ -7669,13 +7670,13 @@ function myModeCompare(a, b) function myDxccCompare(a, b) { - return g_dxccToAltName[a.dxcc].localeCompare(g_dxccToAltName[b.dxcc]); + return GT.dxccToAltName[a.dxcc].localeCompare(GT.dxccToAltName[b.dxcc]); } function myDxccIntCompare(a, b) { - if (!(a in g_dxccToAltName)) return 0; - if (!(b in g_dxccToAltName)) { return g_dxccToAltName[a].localeCompare(g_dxccToAltName[b]); } + if (!(a in GT.dxccToAltName)) return 0; + if (!(b in GT.dxccToAltName)) { return GT.dxccToAltName[a].localeCompare(GT.dxccToAltName[b]); } } function myTimeCompare(a, b) @@ -7697,7 +7698,7 @@ function myConfirmedCompare(a, b) return 0; } -var g_sortFunction = [ +GT.sortFunction = [ myCallCompare, myGridCompare, myModeCompare, @@ -7707,37 +7708,37 @@ var g_sortFunction = [ myConfirmedCompare ]; -var g_lastSortIndex = 4; +GT.lastSortIndex = 4; -var g_qsoPages = 1; -var g_qsoPage = 0; -var g_qsoItemsPerPage = 100; -var g_lastSortType = 0; -var g_searchWB = ""; -var g_gridSearch = ""; -var g_filterBand = "Mixed"; -var g_filterMode = "Mixed"; -var g_filterDxcc = 0; -var g_filterQSL = "All"; +GT.qsoPages = 1; +GT.qsoPage = 0; +GT.qsoItemsPerPage = 100; +GT.lastSortType = 0; +GT.searchWB = ""; +GT.gridSearch = ""; +GT.filterBand = "Mixed"; +GT.filterMode = "Mixed"; +GT.filterDxcc = 0; +GT.filterQSL = "All"; -var g_lastSearchSelection = null; +GT.lastSearchSelection = null; function resetSearch() { - g_lastSortIndex = 4; - g_qsoPages = 1; - g_qsoPage = 0; - g_qsoItemsPerPage = 100; - g_lastSortType = 2; - g_searchWB = ""; - g_gridSearch = ""; + GT.lastSortIndex = 4; + GT.qsoPages = 1; + GT.qsoPage = 0; + GT.qsoItemsPerPage = 100; + GT.lastSortType = 2; + GT.searchWB = ""; + GT.gridSearch = ""; - g_filterBand = "Mixed"; - g_filterMode = "Mixed"; - g_filterDxcc = 0; - g_filterQSL = "All"; + GT.filterBand = "Mixed"; + GT.filterMode = "Mixed"; + GT.filterDxcc = 0; + GT.filterQSL = "All"; - g_lastSearchSelection = null; + GT.lastSearchSelection = null; } function showWorkedByCall(callsign, evt) @@ -7745,52 +7746,52 @@ function showWorkedByCall(callsign, evt) evt.preventDefault(); resetSearch(); - g_searchWB = callsign; - if (event.shiftKey == true) g_filterQSL = "true"; + GT.searchWB = callsign; + if (event.shiftKey == true) GT.filterQSL = "true"; openInfoTab("qsobox", "workedBoxDiv", showWorkedBox); } function showWorkedSearchChanged(object, index) { ValidateCallsign(object, null); - g_searchWB = object.value.toUpperCase(); - g_lastSearchSelection = object.id; + GT.searchWB = object.value.toUpperCase(); + GT.lastSearchSelection = object.id; showWorkedBox(index, 0); } function showWorkedSearchGrid(object, index) { ValidateCallsign(object, null); - g_gridSearch = object.value.toUpperCase(); - g_lastSearchSelection = object.id; + GT.gridSearch = object.value.toUpperCase(); + GT.lastSearchSelection = object.id; showWorkedBox(index, 0); } function filterBandFunction(event, index) { - g_filterBand = this.value; - g_lastSearchSelection = this.id; + GT.filterBand = this.value; + GT.lastSearchSelection = this.id; showWorkedBox(index, 0); } function filterModeFunction(event, index) { - g_filterMode = this.value; - g_lastSearchSelection = this.id; + GT.filterMode = this.value; + GT.lastSearchSelection = this.id; showWorkedBox(index, 0); } function filterDxccFunction(event, index) { - g_filterDxcc = this.value; - g_lastSearchSelection = this.id; + GT.filterDxcc = this.value; + GT.lastSearchSelection = this.id; showWorkedBox(index, 0); } function filterQSLFunction(event, index) { - g_filterQSL = this.value; - g_lastSearchSelection = this.id; + GT.filterQSL = this.value; + GT.lastSearchSelection = this.id; showWorkedBox(index, 0); } @@ -7809,31 +7810,31 @@ function showWorkedBox(sortIndex, nextPage, redraw) var ObjectCount = 0; - myObjects = g_QSOhash; + myObjects = GT.QSOhash; if (sortIndex == null || typeof sortIndex == "undefined") { mySort = 4; - g_lastSortIndex = 4; - g_lastSortType = 2; + GT.lastSortIndex = 4; + GT.lastSortType = 2; } var list = Object.values(myObjects); - if (g_searchWB.length > 0) + if (GT.searchWB.length > 0) { list = list.filter(function (value) { - return value.DEcall.indexOf(g_searchWB) > -1; + return value.DEcall.indexOf(GT.searchWB) > -1; }); } - if (g_gridSearch.length > 0) + if (GT.gridSearch.length > 0) { list = list.filter(function (value) { - var x = value.grid.indexOf(g_gridSearch); - var y = value.vucc_grids.indexOf(g_gridSearch); + var x = value.grid.indexOf(GT.gridSearch); + var y = value.vucc_grids.indexOf(GT.gridSearch); return x == 0 || y == 0; }); } @@ -7844,25 +7845,25 @@ function showWorkedBox(sortIndex, nextPage, redraw) modes[list[key].mode] = list[key].mode; var unconfirmedCallsKey = new UnconfirmedCallsKey(list[key].dxcc, list[key].band); if ( - g_unconfirmedCalls.has(unconfirmedCallsKey.key) && + GT.unconfirmedCalls.has(unconfirmedCallsKey.key) && list[key].confirmed ) { - g_unconfirmedCalls.set(unconfirmedCallsKey.key, unconfirmedCallsSentinel); + GT.unconfirmedCalls.set(unconfirmedCallsKey.key, GT.unconfirmedCallsSentinel); } else if ( !list[key].confirmed && // check for sentinel object -- confirmed country. key needs to be kept in here so that // an recent unconfirmed qso doesn't mark the key as unconfirmed - g_unconfirmedCalls.get(unconfirmedCallsKey.key) != unconfirmedCallsSentinel + GT.unconfirmedCalls.get(unconfirmedCallsKey.key) != GT.unconfirmedCallsSentinel ) { - var logs = g_unconfirmedCalls.get(unconfirmedCallsKey.key); + var logs = GT.unconfirmedCalls.get(unconfirmedCallsKey.key); if (logs == undefined) { logs = new Set(); logs.add(list[key]); - g_unconfirmedCalls.set(unconfirmedCallsKey.key, logs); + GT.unconfirmedCalls.set(unconfirmedCallsKey.key, logs); } else if (!logs.has(list[key])) { @@ -7870,50 +7871,50 @@ function showWorkedBox(sortIndex, nextPage, redraw) } } - var pp = list[key].dxcc in g_dxccInfo ? g_dxccInfo[list[key].dxcc].pp : "?"; + var pp = list[key].dxcc in GT.dxccInfo ? GT.dxccInfo[list[key].dxcc].pp : "?"; - dxccs[g_dxccToAltName[list[key].dxcc] + " (" + pp + ")"] = list[key].dxcc; + dxccs[GT.dxccToAltName[list[key].dxcc] + " (" + pp + ")"] = list[key].dxcc; } - if (g_filterBand != "Mixed") + if (GT.filterBand != "Mixed") { list = list.filter(function (value) { - return value.band == g_filterBand; + return value.band == GT.filterBand; }); } - if (g_filterMode != "Mixed") + if (GT.filterMode != "Mixed") { list = list.filter(function (value) { if ( - g_filterMode == "Phone" && - value.mode in g_modes_phone && - g_modes_phone[value.mode] + GT.filterMode == "Phone" && + value.mode in GT.modes_phone && + GT.modes_phone[value.mode] ) { return true; } if ( - g_filterMode == "Digital" && - value.mode in g_modes && - g_modes[value.mode] + GT.filterMode == "Digital" && + value.mode in GT.modes && + GT.modes[value.mode] ) { return true; } - return value.mode == g_filterMode; + return value.mode == GT.filterMode; }); } - if (g_filterDxcc != 0) + if (GT.filterDxcc != 0) { list = list.filter(function (value) { - return value.dxcc == g_filterDxcc; + return value.dxcc == GT.filterDxcc; }); } - if (g_filterQSL != "All") + if (GT.filterQSL != "All") { list = list.filter(function (value) { - return value.confirmed == (g_filterQSL == "true"); + return value.confirmed == (GT.filterQSL == "true"); }); } @@ -7922,63 +7923,63 @@ function showWorkedBox(sortIndex, nextPage, redraw) if (typeof nextPage == "undefined") { nextPage = 0; - if (g_lastSortIndex != mySort) + if (GT.lastSortIndex != mySort) { - list = list.sort(g_sortFunction[mySort]); - g_lastSortIndex = mySort; - g_lastSortType = 1; - g_qsoPage = 0; + list = list.sort(GT.sortFunction[mySort]); + GT.lastSortIndex = mySort; + GT.lastSortType = 1; + GT.qsoPage = 0; } else { - list = list.sort(g_sortFunction[mySort]).reverse(); - g_lastSortIndex = -1; - g_lastSortType = 2; - g_qsoPage = 0; + list = list.sort(GT.sortFunction[mySort]).reverse(); + GT.lastSortIndex = -1; + GT.lastSortType = 2; + GT.qsoPage = 0; } } else { - if (g_lastSortType == 1) + if (GT.lastSortType == 1) { - list = list.sort(g_sortFunction[mySort]); + list = list.sort(GT.sortFunction[mySort]); } else { - list = list.sort(g_sortFunction[mySort]).reverse(); + list = list.sort(GT.sortFunction[mySort]).reverse(); } } } else { - mySort = g_lastSortIndex; + mySort = GT.lastSortIndex; if (mySort == -1) mySort = 4; - if (g_lastSortType == 1) + if (GT.lastSortType == 1) { - list = list.sort(g_sortFunction[mySort]); + list = list.sort(GT.sortFunction[mySort]); } else { - list = list.sort(g_sortFunction[mySort]).reverse(); + list = list.sort(GT.sortFunction[mySort]).reverse(); } } ObjectCount = list.length; - var g_qsoPages = parseInt(ObjectCount / g_qsoItemsPerPage) + 1; + GT.qsoPages = parseInt(ObjectCount / GT.qsoItemsPerPage) + 1; - g_qsoPage += nextPage; - g_qsoPage %= g_qsoPages; - if (g_qsoPage < 0) g_qsoPage = g_qsoPages - 1; + GT.qsoPage += nextPage; + GT.qsoPage %= GT.qsoPages; + if (GT.qsoPage < 0) GT.qsoPage = GT.qsoPages - 1; - var startIndex = g_qsoPage * g_qsoItemsPerPage; - var endIndex = startIndex + g_qsoItemsPerPage; + var startIndex = GT.qsoPage * GT.qsoItemsPerPage; + var endIndex = startIndex + GT.qsoItemsPerPage; if (endIndex > ObjectCount) endIndex = ObjectCount; var workHead = " Entries (" + ObjectCount + ")"; - if (g_qsoPages > 1) + if (GT.qsoPages > 1) { workHead += "
⇦ "; workHead += " Page " + - (g_qsoPage + 1) + + (GT.qsoPage + 1) + " of " + - g_qsoPages + + GT.qsoPages + " (" + (endIndex - startIndex) + ") "; @@ -8004,14 +8005,14 @@ function showWorkedBox(sortIndex, nextPage, redraw) var worker = ""; worker += ""; - worker += ""; - worker += ""; worker += ""; worker += ""; - if (g_callsignLookups.lotwUseEnable == true) worker += ""; - if (g_callsignLookups.eqslUseEnable == true) worker += ""; - if (g_callsignLookups.oqrsUseEnable == true) worker += ""; + if (GT.callsignLookups.lotwUseEnable == true) worker += ""; + if (GT.callsignLookups.eqslUseEnable == true) worker += ""; + if (GT.callsignLookups.oqrsUseEnable == true) worker += ""; worker += ""; var key = null; @@ -8048,7 +8049,7 @@ function showWorkedBox(sortIndex, nextPage, redraw) "\",\"" + key.grid + "\");' >" + - key.DEcall.formatCallsign() + + formatCallsign(key.DEcall) + ""; worker += ""; worker += ""; worker += ""; worker += ""; - if (g_callsignLookups.lotwUseEnable == true) + if (GT.callsignLookups.lotwUseEnable == true) { worker += ""; } - if (g_callsignLookups.eqslUseEnable == true) + if (GT.callsignLookups.eqslUseEnable == true) { worker += ""; } - if (g_callsignLookups.oqrsUseEnable == true) + if (GT.callsignLookups.oqrsUseEnable == true) { worker += ""; } worker += ""; @@ -8133,7 +8134,7 @@ function showWorkedBox(sortIndex, nextPage, redraw) "bandFilterDiv", newSelect, "filterBandFunction", - g_filterBand, + GT.filterBand, true ); @@ -8169,7 +8170,7 @@ function showWorkedBox(sortIndex, nextPage, redraw) "modeFilterDiv", newSelect, "filterModeFunction", - g_filterMode, + GT.filterMode, true ); @@ -8195,7 +8196,7 @@ function showWorkedBox(sortIndex, nextPage, redraw) "dxccFilterDiv", newSelect, "filterDxccFunction", - g_filterDxcc, + GT.filterDxcc, true ); @@ -8221,11 +8222,11 @@ function showWorkedBox(sortIndex, nextPage, redraw) "qslFilterDiv", newSelect, "filterQSLFunction", - g_filterQSL, + GT.filterQSL, true ); - statsFocus(g_lastSearchSelection); + statsFocus(GT.lastSearchSelection); setStatsDivHeight("workedListDiv", getStatsWindowHeight() - 6 + "px"); } @@ -8242,54 +8243,54 @@ function showWorkedBox(sortIndex, nextPage, redraw) function statsValidateCallByElement(elementString) { if ( - g_statsWindowHandle != null && - typeof g_statsWindowHandle.window.validateCallByElement !== "undefined" + GT.statsWindowHandle != null && + typeof GT.statsWindowHandle.window.validateCallByElement !== "undefined" ) { - g_statsWindowHandle.window.validateCallByElement(elementString); + GT.statsWindowHandle.window.validateCallByElement(elementString); } } function statsFocus(selection) { if ( - g_statsWindowHandle != null && - typeof g_statsWindowHandle.window.statsFocus !== "undefined" + GT.statsWindowHandle != null && + typeof GT.statsWindowHandle.window.statsFocus !== "undefined" ) { - g_statsWindowHandle.window.statsFocus(selection); + GT.statsWindowHandle.window.statsFocus(selection); } } function lookupValidateCallByElement(elementString) { if ( - g_lookupWindowHandle != null && g_lookupWindowInitialized && - typeof g_lookupWindowHandle.window.validateCallByElement !== "undefined" + GT.lookupWindowHandle != null && GT.lookupWindowInitialized && + typeof GT.lookupWindowHandle.window.validateCallByElement !== "undefined" ) { - g_lookupWindowHandle.window.validateCallByElement(elementString); + GT.lookupWindowHandle.window.validateCallByElement(elementString); } } function lookupFocus(selection) { if ( - g_lookupWindowHandle != null && g_lookupWindowInitialized && - typeof g_lookupWindowHandle.window.statsFocus !== "undefined" + GT.lookupWindowHandle != null && GT.lookupWindowInitialized && + typeof GT.lookupWindowHandle.window.statsFocus !== "undefined" ) { - g_lookupWindowHandle.window.statsFocus(selection); + GT.lookupWindowHandle.window.statsFocus(selection); } } function statsAppendChild(elementString, object, onInputString, defaultValue) { if ( - g_statsWindowHandle != null && - typeof g_statsWindowHandle.window.appendToChild !== "undefined" + GT.statsWindowHandle != null && + typeof GT.statsWindowHandle.window.appendToChild !== "undefined" ) { - g_statsWindowHandle.window.appendToChild( + GT.statsWindowHandle.window.appendToChild( elementString, object, onInputString, @@ -8306,42 +8307,42 @@ function showDXCCsBox() var List = {}; var ListConfirmed = {}; var ListNotWorked = {}; - for (var key in g_dxccInfo) + for (var key in GT.dxccInfo) { - if (key != -1 && Number(g_dxccInfo[key].dxcc) > 0) + if (key != -1 && Number(GT.dxccInfo[key].dxcc) > 0) { - if (g_dxccInfo[key].worked == true) + if (GT.dxccInfo[key].worked == true) { var item = {}; - item.dxcc = g_dxccInfo[key].dxcc; + item.dxcc = GT.dxccInfo[key].dxcc; - item.flag = g_dxccInfo[key].flag; - item.confirmed = g_dxccInfo[key].confirmed; - List[g_dxccInfo[key].name] = item; + item.flag = GT.dxccInfo[key].flag; + item.confirmed = GT.dxccInfo[key].confirmed; + List[GT.dxccInfo[key].name] = item; worked++; } - if (g_dxccInfo[key].confirmed == true) + if (GT.dxccInfo[key].confirmed == true) { var item = {}; - item.dxcc = g_dxccInfo[key].dxcc; + item.dxcc = GT.dxccInfo[key].dxcc; - item.flag = g_dxccInfo[key].flag; - item.confirmed = g_dxccInfo[key].confirmed; - ListConfirmed[g_dxccInfo[key].name] = item; + item.flag = GT.dxccInfo[key].flag; + item.confirmed = GT.dxccInfo[key].confirmed; + ListConfirmed[GT.dxccInfo[key].name] = item; confirmed++; } if ( - g_dxccInfo[key].worked == false && - g_dxccInfo[key].confirmed == false && - g_dxccInfo[key].pp != "" && - g_dxccInfo[key].geo != "deleted" + GT.dxccInfo[key].worked == false && + GT.dxccInfo[key].confirmed == false && + GT.dxccInfo[key].pp != "" && + GT.dxccInfo[key].geo != "deleted" ) { var item = {}; - item.dxcc = g_dxccInfo[key].dxcc; - item.flag = g_dxccInfo[key].flag; - item.confirmed = g_dxccInfo[key].confirmed; - ListNotWorked[g_dxccInfo[key].name] = item; + item.dxcc = GT.dxccInfo[key].dxcc; + item.flag = GT.dxccInfo[key].flag; + item.confirmed = GT.dxccInfo[key].confirmed; + ListNotWorked[GT.dxccInfo[key].name] = item; needed++; } } @@ -8436,15 +8437,15 @@ function showDXCCsBox() Object.keys(List).forEach(function (key, i) { - var band = g_appSettings.gtBandFilter == "auto" ? myBand : g_appSettings.gtBandFilter.length == 0 ? "" : g_appSettings.gtBandFilter; + var band = GT.appSettings.gtBandFilter == "auto" ? myBand : GT.appSettings.gtBandFilter.length == 0 ? "" : GT.appSettings.gtBandFilter; var unconfirmedCallsKey = new UnconfirmedCallsKey(List[key].dxcc, band); - if (g_unconfirmedCalls.has(unconfirmedCallsKey.key) && g_unconfirmedCalls.get(unconfirmedCallsKey.key) != unconfirmedCallsSentinel) + if (GT.unconfirmedCalls.has(unconfirmedCallsKey.key) && GT.unconfirmedCalls.get(unconfirmedCallsKey.key) != GT.unconfirmedCallsSentinel) { var onMousedown = function (e) { if (e.which === 1) { - if (g_popupWindowHandle == null) + if (GT.popupWindowHandle == null) { popupNewWindows(); var gui = require("nw.gui"); @@ -8456,15 +8457,15 @@ function showDXCCsBox() }, function (new_win) { - g_popupWindowHandle = new_win; + GT.popupWindowHandle = new_win; new_win.on("loaded", function () { - g_popupWindowHandle.show(); - renderTooltipWindowLogbook(g_unconfirmedCalls.get(unconfirmedCallsKey.key)); + GT.popupWindowHandle.show(); + renderTooltipWindowLogbook(GT.unconfirmedCalls.get(unconfirmedCallsKey.key)); }); new_win.on("close", function () { - g_popupWindowHandle.hide(); + GT.popupWindowHandle.hide(); }); } ); @@ -8472,11 +8473,11 @@ function showDXCCsBox() } else { - renderTooltipWindowLogbook(g_unconfirmedCalls.get(unconfirmedCallsKey.key)); + renderTooltipWindowLogbook(GT.unconfirmedCalls.get(unconfirmedCallsKey.key)); } } }; - var unconfirmedTd = g_statsWindowHandle.window.document.getElementById("unconfirmed" + List[key].dxcc + "Id"); + var unconfirmedTd = GT.statsWindowHandle.window.document.getElementById("unconfirmed" + List[key].dxcc + "Id"); if (unconfirmedTd != null) { unconfirmedTd.addEventListener("mousedown", onMousedown); } } }); @@ -8488,7 +8489,7 @@ function showCQzoneBox() worker += "
Worked CQ Zones
"; - worker += displayItemList(g_cqZones, "#FFFFFF"); + worker += displayItemList(GT.cqZones, "#FFFFFF"); worker += "
"; setStatsDiv("cqzoneListDiv", worker); @@ -8500,7 +8501,7 @@ function showITUzoneBox() worker += "
Worked ITU Zones
"; - worker += displayItemList(g_ituZones, "#FFFFFF"); + worker += displayItemList(GT.ituZones, "#FFFFFF"); worker += "
"; setStatsDiv("ituzoneListDiv", worker); @@ -8512,12 +8513,12 @@ function showWASWACzoneBox() worker += "
Worked All Continents
"; - worker += displayItemList(g_wacZones, "#90EE90"); + worker += displayItemList(GT.wacZones, "#90EE90"); worker += "
"; worker += "
Worked All States
"; - worker += displayItemList(g_wasZones, "#00DDDD"); + worker += displayItemList(GT.wasZones, "#00DDDD"); worker += "
"; setStatsDiv("waswacListDiv", worker); @@ -8593,8 +8594,8 @@ function displayItemList(table, color) function showWPXBox() { var worker = getCurrentBandModeHTML(); - var band = g_appSettings.gtBandFilter == "auto" ? myBand : g_appSettings.gtBandFilter.length == 0 ? "" : g_appSettings.gtBandFilter; - var mode = g_appSettings.gtModeFilter == "auto" ? myMode : g_appSettings.gtModeFilter.length == 0 ? "" : g_appSettings.gtModeFilter; + var band = GT.appSettings.gtBandFilter == "auto" ? myBand : GT.appSettings.gtBandFilter.length == 0 ? "" : GT.appSettings.gtBandFilter; + var mode = GT.appSettings.gtModeFilter == "auto" ? myMode : GT.appSettings.gtModeFilter.length == 0 ? "" : GT.appSettings.gtModeFilter; if (mode == "Digital") { mode = "dg"; } if (mode == "Phone") { mode = "ph"; } @@ -8605,17 +8606,17 @@ function showWPXBox() var List = {}; var ListConfirmed = {}; - for (var key in g_tracker.worked.px) + for (var key in GT.tracker.worked.px) { - if (typeof g_tracker.worked.px[key] == "string" && key + modifier in g_tracker.worked.px) + if (typeof GT.tracker.worked.px[key] == "string" && key + modifier in GT.tracker.worked.px) { List[key] = key; } } - for (var key in g_tracker.confirmed.px) + for (var key in GT.tracker.confirmed.px) { - if (typeof g_tracker.confirmed.px[key] == "string" && key + modifier in g_tracker.confirmed.px) + if (typeof GT.tracker.confirmed.px[key] == "string" && key + modifier in GT.tracker.confirmed.px) { ListConfirmed[key] = key; } @@ -8640,9 +8641,9 @@ function showWPXBox() { worker += ""; }); @@ -8668,7 +8669,7 @@ function showWPXBox() ""; }); @@ -8695,7 +8696,7 @@ function showSettingsBox() { updateRunningProcesses(); helpDiv.style.display = "none"; - g_helpShow = false; + GT.helpShow = false; rootSettingsDiv.style.display = "inline-block"; } } @@ -8704,13 +8705,13 @@ function toggleBaWindow(event) { event.preventDefault(); - if (g_baWindowHandle == null) + if (GT.baWindowHandle == null) { openBaWindow(true); } else { - if (g_baWindowHandle.window.g_isShowing == true) + if (GT.baWindowHandle.window.isShowing == true) { openBaWindow(false); } @@ -8723,7 +8724,7 @@ function toggleBaWindow(event) function openBaWindow(show = true) { - if (g_baWindowHandle == null) + if (GT.baWindowHandle == null) { popupNewWindows(); var gui = require("nw.gui"); @@ -8738,16 +8739,16 @@ function openBaWindow(show = true) }, function (new_win) { - g_baWindowHandle = new_win; + GT.baWindowHandle = new_win; new_win.on("loaded", function () { - g_baWindowHandle.setMinimumSize(198, 52); + GT.baWindowHandle.setMinimumSize(198, 52); }); new_win.on("close", function () { - g_baWindowHandle.window.g_isShowing = false; - g_baWindowHandle.window.saveScreenSettings(); - g_baWindowHandle.hide(); + GT.baWindowHandle.window.isShowing = false; + GT.baWindowHandle.window.saveScreenSettings(); + GT.baWindowHandle.hide(); }); } ); @@ -8759,15 +8760,15 @@ function openBaWindow(show = true) { if (show == true) { - g_baWindowHandle.show(); - g_baWindowHandle.window.g_isShowing = true; - g_baWindowHandle.window.saveScreenSettings(); + GT.baWindowHandle.show(); + GT.baWindowHandle.window.isShowing = true; + GT.baWindowHandle.window.saveScreenSettings(); } else { - g_baWindowHandle.window.g_isShowing = false; - g_baWindowHandle.window.saveScreenSettings(); - g_baWindowHandle.hide(); + GT.baWindowHandle.window.isShowing = false; + GT.baWindowHandle.window.saveScreenSettings(); + GT.baWindowHandle.hide(); } } catch (e) @@ -8779,7 +8780,7 @@ function openBaWindow(show = true) function openLookupWindow(show = false) { - if (g_lookupWindowHandle == null) + if (GT.lookupWindowHandle == null) { popupNewWindows(); var gui = require("nw.gui"); @@ -8792,17 +8793,17 @@ function openLookupWindow(show = false) }, function (new_win) { - g_lookupWindowHandle = new_win; + GT.lookupWindowHandle = new_win; new_win.on("loaded", function () { - g_lookupWindowHandle.setMinimumSize(680, 200); - g_lookupWindowHandle.setResizable(true); + GT.lookupWindowHandle.setMinimumSize(680, 200); + GT.lookupWindowHandle.setResizable(true); }); new_win.on("close", function () { - g_lookupWindowHandle.window.g_isShowing = false; - g_lookupWindowHandle.window.saveScreenSettings(); - g_lookupWindowHandle.hide(); + GT.lookupWindowHandle.window.isShowing = false; + GT.lookupWindowHandle.window.saveScreenSettings(); + GT.lookupWindowHandle.hide(); }); } ); @@ -8814,15 +8815,15 @@ function openLookupWindow(show = false) { if (show) { - g_lookupWindowHandle.show(); - g_lookupWindowHandle.window.g_isShowing = true; - g_lookupWindowHandle.window.saveScreenSettings(); + GT.lookupWindowHandle.show(); + GT.lookupWindowHandle.window.isShowing = true; + GT.lookupWindowHandle.window.saveScreenSettings(); } else { - g_lookupWindowHandle.hide(); - g_lookupWindowHandle.window.g_isShowing = false; - g_lookupWindowHandle.window.saveScreenSettings(); + GT.lookupWindowHandle.hide(); + GT.lookupWindowHandle.window.isShowing = false; + GT.lookupWindowHandle.window.saveScreenSettings(); } } catch (e) @@ -8836,12 +8837,12 @@ function openInfoTab(evt, tabName, callFunc, callObj) { openStatsWindow(); - if (g_statsWindowHandle != null) + if (GT.statsWindowHandle != null) { // Declare all variables var i, infoTabcontent, infoTablinks; // Get all elements with class="infoTabcontent" and hide them - infoTabcontent = g_statsWindowHandle.window.document.getElementsByClassName( + infoTabcontent = GT.statsWindowHandle.window.document.getElementsByClassName( "infoTabcontent" ); for (i = 0; i < infoTabcontent.length; i++) @@ -8849,7 +8850,7 @@ function openInfoTab(evt, tabName, callFunc, callObj) infoTabcontent[i].style.display = "none"; } // Get all elements with class="infoTablinks" and remove the class "active" - infoTablinks = g_statsWindowHandle.window.document.getElementsByClassName( + infoTablinks = GT.statsWindowHandle.window.document.getElementsByClassName( "infoTablinks" ); for (i = 0; i < infoTablinks.length; i++) @@ -8861,12 +8862,12 @@ function openInfoTab(evt, tabName, callFunc, callObj) } // Show the current tab, and add an "active" class to the button that opened the tab - g_statsWindowHandle.window.document.getElementById(tabName).style.display = + GT.statsWindowHandle.window.document.getElementById(tabName).style.display = "block"; if (evt) { - evt = g_statsWindowHandle.window.document.getElementById(evt); + evt = GT.statsWindowHandle.window.document.getElementById(evt); } if (evt) { @@ -8910,16 +8911,16 @@ function openSettingsTab(evt, tabName) function setGridMode(mode) { - g_appSettings.sixWideMode = mode; - modeImg.src = g_maidenheadModeImageArray[g_appSettings.sixWideMode]; + GT.appSettings.sixWideMode = mode; + modeImg.src = GT.maidenheadModeImageArray[GT.appSettings.sixWideMode]; clearTempGrids(); redrawGrids(); } function toggleGridMode() { - g_appSettings.sixWideMode ^= 1; - modeImg.src = g_maidenheadModeImageArray[g_appSettings.sixWideMode]; + GT.appSettings.sixWideMode ^= 1; + modeImg.src = GT.maidenheadModeImageArray[GT.appSettings.sixWideMode]; clearTempGrids(); redrawGrids(); } @@ -8978,11 +8979,11 @@ function newModeType() return modeType; } -var g_statBoxTimer = null; +GT.statBoxTimer = null; function showStatBox(resize) { - var count = Object.keys(g_QSOhash).length; + var count = Object.keys(GT.QSOhash).length; if (typeof resize != "undefined" && resize) { @@ -8990,7 +8991,7 @@ function showStatBox(resize) return; } - if (g_statBoxTimer) nodeTimers.clearTimeout(g_statBoxTimer); + if (GT.statBoxTimer) nodeTimers.clearTimeout(GT.statBoxTimer); if (count > 0) { @@ -8999,7 +9000,7 @@ function showStatBox(resize) " 
...Parsing Log Entries...
 " ); setStatsDivHeight("statViewDiv", "auto"); - g_statBoxTimer = nodeTimers.setTimeout(renderStatsBox, 250); + GT.statBoxTimer = nodeTimers.setTimeout(renderStatsBox, 250); } else { @@ -9013,10 +9014,10 @@ function showStatBox(resize) function getTypeFromMode(mode) { - if (mode in g_modes) + if (mode in GT.modes) { - if (g_modes[mode] == true) return "Digital"; - else if (g_modes_phone[mode] == true) return "Phone"; + if (GT.modes[mode] == true) return "Digital"; + else if (GT.modes_phone[mode] == true) return "Phone"; else if (mode == "CW") return "CW"; } return "Other"; @@ -9090,21 +9091,21 @@ function renderStatsBox() scoreSection = "QSO"; - for (var i in g_QSOhash) + for (var i in GT.QSOhash) { - var finalGrid = g_QSOhash[i].grid; - var didConfirm = g_QSOhash[i].confirmed; - var band = g_QSOhash[i].band; - var mode = g_QSOhash[i].mode; - var state = g_QSOhash[i].state; - var cont = g_QSOhash[i].cont; - var finalDxcc = g_QSOhash[i].dxcc; - var cnty = g_QSOhash[i].cnty; - var ituz = g_QSOhash[i].ituz; - var cqz = g_QSOhash[i].cqz; - var wpx = g_QSOhash[i].px; - var call = g_QSOhash[i].DXcall; - var who = g_QSOhash[i].DEcall; + var finalGrid = GT.QSOhash[i].grid; + var didConfirm = GT.QSOhash[i].confirmed; + var band = GT.QSOhash[i].band; + var mode = GT.QSOhash[i].mode; + var state = GT.QSOhash[i].state; + var cont = GT.QSOhash[i].cont; + var finalDxcc = GT.QSOhash[i].dxcc; + var cnty = GT.QSOhash[i].cnty; + var ituz = GT.QSOhash[i].ituz; + var cqz = GT.QSOhash[i].cqz; + var wpx = GT.QSOhash[i].px; + var call = GT.QSOhash[i].DXcall; + var who = GT.QSOhash[i].DEcall; var type = getTypeFromMode(mode); if (!(who in callData)) callData[who] = newStatObject(); @@ -9113,18 +9114,18 @@ function renderStatsBox() details.callsigns[call] = ~~details.callsigns[call] + 1; - if (g_QSOhash[i].time < details.oldest) { details.oldest = g_QSOhash[i].time; } - if (g_QSOhash[i].time > details.newest) { details.newest = g_QSOhash[i].time; } + if (GT.QSOhash[i].time < details.oldest) { details.oldest = GT.QSOhash[i].time; } + if (GT.QSOhash[i].time > details.newest) { details.newest = GT.QSOhash[i].time; } workObject(modet.Mixed, true, band, mode, type, didConfirm); - if (mode in g_modes) + if (mode in GT.modes) { - if (g_modes[mode] == true) + if (GT.modes[mode] == true) { workObject(modet.Digital, true, band, mode, type, didConfirm); } - else if (g_modes_phone[mode] == true) + else if (GT.modes_phone[mode] == true) { workObject(modet.Phone, true, band, mode, type, didConfirm); } @@ -9140,11 +9141,11 @@ function renderStatsBox() { if (state.substr(0, 2) != "US") state = "US-" + state; - if (state in g_StateData) + if (state in GT.StateData) { - var name = g_StateData[state].name; + var name = GT.StateData[state].name; - if (name in g_wasZones) + if (name in GT.wasZones) { if (!(name in wasZones)) wasZones[name] = newStatObject(); @@ -9162,7 +9163,7 @@ function renderStatsBox() if (cnty != null) { - if (cnty in g_cntyToCounty) + if (cnty in GT.cntyToCounty) { if (!(cnty in countyData)) countyData[cnty] = newStatObject(); @@ -9171,10 +9172,10 @@ function renderStatsBox() } if (cont != null) { - if (cont in g_shapeData) + if (cont in GT.shapeData) { - var name = g_shapeData[cont].properties.name; - if (name in g_wacZones) + var name = GT.shapeData[cont].properties.name; + if (name in GT.wacZones) { if (!(name in wacZones)) wacZones[name] = newStatObject(); @@ -9186,7 +9187,7 @@ function renderStatsBox() if (finalGrid.length > 0) { LL = squareToCenter(finalGrid); - unit = parseInt(MyCircle.distance(g_myLat, g_myLon, LL.a, LL.o, distanceUnit.value) * MyCircle.validateRadius(distanceUnit.value)); + unit = parseInt(MyCircle.distance(GT.myLat, GT.myLon, LL.a, LL.o, distanceUnit.value) * MyCircle.validateRadius(distanceUnit.value)); if (unit > long_distance.worked_unit) { @@ -9295,10 +9296,10 @@ function renderStatsBox() if (finalDxcc > 0) { - if (!(g_dxccToAltName[finalDxcc] in dxccInfo)) { dxccInfo[g_dxccToAltName[finalDxcc]] = newStatObject(); } + if (!(GT.dxccToAltName[finalDxcc] in dxccInfo)) { dxccInfo[GT.dxccToAltName[finalDxcc]] = newStatObject(); } workObject( - dxccInfo[g_dxccToAltName[finalDxcc]], + dxccInfo[GT.dxccToAltName[finalDxcc]], false, band, mode, @@ -9309,7 +9310,7 @@ function renderStatsBox() if (cqz && cqz.length > 0) { - var name = g_cqZones[cqz].name; + var name = GT.cqZones[cqz].name; if (!(name in cqZones)) cqZones[name] = newStatObject(); workObject(cqZones[name], false, band, mode, type, didConfirm); @@ -9525,11 +9526,11 @@ function renderStatsBox() distanceUnit.value.toLowerCase(); worker += " " + - g_QSOhash[long_distance.worked_hash].DEcall + + GT.QSOhash[long_distance.worked_hash].DEcall + ""; worker += " " + - g_QSOhash[long_distance.worked_hash].grid + + GT.QSOhash[long_distance.worked_hash].grid + ""; if (long_distance.confirmed_hash && long_distance.confirmed_unit > 0) @@ -9541,11 +9542,11 @@ function renderStatsBox() distanceUnit.value.toLowerCase(); worker += " " + - g_QSOhash[long_distance.confirmed_hash].DEcall + + GT.QSOhash[long_distance.confirmed_hash].DEcall + ""; worker += " " + - g_QSOhash[long_distance.confirmed_hash].grid + + GT.QSOhash[long_distance.confirmed_hash].grid + ""; } else worker += ""; @@ -9560,11 +9561,11 @@ function renderStatsBox() distanceUnit.value.toLowerCase(); worker += " " + - g_QSOhash[short_distance.worked_hash].DEcall + + GT.QSOhash[short_distance.worked_hash].DEcall + ""; worker += " " + - g_QSOhash[short_distance.worked_hash].grid + + GT.QSOhash[short_distance.worked_hash].grid + ""; if (short_distance.confirmed_hash && short_distance.confirmed_unit > 0) @@ -9576,11 +9577,11 @@ function renderStatsBox() distanceUnit.value.toLowerCase(); worker += " " + - g_QSOhash[short_distance.confirmed_hash].DEcall + + GT.QSOhash[short_distance.confirmed_hash].DEcall + ""; worker += " " + - g_QSOhash[short_distance.confirmed_hash].grid + + GT.QSOhash[short_distance.confirmed_hash].grid + ""; } else worker += ""; @@ -9636,8 +9637,8 @@ function renderStatsBox() function hashNameSort(a, b) { - if (g_QSOhash[a].DEcall > g_QSOhash[b].DEcall) return 1; - if (g_QSOhash[b].DEcall > g_QSOhash[a].DEcall) return -1; + if (GT.QSOhash[a].DEcall > GT.QSOhash[b].DEcall) return 1; + if (GT.QSOhash[b].DEcall > GT.QSOhash[a].DEcall) return -1; return 0; } @@ -9656,8 +9657,8 @@ function createDistanceTable(obj, name) var keys = Object.keys(obj.band).sort(numberSort); for (var key in keys) { - var grid = g_QSOhash[obj.band[keys[key]].worked_hash].grid; - var call = g_QSOhash[obj.band[keys[key]].worked_hash].DEcall; + var grid = GT.QSOhash[obj.band[keys[key]].worked_hash].grid; + var call = GT.QSOhash[obj.band[keys[key]].worked_hash].DEcall; worker += ""; worker += ""; worker += ""; @@ -14696,26 +14697,26 @@ function displayLookupObject(lookup, gridPass, fromCache = false) worker += ""; worker += ""; - g_lastLookupAddress = ""; + GT.lastLookupAddress = ""; if (getLookProp(lookup, "addrAttn").length > 0) { worker += ""; worker += ""; worker += ""; } worker += ""; worker += ""; worker += ""; worker += ""; worker += ""; worker += ""; worker += ""; @@ -14724,7 +14725,7 @@ function displayLookupObject(lookup, gridPass, fromCache = false) getLookProp(lookup, "addr2"), joinSpaceIf(getLookProp(lookup, "state"), getLookProp(lookup, "zip")) ); - g_lastLookupAddress += + GT.lastLookupAddress += joinCommaIf( getLookProp(lookup, "addr2"), joinSpaceIf(getLookProp(lookup, "state"), getLookProp(lookup, "zip")) @@ -14735,7 +14736,7 @@ function displayLookupObject(lookup, gridPass, fromCache = false) worker += ""; worker += ""; @@ -14750,7 +14751,7 @@ function displayLookupObject(lookup, gridPass, fromCache = false) "\");'>" + email + ""; - g_lastLookupAddress += email + "\n"; + GT.lastLookupAddress += email + "\n"; } worker += ""; @@ -14818,7 +14819,7 @@ function displayLookupObject(lookup, gridPass, fromCache = false) // worker += makeRow("DXCC", lookup, "dxcc"); worker += ""; worker += makeRow("CQ zone", lookup, "cqzone"); worker += makeRow("ITU zone", lookup, "ituzone"); @@ -14835,13 +14836,13 @@ function displayLookupObject(lookup, gridPass, fromCache = false) worker += ""; - var bearing = parseInt(MyCircle.bearing(g_myLat, g_myLon, Number(lookup.lat), Number(lookup.lon))); + var bearing = parseInt(MyCircle.bearing(GT.myLat, GT.myLon, Number(lookup.lat), Number(lookup.lon))); worker += ""; } worker += makeRow("Grid", lookup, "grid", true); @@ -14864,20 +14865,20 @@ function displayLookupObject(lookup, gridPass, fromCache = false) worker += makeRow("Prefix", lookup, "prefix"); worker += lookup.source; - if (g_callsignLookups.lotwUseEnable == true && thisCall in g_lotwCallsigns) + if (GT.callsignLookups.lotwUseEnable == true && thisCall in GT.lotwCallsigns) { lookup.ulotw = "✔ (" + - userDayString(g_lotwCallsigns[thisCall] * 86400 * 1000) + + userDayString(GT.lotwCallsigns[thisCall] * 86400 * 1000) + ")"; worker += makeRow("LoTW Member", lookup, "ulotw"); } - if (g_callsignLookups.eqslUseEnable == true && thisCall in g_eqslCallsigns) + if (GT.callsignLookups.eqslUseEnable == true && thisCall in GT.eqslCallsigns) { lookup.ueqsl = "✔"; worker += makeRow("eQSL Member", lookup, "ueqsl"); } - if (g_callsignLookups.oqrsUseEnable == true && thisCall in g_oqrsCallsigns) + if (GT.callsignLookups.oqrsUseEnable == true && thisCall in GT.oqrsCallsigns) { lookup.uoqrs = "✔"; worker += makeRow("ClubLog OQRS", lookup, "uoqrs"); @@ -14919,9 +14920,9 @@ function displayLookupObject(lookup, gridPass, fromCache = false) function clearLookup() { - if (g_lookupWindowHandle && g_lookupWindowInitialized) + if (GT.lookupWindowHandle && GT.lookupWindowInitialized) { - g_lookupWindowHandle.window.lookupCallsignInput.value = ""; + GT.lookupWindowHandle.window.lookupCallsignInput.value = ""; lookupValidateCallByElement("lookupCallsignInput"); setLookupDiv("lookupLocalDiv", ""); setLookupDiv("lookupInfoDiv", ""); @@ -15058,7 +15059,7 @@ function startLookup(call, grid) function searchLogForCallsign(call) { setLookupDiv("lookupLocalDiv", ""); - var list = Object.values(g_QSOhash) + var list = Object.values(GT.QSOhash) .filter(function (value) { return value.DEcall == call; @@ -15067,10 +15068,10 @@ function searchLogForCallsign(call) var worker = "" - if (call in g_acknowledgedCalls) + if (call in GT.acknowledgedCalls) { worker = `

GridTracker would like to acknowledge ${call}: ` + - ` ${g_acknowledgedCalls[call].message}

` + ` ${GT.acknowledgedCalls[call].message}` } if (list.length > 0) @@ -15091,10 +15092,10 @@ function searchLogForCallsign(call) } if (list[row].confirmed) { - conf[what] = g_pskColors[list[row].band]; + conf[what] = GT.pskColors[list[row].band]; if (what in work) delete work[what]; } - else if (!(what in conf)) work[what] = g_pskColors[list[row].band]; + else if (!(what in conf)) work[what] = GT.pskColors[list[row].band]; } worker += "
"; - if (g_searchWB.length > 0) + worker += "
"; + if (GT.searchWB.length > 0) { worker += ""; } worker += ""; - if (g_gridSearch.length > 0) + worker += ""; + if (GT.gridSearch.length > 0) { worker += ""; } @@ -8033,9 +8034,9 @@ function showWorkedBox(sortIndex, nextPage, redraw) worker += "DXCCFlagWhenLoTWeQSLOQRSLoTWeQSLOQRS
" + @@ -8063,41 +8064,41 @@ function showWorkedBox(sortIndex, nextPage, redraw) worker += "" + key.RSTrecv + "" + - g_dxccToAltName[key.dxcc] + + GT.dxccToAltName[key.dxcc] + " (" + - (key.dxcc in g_dxccInfo - ? g_dxccInfo[key.dxcc].pp + (key.dxcc in GT.dxccInfo + ? GT.dxccInfo[key.dxcc].pp : "?") + ")" + userTimeString(key.time * 1000) + "" + - (key.DEcall in g_lotwCallsigns ? "✔" : "") + + (key.DEcall in GT.lotwCallsigns ? "✔" : "") + "" + - (key.DEcall in g_eqslCallsigns ? "✔" : "") + + (key.DEcall in GT.eqslCallsigns ? "✔" : "") + "" + - (key.DEcall in g_oqrsCallsigns ? "✔" : "") + + (key.DEcall in GT.oqrsCallsigns ? "✔" : "") + "
" + - key.formatCallsign() + + formatCallsign(key) + "" + - g_QSOhash[g_tracker.worked.px[key]].DEcall.formatCallsign() + + formatCallsign(GT.QSOhash[GT.tracker.worked.px[key]].DEcall) + "
" + key.formatCallsign() + "" + - g_QSOhash[g_tracker.confirmed.px[key]].DEcall.formatCallsign() + + formatCallsign(GT.QSOhash[GT.tracker.confirmed.px[key]].DEcall) + "
" + keys[key] + @@ -9683,8 +9684,8 @@ function createDistanceTable(obj, name) { if (keys[key] in obj.band && obj.band[keys[key]].confirmed_hash) { - var grid = g_QSOhash[obj.band[keys[key]].confirmed_hash].grid; - var call = g_QSOhash[obj.band[keys[key]].confirmed_hash].DEcall; + var grid = GT.QSOhash[obj.band[keys[key]].confirmed_hash].grid; + var call = GT.QSOhash[obj.band[keys[key]].confirmed_hash].DEcall; worker += "
" + keys[key] + @@ -9714,8 +9715,8 @@ function createDistanceTable(obj, name) keys = Object.keys(obj.mode).sort(); for (var key in keys) { - var grid = g_QSOhash[obj.mode[keys[key]].worked_hash].grid; - var call = g_QSOhash[obj.mode[keys[key]].worked_hash].DEcall; + var grid = GT.QSOhash[obj.mode[keys[key]].worked_hash].grid; + var call = GT.QSOhash[obj.mode[keys[key]].worked_hash].DEcall; worker += "
" + keys[key] + @@ -9741,8 +9742,8 @@ function createDistanceTable(obj, name) { if (keys[key] in obj.mode && obj.mode[keys[key]].confirmed_hash) { - var grid = g_QSOhash[obj.mode[keys[key]].confirmed_hash].grid; - var call = g_QSOhash[obj.mode[keys[key]].confirmed_hash].DEcall; + var grid = GT.QSOhash[obj.mode[keys[key]].confirmed_hash].grid; + var call = GT.QSOhash[obj.mode[keys[key]].confirmed_hash].DEcall; worker += "
" + keys[key] + @@ -9771,8 +9772,8 @@ function createDistanceTable(obj, name) keys = Object.keys(obj.type).sort(); for (var key in keys) { - var grid = g_QSOhash[obj.type[keys[key]].worked_hash].grid; - var call = g_QSOhash[obj.type[keys[key]].worked_hash].DEcall; + var grid = GT.QSOhash[obj.type[keys[key]].worked_hash].grid; + var call = GT.QSOhash[obj.type[keys[key]].worked_hash].DEcall; worker += "
" + keys[key] + @@ -9798,8 +9799,8 @@ function createDistanceTable(obj, name) { if (keys[key] in obj.type && obj.type[keys[key]].confirmed_hash) { - var grid = g_QSOhash[obj.type[keys[key]].confirmed_hash].grid; - var call = g_QSOhash[obj.type[keys[key]].confirmed_hash].DEcall; + var grid = GT.QSOhash[obj.type[keys[key]].confirmed_hash].grid; + var call = GT.QSOhash[obj.type[keys[key]].confirmed_hash].DEcall; worker += "
" + keys[key] + @@ -9995,33 +9996,33 @@ function createStatTable(title, infoObject, awardName) function validatePropMode(propMode) { - if (g_appSettings.gtPropFilter == "mixed") return true; + if (GT.appSettings.gtPropFilter == "mixed") return true; - return g_appSettings.gtPropFilter == propMode; + return GT.appSettings.gtPropFilter == propMode; } function validateMapBandAndMode(band, mode) { - if ((g_appSettings.gtBandFilter.length == 0 || (g_appSettings.gtBandFilter == "auto" ? myBand == band : g_appSettings.gtBandFilter == band))) + if ((GT.appSettings.gtBandFilter.length == 0 || (GT.appSettings.gtBandFilter == "auto" ? myBand == band : GT.appSettings.gtBandFilter == band))) { - if (g_appSettings.gtModeFilter.length == 0) return true; + if (GT.appSettings.gtModeFilter.length == 0) return true; - if (g_appSettings.gtModeFilter == "auto") return myMode == mode; + if (GT.appSettings.gtModeFilter == "auto") return myMode == mode; - if (g_appSettings.gtModeFilter == "Digital") + if (GT.appSettings.gtModeFilter == "Digital") { - if (mode in g_modes && g_modes[mode]) return true; + if (mode in GT.modes && GT.modes[mode]) return true; return false; } - if (g_appSettings.gtModeFilter == "Phone") + if (GT.appSettings.gtModeFilter == "Phone") { - if (mode in g_modes_phone && g_modes_phone[mode]) return true; + if (mode in GT.modes_phone && GT.modes_phone[mode]) return true; return false; } - if (g_appSettings.gtModeFilter == "CW" && mode == "CW") return true; + if (GT.appSettings.gtModeFilter == "CW" && mode == "CW") return true; - return g_appSettings.gtModeFilter == mode; + return GT.appSettings.gtModeFilter == mode; } else { @@ -10031,90 +10032,90 @@ function validateMapBandAndMode(band, mode) function redrawGrids() { - if (g_appSettings.gridViewMode == 2) removePaths(); + if (GT.appSettings.gridViewMode == 2) removePaths(); clearGrids(); clearQsoGrids(); - g_QSLcount = 0; - g_QSOcount = 0; + GT.QSLcount = 0; + GT.QSOcount = 0; - for (var i in g_QSOhash) + for (var i in GT.QSOhash) { - var finalGrid = g_QSOhash[i].grid; - var worked = g_QSOhash[i].worked; - var didConfirm = g_QSOhash[i].confirmed; - var band = g_QSOhash[i].band; - var mode = g_QSOhash[i].mode; - g_QSOcount++; - if (didConfirm) g_QSLcount++; + var finalGrid = GT.QSOhash[i].grid; + var worked = GT.QSOhash[i].worked; + var didConfirm = GT.QSOhash[i].confirmed; + var band = GT.QSOhash[i].band; + var mode = GT.QSOhash[i].mode; + GT.QSOcount++; + if (didConfirm) GT.QSLcount++; - if (validateMapBandAndMode(g_QSOhash[i].band, g_QSOhash[i].mode) && validatePropMode(g_QSOhash[i].propMode)) + if (validateMapBandAndMode(GT.QSOhash[i].band, GT.QSOhash[i].mode) && validatePropMode(GT.QSOhash[i].propMode)) { - if (g_appSettings.gridViewMode > 1) + if (GT.appSettings.gridViewMode > 1) { - g_QSOhash[i].rect = qthToQsoBox( - g_QSOhash[i].grid, + GT.QSOhash[i].rect = qthToQsoBox( + GT.QSOhash[i].grid, i, false, - g_QSOhash[i].DXcall, - g_QSOhash[i].worked, - g_QSOhash[i].confirmed, - g_QSOhash[i].band, - g_QSOhash[i].wspr + GT.QSOhash[i].DXcall, + GT.QSOhash[i].worked, + GT.QSOhash[i].confirmed, + GT.QSOhash[i].band, + GT.QSOhash[i].wspr ); - for (var vucc in g_QSOhash[i].vucc_grids) + for (var vucc in GT.QSOhash[i].vucc_grids) { qthToQsoBox( - g_QSOhash[i].vucc_grids[vucc], + GT.QSOhash[i].vucc_grids[vucc], i, false, - g_QSOhash[i].DXcall, - g_QSOhash[i].worked, - g_QSOhash[i].confirmed, - g_QSOhash[i].band, - g_QSOhash[i].wspr + GT.QSOhash[i].DXcall, + GT.QSOhash[i].worked, + GT.QSOhash[i].confirmed, + GT.QSOhash[i].band, + GT.QSOhash[i].wspr ); } } - var state = g_QSOhash[i].state; - var cont = g_QSOhash[i].cont; - var finalDxcc = g_QSOhash[i].dxcc; - var cnty = g_QSOhash[i].cnty; - var ituz = g_QSOhash[i].ituz; - var cqz = g_QSOhash[i].cqz; + var state = GT.QSOhash[i].state; + var cont = GT.QSOhash[i].cont; + var finalDxcc = GT.QSOhash[i].dxcc; + var cnty = GT.QSOhash[i].cnty; + var ituz = GT.QSOhash[i].ituz; + var cqz = GT.QSOhash[i].cqz; if (state != null && isKnownCallsignUS(finalDxcc)) { if (state.substr(0, 2) != "US") state = "US-" + state; - if (state in g_StateData) + if (state in GT.StateData) { - var name = g_StateData[state].name; + var name = GT.StateData[state].name; - if (name in g_wasZones) + if (name in GT.wasZones) { - if (g_wasZones[name].worked == false) + if (GT.wasZones[name].worked == false) { - g_wasZones[name].worked = worked; + GT.wasZones[name].worked = worked; } if (worked) { - g_wasZones[name].worked_bands[band] = - ~~g_wasZones[name].worked_bands[band] + 1; - g_wasZones[name].worked_modes[mode] = - ~~g_wasZones[name].worked_modes[mode] + 1; + GT.wasZones[name].worked_bands[band] = + ~~GT.wasZones[name].worked_bands[band] + 1; + GT.wasZones[name].worked_modes[mode] = + ~~GT.wasZones[name].worked_modes[mode] + 1; } - if (g_wasZones[name].confirmed == false) + if (GT.wasZones[name].confirmed == false) { - g_wasZones[name].confirmed = didConfirm; + GT.wasZones[name].confirmed = didConfirm; } if (didConfirm) { - g_wasZones[name].confirmed_bands[band] = - ~~g_wasZones[name].confirmed_bands[band] + 1; - g_wasZones[name].confirmed_modes[mode] = - ~~g_wasZones[name].confirmed_modes[mode] + 1; + GT.wasZones[name].confirmed_bands[band] = + ~~GT.wasZones[name].confirmed_bands[band] + 1; + GT.wasZones[name].confirmed_modes[mode] = + ~~GT.wasZones[name].confirmed_modes[mode] + 1; } } } @@ -10122,140 +10123,140 @@ function redrawGrids() if (cnty != null) { - if (cnty in g_cntyToCounty) + if (cnty in GT.cntyToCounty) { - if (g_countyData[cnty].worked == false) + if (GT.countyData[cnty].worked == false) { - g_countyData[cnty].worked = worked; + GT.countyData[cnty].worked = worked; } if (worked) { - g_countyData[cnty].worked_bands[band] = - ~~g_countyData[cnty].worked_bands[band] + 1; - g_countyData[cnty].worked_modes[mode] = - ~~g_countyData[cnty].worked_modes[mode] + 1; + GT.countyData[cnty].worked_bands[band] = + ~~GT.countyData[cnty].worked_bands[band] + 1; + GT.countyData[cnty].worked_modes[mode] = + ~~GT.countyData[cnty].worked_modes[mode] + 1; } - if (g_countyData[cnty].confirmed == false) + if (GT.countyData[cnty].confirmed == false) { - g_countyData[cnty].confirmed = didConfirm; + GT.countyData[cnty].confirmed = didConfirm; } if (didConfirm) { - g_countyData[cnty].confirmed_bands[band] = - ~~g_countyData[cnty].confirmed_bands[band] + 1; - g_countyData[cnty].confirmed_modes[mode] = - ~~g_countyData[cnty].confirmed_modes[mode] + 1; + GT.countyData[cnty].confirmed_bands[band] = + ~~GT.countyData[cnty].confirmed_bands[band] + 1; + GT.countyData[cnty].confirmed_modes[mode] = + ~~GT.countyData[cnty].confirmed_modes[mode] + 1; } } } if (cont != null) { - if (cont in g_shapeData) + if (cont in GT.shapeData) { - var name = g_shapeData[cont].properties.name; + var name = GT.shapeData[cont].properties.name; - if (name in g_wacZones) + if (name in GT.wacZones) { - if (g_wacZones[name].worked == false) + if (GT.wacZones[name].worked == false) { - g_wacZones[name].worked = worked; + GT.wacZones[name].worked = worked; } if (worked) { - g_wacZones[name].worked_bands[band] = - ~~g_wacZones[name].worked_bands[band] + 1; - g_wacZones[name].worked_modes[mode] = - ~~g_wacZones[name].worked_modes[mode] + 1; + GT.wacZones[name].worked_bands[band] = + ~~GT.wacZones[name].worked_bands[band] + 1; + GT.wacZones[name].worked_modes[mode] = + ~~GT.wacZones[name].worked_modes[mode] + 1; } - if (g_wacZones[name].confirmed == false) + if (GT.wacZones[name].confirmed == false) { - g_wacZones[name].confirmed = didConfirm; + GT.wacZones[name].confirmed = didConfirm; } if (didConfirm) { - g_wacZones[name].confirmed_bands[band] = - ~~g_wacZones[name].confirmed_bands[band] + 1; - g_wacZones[name].confirmed_modes[mode] = - ~~g_wacZones[name].confirmed_modes[mode] + 1; + GT.wacZones[name].confirmed_bands[band] = + ~~GT.wacZones[name].confirmed_bands[band] + 1; + GT.wacZones[name].confirmed_modes[mode] = + ~~GT.wacZones[name].confirmed_modes[mode] + 1; } } } } - if (g_dxccInfo[finalDxcc].worked == false) + if (GT.dxccInfo[finalDxcc].worked == false) { - g_dxccInfo[finalDxcc].worked = worked; + GT.dxccInfo[finalDxcc].worked = worked; } if (worked) { - g_dxccInfo[finalDxcc].worked_bands[band] = - ~~g_dxccInfo[finalDxcc].worked_bands[band] + 1; - g_dxccInfo[finalDxcc].worked_modes[mode] = - ~~g_dxccInfo[finalDxcc].worked_modes[mode] + 1; + GT.dxccInfo[finalDxcc].worked_bands[band] = + ~~GT.dxccInfo[finalDxcc].worked_bands[band] + 1; + GT.dxccInfo[finalDxcc].worked_modes[mode] = + ~~GT.dxccInfo[finalDxcc].worked_modes[mode] + 1; } - if (g_dxccInfo[finalDxcc].confirmed == false) + if (GT.dxccInfo[finalDxcc].confirmed == false) { - g_dxccInfo[finalDxcc].confirmed = didConfirm; + GT.dxccInfo[finalDxcc].confirmed = didConfirm; } if (didConfirm) { - g_dxccInfo[finalDxcc].confirmed_bands[band] = - ~~g_dxccInfo[finalDxcc].confirmed_bands[band] + + GT.dxccInfo[finalDxcc].confirmed_bands[band] = + ~~GT.dxccInfo[finalDxcc].confirmed_bands[band] + 1; - g_dxccInfo[finalDxcc].confirmed_modes[mode] = - ~~g_dxccInfo[finalDxcc].confirmed_modes[mode] + + GT.dxccInfo[finalDxcc].confirmed_modes[mode] = + ~~GT.dxccInfo[finalDxcc].confirmed_modes[mode] + 1; } if (cqz && cqz.length > 0) { - if (g_cqZones[cqz].worked == false) + if (GT.cqZones[cqz].worked == false) { - g_cqZones[cqz].worked = worked; + GT.cqZones[cqz].worked = worked; } if (worked) { - g_cqZones[cqz].worked_bands[band] = - ~~g_cqZones[cqz].worked_bands[band] + 1; - g_cqZones[cqz].worked_modes[mode] = - ~~g_cqZones[cqz].worked_modes[mode] + 1; + GT.cqZones[cqz].worked_bands[band] = + ~~GT.cqZones[cqz].worked_bands[band] + 1; + GT.cqZones[cqz].worked_modes[mode] = + ~~GT.cqZones[cqz].worked_modes[mode] + 1; } - if (g_cqZones[cqz].confirmed == false) + if (GT.cqZones[cqz].confirmed == false) { - g_cqZones[cqz].confirmed = didConfirm; + GT.cqZones[cqz].confirmed = didConfirm; } if (didConfirm) { - g_cqZones[cqz].confirmed_bands[band] = - ~~g_cqZones[cqz].confirmed_bands[band] + 1; - g_cqZones[cqz].confirmed_modes[mode] = - ~~g_cqZones[cqz].confirmed_modes[mode] + 1; + GT.cqZones[cqz].confirmed_bands[band] = + ~~GT.cqZones[cqz].confirmed_bands[band] + 1; + GT.cqZones[cqz].confirmed_modes[mode] = + ~~GT.cqZones[cqz].confirmed_modes[mode] + 1; } } if (ituz && ituz.length > 0) { - if (g_ituZones[ituz].worked == false) + if (GT.ituZones[ituz].worked == false) { - g_ituZones[ituz].worked = worked; + GT.ituZones[ituz].worked = worked; } if (worked) { - g_ituZones[ituz].worked_bands[band] = - ~~g_ituZones[ituz].worked_bands[band] + 1; - g_ituZones[ituz].worked_modes[mode] = - ~~g_ituZones[ituz].worked_modes[mode] + 1; + GT.ituZones[ituz].worked_bands[band] = + ~~GT.ituZones[ituz].worked_bands[band] + 1; + GT.ituZones[ituz].worked_modes[mode] = + ~~GT.ituZones[ituz].worked_modes[mode] + 1; } - if (g_ituZones[ituz].confirmed == false) + if (GT.ituZones[ituz].confirmed == false) { - g_ituZones[ituz].confirmed = didConfirm; + GT.ituZones[ituz].confirmed = didConfirm; } if (didConfirm) { - g_ituZones[ituz].confirmed_bands[band] = - ~~g_ituZones[ituz].confirmed_bands[band] + 1; - g_ituZones[ituz].confirmed_modes[mode] = - ~~g_ituZones[ituz].confirmed_modes[mode] + 1; + GT.ituZones[ituz].confirmed_bands[band] = + ~~GT.ituZones[ituz].confirmed_bands[band] + 1; + GT.ituZones[ituz].confirmed_modes[mode] = + ~~GT.ituZones[ituz].confirmed_modes[mode] + 1; } } @@ -10263,68 +10264,68 @@ function redrawGrids() { var gridCheck = finalGrid.substr(0, 4); - if (gridCheck in g_us48Data) + if (gridCheck in GT.us48Data) { - if (g_us48Data[gridCheck].worked == false) + if (GT.us48Data[gridCheck].worked == false) { - g_us48Data[gridCheck].worked = worked; + GT.us48Data[gridCheck].worked = worked; } if (worked) { - g_us48Data[gridCheck].worked_bands[band] = - ~~g_us48Data[gridCheck].worked_bands[band] + 1; - g_us48Data[gridCheck].worked_modes[mode] = - ~~g_us48Data[gridCheck].worked_modes[mode] + 1; + GT.us48Data[gridCheck].worked_bands[band] = + ~~GT.us48Data[gridCheck].worked_bands[band] + 1; + GT.us48Data[gridCheck].worked_modes[mode] = + ~~GT.us48Data[gridCheck].worked_modes[mode] + 1; } - if (g_us48Data[gridCheck].confirmed == false) + if (GT.us48Data[gridCheck].confirmed == false) { - g_us48Data[gridCheck].confirmed = didConfirm; + GT.us48Data[gridCheck].confirmed = didConfirm; } if (didConfirm) { - g_us48Data[gridCheck].confirmed_bands[band] = - ~~g_us48Data[gridCheck].confirmed_bands[band] + 1; - g_us48Data[gridCheck].confirmed_modes[mode] = - ~~g_us48Data[gridCheck].confirmed_modes[mode] + 1; + GT.us48Data[gridCheck].confirmed_bands[band] = + ~~GT.us48Data[gridCheck].confirmed_bands[band] + 1; + GT.us48Data[gridCheck].confirmed_modes[mode] = + ~~GT.us48Data[gridCheck].confirmed_modes[mode] + 1; } } } - for (var key in g_QSOhash[i].vucc_grids) + for (var key in GT.QSOhash[i].vucc_grids) { - var grid = g_QSOhash[i].vucc_grids[key].substr(0, 4); - if (grid in g_us48Data) + var grid = GT.QSOhash[i].vucc_grids[key].substr(0, 4); + if (grid in GT.us48Data) { - if (g_us48Data[grid].worked == false) + if (GT.us48Data[grid].worked == false) { - g_us48Data[grid].worked = worked; + GT.us48Data[grid].worked = worked; } if (worked) { - g_us48Data[grid].worked_bands[band] = - ~~g_us48Data[grid].worked_bands[band] + 1; - g_us48Data[grid].worked_modes[mode] = - ~~g_us48Data[grid].worked_modes[mode] + 1; + GT.us48Data[grid].worked_bands[band] = + ~~GT.us48Data[grid].worked_bands[band] + 1; + GT.us48Data[grid].worked_modes[mode] = + ~~GT.us48Data[grid].worked_modes[mode] + 1; } - if (g_us48Data[grid].confirmed == false) + if (GT.us48Data[grid].confirmed == false) { - g_us48Data[grid].confirmed = didConfirm; + GT.us48Data[grid].confirmed = didConfirm; } if (didConfirm) { - g_us48Data[grid].confirmed_bands[band] = - ~~g_us48Data[grid].confirmed_bands[band] + 1; - g_us48Data[grid].confirmed_modes[mode] = - ~~g_us48Data[grid].confirmed_modes[mode] + 1; + GT.us48Data[grid].confirmed_bands[band] = + ~~GT.us48Data[grid].confirmed_bands[band] + 1; + GT.us48Data[grid].confirmed_modes[mode] = + ~~GT.us48Data[grid].confirmed_modes[mode] + 1; } } } } } - for (var layer in g_viewInfo) + for (var layer in GT.viewInfo) { - var search = window[g_viewInfo[layer][0]]; + var search = window[GT.viewInfo[layer][0]]; var worked = (confirmed = 0); if (layer == 0) @@ -10334,8 +10335,8 @@ function redrawGrids() if (search[key].rectangle.worked) worked++; if (search[key].rectangle.confirmed) confirmed++; } - g_viewInfo[layer][2] = worked; - g_viewInfo[layer][3] = confirmed; + GT.viewInfo[layer][2] = worked; + GT.viewInfo[layer][3] = confirmed; } else if (layer == 5) { @@ -10347,8 +10348,8 @@ function redrawGrids() if (search[key].confirmed) confirmed++; } } - g_viewInfo[layer][2] = worked; - g_viewInfo[layer][3] = confirmed; + GT.viewInfo[layer][2] = worked; + GT.viewInfo[layer][3] = confirmed; } else { @@ -10357,25 +10358,25 @@ function redrawGrids() if (search[key].worked) worked++; if (search[key].confirmed) confirmed++; } - g_viewInfo[layer][2] = worked; - g_viewInfo[layer][3] = confirmed; + GT.viewInfo[layer][2] = worked; + GT.viewInfo[layer][3] = confirmed; } } - for (var i in g_liveCallsigns) + for (var i in GT.liveCallsigns) { - if (g_appSettings.gridViewMode != 2 && validateMapBandAndMode(g_liveCallsigns[i].band, g_liveCallsigns[i].mode)) + if (GT.appSettings.gridViewMode != 2 && validateMapBandAndMode(GT.liveCallsigns[i].band, GT.liveCallsigns[i].mode)) { - if (g_appSettings.gridViewMode == 1 || g_appSettings.gridViewMode == 3) + if (GT.appSettings.gridViewMode == 1 || GT.appSettings.gridViewMode == 3) { - g_liveCallsigns[i].rect = qthToBox( - g_liveCallsigns[i].grid, - g_liveCallsigns[i].DEcall, + GT.liveCallsigns[i].rect = qthToBox( + GT.liveCallsigns[i].grid, + GT.liveCallsigns[i].DEcall, false, false, - g_liveCallsigns[i].DXcall, - g_liveCallsigns[i].band, - g_liveCallsigns[i].wspr, + GT.liveCallsigns[i].DXcall, + GT.liveCallsigns[i].band, + GT.liveCallsigns[i].wspr, i ); } @@ -10384,15 +10385,15 @@ function redrawGrids() reloadInfo(false); setHomeGridsquare(); - setTrophyOverlay(g_currentOverlay); + setTrophyOverlay(GT.currentOverlay); updateCountStats(); } function toggleAlertMute() { - g_appSettings.alertMute ^= 1; - alertMuteImg.src = g_alertImageArray[g_appSettings.alertMute]; - if (g_appSettings.alertMute == 1) + GT.appSettings.alertMute ^= 1; + alertMuteImg.src = GT.alertImageArray[GT.appSettings.alertMute]; + if (GT.appSettings.alertMute == 1) { chrome.tts.stop(); } @@ -10400,26 +10401,26 @@ function toggleAlertMute() function togglePushPinMode() { - if (g_pushPinMode == false) g_pushPinMode = true; - else g_pushPinMode = false; - g_appSettings.pushPinMode = g_pushPinMode; - pinImg.src = g_pinImageArray[g_pushPinMode == false ? 0 : 1]; + if (GT.pushPinMode == false) GT.pushPinMode = true; + else GT.pushPinMode = false; + GT.appSettings.pushPinMode = GT.pushPinMode; + pinImg.src = GT.pinImageArray[GT.pushPinMode == false ? 0 : 1]; clearTempGrids(); redrawGrids(); } function stopAsking(checkbox) { - g_appSettings.stopAskingVersion = checkbox.checked; + GT.appSettings.stopAskingVersion = checkbox.checked; } function toggleGtShareEnable() { - if (g_appSettings.gtShareEnable == true) + if (GT.appSettings.gtShareEnable == true) { - g_appSettings.gtShareEnable = false; + GT.appSettings.gtShareEnable = false; } - else g_appSettings.gtShareEnable = true; + else GT.appSettings.gtShareEnable = true; setGtShareButtons(); goProcessRoster(); @@ -10427,44 +10428,44 @@ function toggleGtShareEnable() function setGtShareButtons() { - if (g_appSettings.gtShareEnable == true && g_mapSettings.offlineMode == false) + if (GT.appSettings.gtShareEnable == true && GT.mapSettings.offlineMode == false) { - if (g_appSettings.gtMsgEnable == true) { msgButton.style.display = "inline-block"; } + if (GT.appSettings.gtMsgEnable == true) { msgButton.style.display = "inline-block"; } else msgButton.style.display = "none"; gtFlagButton.style.display = "inline-block"; - if (g_appSettings.gtFlagImgSrc > 0) + if (GT.appSettings.gtFlagImgSrc > 0) { - g_layerVectors.gtflags.setVisible(true); + GT.layerVectors.gtflags.setVisible(true); } else { - g_layerVectors.gtflags.setVisible(false); + GT.layerVectors.gtflags.setVisible(false); } } else { - g_oamsBandActivityData = null; + GT.oamsBandActivityData = null; renderBandActivity(); msgButton.style.display = "none"; gtFlagButton.style.display = "none"; - g_layerVectors.gtflags.setVisible(false); + GT.layerVectors.gtflags.setVisible(false); clearGtFlags(); // Clear list - g_gtFlagPins = Object() - g_gtMessages = Object(); - g_gtUnread = Object(); - g_gtCallsigns = Object(); - g_gtSentAwayToCid = Object(); + GT.gtFlagPins = Object() + GT.gtMessages = Object(); + GT.gtUnread = Object(); + GT.gtCallsigns = Object(); + GT.gtSentAwayToCid = Object(); - if (g_chatWindowHandle != null) + if (GT.chatWindowHandle != null) { try { - g_chatWindowHandle.hide(); - g_chatWindowHandle.window.allCallDiv.innerHTML = ""; - g_chatWindowHandle.window.updateCount(); + GT.chatWindowHandle.hide(); + GT.chatWindowHandle.window.allCallDiv.innerHTML = ""; + GT.chatWindowHandle.window.updateCount(); } catch (e) { @@ -10474,12 +10475,12 @@ function setGtShareButtons() goProcessRoster(); } - gtShareFlagImg.src = g_gtShareFlagImageArray[g_appSettings.gtShareEnable == false ? 0 : 1]; + gtShareFlagImg.src = GT.gtShareFlagImageArray[GT.appSettings.gtShareEnable == false ? 0 : 1]; } function setMulticastIp() { - g_appSettings.wsjtIP = multicastIpInput.value; + GT.appSettings.wsjtIP = multicastIpInput.value; } function setMulticastEnable(checkbox) @@ -10489,19 +10490,19 @@ function setMulticastEnable(checkbox) multicastTD.style.display = "block"; if (ValidateMulticast(multicastIpInput)) { - g_appSettings.wsjtIP = multicastIpInput.value; + GT.appSettings.wsjtIP = multicastIpInput.value; } else { - g_appSettings.wsjtIP = ""; + GT.appSettings.wsjtIP = ""; } } else { multicastTD.style.display = "none"; - g_appSettings.wsjtIP = ""; + GT.appSettings.wsjtIP = ""; } - g_appSettings.multicast = checkbox.checked; + GT.appSettings.multicast = checkbox.checked; } function setUdpForwardEnable(checkbox) @@ -10517,35 +10518,35 @@ function setUdpForwardEnable(checkbox) ValidateIPaddress(udpForwardIpInput, null) ) { - g_appSettings.wsjtForwardUdpEnable = checkbox.checked; + GT.appSettings.wsjtForwardUdpEnable = checkbox.checked; return; } } checkbox.checked = false; - g_appSettings.wsjtForwardUdpEnable = checkbox.checked; + GT.appSettings.wsjtForwardUdpEnable = checkbox.checked; } function setGTspotEnable(checkbox) { - g_appSettings.gtSpotEnable = checkbox.checked; + GT.appSettings.gtSpotEnable = checkbox.checked; - if (g_appSettings.gtSpotEnable == false) + if (GT.appSettings.gtSpotEnable == false) { - g_spotCollector = {}; - g_spotDetailsCollector = {}; - g_decodeCollector = {}; + GT.spotCollector = {}; + GT.spotDetailsCollector = {}; + GT.decodeCollector = {}; } - g_gtLiveStatusUpdate = true; + GT.gtLiveStatusUpdate = true; } function setOamsBandActivity(checkbox) { - g_appSettings.oamsBandActivity = checkbox.checked; + GT.appSettings.oamsBandActivity = checkbox.checked; - if (g_appSettings.oamsBandActivity == false) + if (GT.appSettings.oamsBandActivity == false) { bandActivityNeighborDiv.style.display = "none"; - g_oamsBandActivityData = null; + GT.oamsBandActivityData = null; } else { @@ -10557,36 +10558,36 @@ function setOamsBandActivity(checkbox) function setOamsBandActivityNeighbors(checkbox) { - g_appSettings.oamsBandActivityNeighbors = checkbox.checked; + GT.appSettings.oamsBandActivityNeighbors = checkbox.checked; oamsBandActivityCheck(); } function setMsgEnable(checkbox) { - g_appSettings.gtMsgEnable = checkbox.checked; - if (g_appSettings.gtShareEnable == true) + GT.appSettings.gtMsgEnable = checkbox.checked; + if (GT.appSettings.gtShareEnable == true) { - if (g_appSettings.gtMsgEnable == true) { msgButton.style.display = "inline-block"; } + if (GT.appSettings.gtMsgEnable == true) { msgButton.style.display = "inline-block"; } else { msgButton.style.display = "none"; - if (g_chatWindowHandle != null) + if (GT.chatWindowHandle != null) { - g_chatWindowHandle.hide(); + GT.chatWindowHandle.hide(); } } } goProcessRoster(); - g_gtLiveStatusUpdate = true; + GT.gtLiveStatusUpdate = true; setMsgSettingsView(); } function newMessageSetting(whichSetting) { - if (whichSetting.id in g_msgSettings) + if (whichSetting.id in GT.msgSettings) { - g_msgSettings[whichSetting.id] = whichSetting.value; - localStorage.msgSettings = JSON.stringify(g_msgSettings); + GT.msgSettings[whichSetting.id] = whichSetting.value; + localStorage.msgSettings = JSON.stringify(GT.msgSettings); setMsgSettingsView(); } } @@ -10607,7 +10608,7 @@ function checkForNewVersion(showUptoDate = false) function downloadAcknowledgements() { - if (g_mapSettings.offlineMode == false) + if (GT.mapSettings.offlineMode == false) { getBuffer( "https://storage.googleapis.com/gt_app/acknowledgements.json", @@ -10621,7 +10622,7 @@ function downloadAcknowledgements() } } -var g_non_us_bands = [ +GT.non_us_bands = [ "630m", "160m", "80m", @@ -10638,7 +10639,7 @@ var g_non_us_bands = [ "2m" ]; -var g_us_bands = [ +GT.us_bands = [ "630m", "160m", "80m", @@ -10657,10 +10658,10 @@ var g_us_bands = [ function renderBandActivity() { var buffer = ""; - if (typeof g_bandActivity.lines[myMode] != "undefined" || g_oamsBandActivityData != null) + if (typeof GT.bandActivity.lines[myMode] != "undefined" || GT.oamsBandActivityData != null) { - var lines = (myMode in g_bandActivity.lines) ? g_bandActivity.lines[myMode] : []; - var bands = (g_myDXCC in g_callsignDatabaseUSplus) ? g_us_bands : g_non_us_bands; + var lines = (myMode in GT.bandActivity.lines) ? GT.bandActivity.lines[myMode] : []; + var bands = (GT.myDXCC in GT.callsignDatabaseUSplus) ? GT.us_bands : GT.non_us_bands; var bandData = {}; var maxValue = 0; @@ -10676,7 +10677,7 @@ function renderBandActivity() { // doesn't begins with # and has something var values = lines[x].trim().split(" "); - var band = Number(Number(values[0]) / 1000000).formatBand(); + var band = formatBand(Number(Number(values[0]) / 1000000)); if (band in bandData) { @@ -10692,16 +10693,16 @@ function renderBandActivity() } } - if (g_appSettings.gtShareEnable == true && g_appSettings.oamsBandActivity == true && g_oamsBandActivityData) + if (GT.appSettings.gtShareEnable == true && GT.appSettings.oamsBandActivity == true && GT.oamsBandActivityData) { - for (const grid in g_oamsBandActivityData) + for (const grid in GT.oamsBandActivityData) { - for (const band in g_oamsBandActivityData[grid]) + for (const band in GT.oamsBandActivityData[grid]) { if (band in bandData) { var place = bandData[band]; - var data = g_oamsBandActivityData[grid][band]; + var data = GT.oamsBandActivityData[grid][band]; place.oamsScore ??= 0; place.oamsDecodes += data.d; @@ -10735,7 +10736,7 @@ function renderBandActivity() let title; let blueBarValue; - if (g_appSettings.gtShareEnable == true && g_appSettings.oamsBandActivity == true) + if (GT.appSettings.gtShareEnable == true && GT.appSettings.oamsBandActivity == true) { title = "OAMS\n"; title += "\tScore: " + bandData[band].oamsScore + "\n\tDecodes: " + bandData[band].oamsDecodes + "\n\tTX-Spots: " + bandData[band].oamsTxSpots + "\n\tRX-Spots: " + bandData[band].oamsRxSpots + "\n\tTx: " + bandData[band].oamsTx + "\tRx: " + bandData[band].oamsRx; @@ -10760,9 +10761,9 @@ function renderBandActivity() buffer = "..no data yet.."; } graphDiv.innerHTML = buffer; - if (g_baWindowInitialized == true) + if (GT.baWindowInitialized == true) { - g_baWindowHandle.window.graphDiv.innerHTML = buffer; + GT.baWindowHandle.window.graphDiv.innerHTML = buffer; } } @@ -10772,9 +10773,9 @@ function pskBandActivityCallback(buffer, flag) if (result.indexOf("frequency score") > -1) { // looks good so far - g_bandActivity.lines[myMode] = result.split("\n"); - g_bandActivity.lastUpdate[myMode] = g_timeNow + 600; - localStorage.bandActivity = JSON.stringify(g_bandActivity); + GT.bandActivity.lines[myMode] = result.split("\n"); + GT.bandActivity.lastUpdate[myMode] = GT.timeNow + 600; + localStorage.bandActivity = JSON.stringify(GT.bandActivity); } renderBandActivity(); @@ -10791,13 +10792,13 @@ function pskBandActivityCallback(buffer, flag) */ function pskGetBandActivity() { - if (g_mapSettings.offlineMode == true) return; - if (typeof g_bandActivity.lastUpdate[myMode] == "undefined") + if (GT.mapSettings.offlineMode == true) return; + if (typeof GT.bandActivity.lastUpdate[myMode] == "undefined") { - g_bandActivity.lastUpdate[myMode] = 0; + GT.bandActivity.lastUpdate[myMode] = 0; } - if (myMode.length > 0 && myDEGrid.length > 0 && g_timeNow > g_bandActivity.lastUpdate[myMode]) + if (myMode.length > 0 && myDEGrid.length > 0 && GT.timeNow > GT.bandActivity.lastUpdate[myMode]) { getBuffer( "https://pskreporter.info/cgi-bin/psk-freq.pl?mode=" + myMode + "&grid=" + myDEGrid.substr(0, 4) + "&cb=" + timeNowSec(), @@ -10810,12 +10811,12 @@ function pskGetBandActivity() renderBandActivity(); - if (g_pskBandActivityTimerHandle != null) + if (GT.pskBandActivityTimerHandle != null) { - nodeTimers.clearInterval(g_pskBandActivityTimerHandle); + nodeTimers.clearInterval(GT.pskBandActivityTimerHandle); } - g_pskBandActivityTimerHandle = nodeTimers.setInterval(pskGetBandActivity, 601000); // every 20 minutes, 1 second + GT.pskBandActivityTimerHandle = nodeTimers.setInterval(pskGetBandActivity, 601000); // every 20 minutes, 1 second } function getIniFromApp(appName) @@ -10835,7 +10836,7 @@ function getIniFromApp(appName) var wsjtxCfgPath = ""; var data = String(nw.App.dataPath); var end = 0; - if (g_platform == "windows") + if (GT.platform == "windows") { end = data.indexOf("GridTracker\\User Data\\Default"); if (end > -1) @@ -10843,7 +10844,7 @@ function getIniFromApp(appName) wsjtxCfgPath = data.substr(0, end) + appName + "\\" + appName + ".ini"; } } - else if (g_platform == "mac") + else if (GT.platform == "mac") { wsjtxCfgPath = process.env.HOME + "/Library/Preferences/WSJT-X.ini"; } @@ -10893,7 +10894,7 @@ function getIniFromApp(appName) if (indexOfPort == 0) { var portSplit = fileArray[x].split("="); - result.MyBand = Number(portSplit[1] / 1000000).formatBand(); + result.MyBand = formatBand(Number(portSplit[1] / 1000000)); } indexOfPort = fileArray[x].indexOf("N1MMServerPort="); if (indexOfPort == 0) @@ -10922,12 +10923,12 @@ function checkRunningProcesses() { var child_process = require("child_process"); var list = - g_platform == "windows" + GT.platform == "windows" ? child_process.execFileSync("tasklist.exe") : child_process.execFileSync("ps", ["-aef"]); - g_wsjtxProcessRunning = list.indexOf("wsjtx") > -1; - g_jtdxProcessRunning = list.indexOf("jtdx") > -1; + GT.wsjtxProcessRunning = list.indexOf("wsjtx") > -1; + GT.jtdxProcessRunning = list.indexOf("jtdx") > -1; } function updateRunningProcesses() @@ -10938,29 +10939,29 @@ function updateRunningProcesses() } catch (e) { - g_wsjtxProcessRunning = false; - g_jtdxProcessRunning = false; + GT.wsjtxProcessRunning = false; + GT.jtdxProcessRunning = false; } runningAppsDiv.innerHTML = "WSJT-X "; - if (g_wsjtxProcessRunning == true) runningAppsDiv.innerHTML += " - up - "; + if (GT.wsjtxProcessRunning == true) runningAppsDiv.innerHTML += " - up - "; else runningAppsDiv.innerHTML += " - ? - "; - g_wsjtxIni = getIniFromApp("WSJT-X"); - if (g_wsjtxIni.port > -1) + GT.wsjtxIni = getIniFromApp("WSJT-X"); + if (GT.wsjtxIni.port > -1) { runningAppsDiv.innerHTML += - "(" + g_wsjtxIni.ip + " / " + g_wsjtxIni.port + ") "; + "(" + GT.wsjtxIni.ip + " / " + GT.wsjtxIni.port + ") "; } else runningAppsDiv.innerHTML += "(?) "; - if (g_platform != "mac") + if (GT.platform != "mac") { runningAppsDiv.innerHTML += " / JTDX "; - if (g_jtdxProcessRunning == true) runningAppsDiv.innerHTML += " - up - "; + if (GT.jtdxProcessRunning == true) runningAppsDiv.innerHTML += " - up - "; else runningAppsDiv.innerHTML += " - ? - "; - g_jtdxIni = getIniFromApp("JTDX"); - if (g_jtdxIni.port > -1) + GT.jtdxIni = getIniFromApp("JTDX"); + if (GT.jtdxIni.port > -1) { runningAppsDiv.innerHTML += - "(" + g_jtdxIni.ip + " / " + g_jtdxIni.port + ") "; + "(" + GT.jtdxIni.ip + " / " + GT.jtdxIni.port + ") "; } else runningAppsDiv.innerHTML += "(?) "; } @@ -10970,84 +10971,84 @@ function updateBasedOnIni() { var which = null; var count = 0; - if (g_wsjtxProcessRunning) + if (GT.wsjtxProcessRunning) { count++; } - if (g_jtdxProcessRunning) + if (GT.jtdxProcessRunning) { count++; } // UdpPortNotSet - if (g_appSettings.wsjtUdpPort == 0 && count < 2) + if (GT.appSettings.wsjtUdpPort == 0 && count < 2) { - if (g_wsjtxProcessRunning || count == 0) + if (GT.wsjtxProcessRunning || count == 0) { - which = g_wsjtxIni; + which = GT.wsjtxIni; } - else if (g_jtdxProcessRunning) + else if (GT.jtdxProcessRunning) { - which = g_jtdxIni; + which = GT.jtdxIni; } if (which != null && which.port > -1) { - g_appSettings.wsjtUdpPort = which.port; - g_appSettings.wsjtIP = which.ip; + GT.appSettings.wsjtUdpPort = which.port; + GT.appSettings.wsjtIP = which.ip; } if (which == null) { - g_appSettings.wsjtUdpPort = 2237; - g_appSettings.wsjtIP = ""; + GT.appSettings.wsjtUdpPort = 2237; + GT.appSettings.wsjtIP = ""; } - if (ipToInt(g_appSettings.wsjtIP) >= ipToInt("224.0.0.0") && ipToInt(g_appSettings.wsjtIP) < ipToInt("240.0.0.0")) + if (ipToInt(GT.appSettings.wsjtIP) >= ipToInt("224.0.0.0") && ipToInt(GT.appSettings.wsjtIP) < ipToInt("240.0.0.0")) { - g_appSettings.multicast = true; + GT.appSettings.multicast = true; } else { - g_appSettings.multicast = false; + GT.appSettings.multicast = false; } } // Which INI do we load? - if (g_appSettings.wsjtUdpPort) + if (GT.appSettings.wsjtUdpPort) { which = null; - if (g_wsjtxIni.port == g_appSettings.wsjtUdpPort) + if (GT.wsjtxIni.port == GT.appSettings.wsjtUdpPort) { - which = g_wsjtxIni; + which = GT.wsjtxIni; } - else if (g_jtdxIni.port == g_appSettings.wsjtUdpPort) + else if (GT.jtdxIni.port == GT.appSettings.wsjtUdpPort) { - which = g_jtdxIni; + which = GT.jtdxIni; } if (which != null) { myDEcall = which.MyCall; myDEGrid = which.MyGrid; - g_lastBand = myBand; - g_lastMode = myMode; - g_workingIniPath = which.IniPath; + GT.lastBand = myBand; + GT.lastMode = myMode; + GT.workingIniPath = which.IniPath; } - if (which != null && which.BroadcastToN1MM == true && g_N1MMSettings.enable == true) + if (which != null && which.BroadcastToN1MM == true && GT.N1MMSettings.enable == true) { - if (which.N1MMServer == g_N1MMSettings.ip && which.N1MMServerPort == g_N1MMSettings.port) + if (which.N1MMServer == GT.N1MMSettings.ip && which.N1MMServerPort == GT.N1MMSettings.port) { - buttonN1MMCheckBox.checked = g_N1MMSettings.enable = false; - localStorage.N1MMSettings = JSON.stringify(g_N1MMSettings); + buttonN1MMCheckBox.checked = GT.N1MMSettings.enable = false; + localStorage.N1MMSettings = JSON.stringify(GT.N1MMSettings); alert(which.appName + " N1MM Logger+ is enabled with same settings, disabled GridTracker N1MM logger"); } } if (which != null) { - if (g_appSettings.wsjtIP == "") + if (GT.appSettings.wsjtIP == "") { - g_appSettings.wsjtIP = which.ip; + GT.appSettings.wsjtIP = which.ip; } } } @@ -11064,7 +11065,7 @@ function updateBasedOnIni() function CheckReceivePortIsNotForwardPort(value) { - if (udpForwardIpInput.value == "127.0.0.1" && udpForwardPortInput.value == value && g_appSettings.wsjtIP == "" && udpForwardEnable.checked) + if (udpForwardIpInput.value == "127.0.0.1" && udpForwardPortInput.value == value && GT.appSettings.wsjtIP == "" && udpForwardEnable.checked) { return false; } @@ -11074,7 +11075,7 @@ function CheckReceivePortIsNotForwardPort(value) function CheckForwardPortIsNotReceivePort(value) { - if (udpForwardIpInput.value == "127.0.0.1" && udpPortInput.value == value && g_appSettings.wsjtIP == "") + if (udpForwardIpInput.value == "127.0.0.1" && udpPortInput.value == value && GT.appSettings.wsjtIP == "") { return false; } @@ -11084,7 +11085,7 @@ function CheckForwardPortIsNotReceivePort(value) function setForwardIp() { - g_appSettings.wsjtForwardUdpIp = udpForwardIpInput.value; + GT.appSettings.wsjtForwardUdpIp = udpForwardIpInput.value; if (ValidatePort(udpPortInput, null, CheckReceivePortIsNotForwardPort)) { setUdpPort(); @@ -11094,7 +11095,7 @@ function setForwardIp() function setForwardPort() { - g_appSettings.wsjtForwardUdpPort = udpForwardPortInput.value; + GT.appSettings.wsjtForwardUdpPort = udpForwardPortInput.value; ValidateIPaddress(udpForwardIpInput, null); if (ValidatePort(udpPortInput, null, CheckReceivePortIsNotForwardPort)) { @@ -11427,13 +11428,13 @@ function ValidatePort(inputText, checkBox, callBackCheck) function workingCallsignEnableChanged(ele) { - g_appSettings.workingCallsignEnable = ele.checked; + GT.appSettings.workingCallsignEnable = ele.checked; applyCallsignsAndDateDiv.style.display = ""; } function workingDateEnableChanged(ele) { - g_appSettings.workingDateEnable = ele.checked; + GT.appSettings.workingDateEnable = ele.checked; applyCallsignsAndDateDiv.style.display = ""; } @@ -11450,7 +11451,7 @@ function workingDateChanged() 0 ) ); - g_appSettings.workingDate = + GT.appSettings.workingDate = Date.UTC( parseInt(fields[0]), parseInt(fields[1]) - 1, @@ -11465,23 +11466,23 @@ function workingDateChanged() function displayWorkingDate() { - var date = new Date(g_appSettings.workingDate * 1000); + var date = new Date(GT.appSettings.workingDate * 1000); workingDateString.innerHTML = dateToString(date); } -var g_tempWorkingCallsigns = {}; +GT.tempWorkingCallsigns = {}; function workingCallsignsChanged(ele) { - g_tempWorkingCallsigns = {}; + GT.tempWorkingCallsigns = {}; var callsigns = ele.value.split(","); for (var call in callsigns) { - g_tempWorkingCallsigns[callsigns[call]] = true; + GT.tempWorkingCallsigns[callsigns[call]] = true; } if (callsigns.length > 0) { - g_appSettings.workingCallsigns = Object.assign({}, g_tempWorkingCallsigns); - if (g_appSettings.workingCallsignEnable) { applyCallsignsAndDateDiv.style.display = ""; } + GT.appSettings.workingCallsigns = Object.assign({}, GT.tempWorkingCallsigns); + if (GT.appSettings.workingCallsignEnable) { applyCallsignsAndDateDiv.style.display = ""; } } else applyCallsignsAndDateDiv.style.display = "none"; } @@ -11532,14 +11533,14 @@ function lockNewWindows() } } -var g_lastUrl = ""; +GT.lastUrl = ""; function newFrame(frame, url, policy) { - if (url != g_lastUrl) + if (url != GT.lastUrl) { nw.Shell.openExternal(url); - g_lastUrl = url; + GT.lastUrl = url; nodeTimers.setTimeout(clearLastUrlTimeOut, 5000); } policy.ignore(); @@ -11547,17 +11548,17 @@ function newFrame(frame, url, policy) function clearLastUrlTimeOut() { - g_lastUrl = ""; + GT.lastUrl = ""; } function byName(a, b) { - if (g_enums[a] < g_enums[b]) return -1; - if (g_enums[a] > g_enums[b]) return 1; + if (GT.enums[a] < GT.enums[b]) return -1; + if (GT.enums[a] > GT.enums[b]) return 1; return 0; } -var ancPrefixes = ["P", "M", "MM", "AM", "A", "NWS"]; +GT.ancPrefixes = ["P", "M", "MM", "AM", "A", "NWS"]; function callsignToDxcc(insign) { @@ -11568,13 +11569,13 @@ function callsignToDxcc(insign) return -1; } - if (callsign in g_directCallToDXCC) { return Number(g_directCallToDXCC[callsign]); } + if (callsign in GT.directCallToDXCC) { return Number(GT.directCallToDXCC[callsign]); } if (callsign.includes("/")) { var parts = callsign.split("/"); var end = parts.length - 1; - if (ancPrefixes.includes(parts[end])) + if (GT.ancPrefixes.includes(parts[end])) { if (parts[end].toUpperCase() == "MM") { @@ -11601,14 +11602,14 @@ function callsignToDxcc(insign) } else callsign = parts[0]; - if (callsign in g_directCallToDXCC) { return Number(g_directCallToDXCC[callsign]); } + if (callsign in GT.directCallToDXCC) { return Number(GT.directCallToDXCC[callsign]); } } for (var x = callsign.length; x > 0; x--) { - if (callsign.substr(0, x) in g_prefixToMap) + if (callsign.substr(0, x) in GT.prefixToMap) { - return Number(g_dxccInfo[g_prefixToMap[callsign.substr(0, x)]].dxcc); + return Number(GT.dxccInfo[GT.prefixToMap[callsign.substr(0, x)]].dxcc); } } return -1; @@ -11623,19 +11624,19 @@ function cqZoneFromCallsign(insign, dxcc) return null; } - if (callsign in g_directCallToCQzone) { return g_directCallToCQzone[callsign]; } + if (callsign in GT.directCallToCQzone) { return GT.directCallToCQzone[callsign]; } for (var x = callsign.length; x > 0; x--) { - if (callsign.substr(0, x) in g_prefixToCQzone) + if (callsign.substr(0, x) in GT.prefixToCQzone) { - return g_prefixToCQzone[callsign.substr(0, x)]; + return GT.prefixToCQzone[callsign.substr(0, x)]; } } if (dxcc > 0) { - return g_dxccInfo[dxcc].cqzone; + return GT.dxccInfo[dxcc].cqzone; } return null; @@ -11650,19 +11651,19 @@ function ituZoneFromCallsign(insign, dxcc) return null; } - if (callsign in g_directCallToITUzone) { return g_directCallToITUzone[callsign]; } + if (callsign in GT.directCallToITUzone) { return GT.directCallToITUzone[callsign]; } for (var x = callsign.length; x > 0; x--) { - if (callsign.substr(0, x) in g_prefixToITUzone) + if (callsign.substr(0, x) in GT.prefixToITUzone) { - return g_prefixToITUzone[callsign.substr(0, x)]; + return GT.prefixToITUzone[callsign.substr(0, x)]; } } if (dxcc > 0) { - return g_dxccInfo[dxcc].ituzone; + return GT.dxccInfo[dxcc].ituzone; } return null; @@ -11674,56 +11675,56 @@ function loadMaidenHeadData() if (fs.existsSync(file)) { var fileBuf = fs.readFileSync(file, "UTF-8"); - g_dxccInfo = JSON.parse(fileBuf); + GT.dxccInfo = JSON.parse(fileBuf); - for (var key in g_dxccInfo) + for (var key in GT.dxccInfo) { - g_dxccToAltName[g_dxccInfo[key].dxcc] = g_dxccInfo[key].name; - g_dxccToADIFName[g_dxccInfo[key].dxcc] = g_dxccInfo[key].aname; + GT.dxccToAltName[GT.dxccInfo[key].dxcc] = GT.dxccInfo[key].name; + GT.dxccToADIFName[GT.dxccInfo[key].dxcc] = GT.dxccInfo[key].aname; - for (var x = 0; x < g_dxccInfo[key].prefix.length; x++) + for (var x = 0; x < GT.dxccInfo[key].prefix.length; x++) { - g_prefixToMap[g_dxccInfo[key].prefix[x]] = key; + GT.prefixToMap[GT.dxccInfo[key].prefix[x]] = key; } - delete g_dxccInfo[key].prefix; + delete GT.dxccInfo[key].prefix; - for (var x = 0; x < g_dxccInfo[key].direct.length; x++) + for (var x = 0; x < GT.dxccInfo[key].direct.length; x++) { - g_directCallToDXCC[g_dxccInfo[key].direct[x]] = g_dxccInfo[key].dxcc; + GT.directCallToDXCC[GT.dxccInfo[key].direct[x]] = GT.dxccInfo[key].dxcc; } - delete g_dxccInfo[key].direct; + delete GT.dxccInfo[key].direct; - for (var val in g_dxccInfo[key].prefixCQ) + for (var val in GT.dxccInfo[key].prefixCQ) { - g_prefixToCQzone[val] = g_dxccInfo[key].prefixCQ[val]; + GT.prefixToCQzone[val] = GT.dxccInfo[key].prefixCQ[val]; } - delete g_dxccInfo[key].prefixCQ; + delete GT.dxccInfo[key].prefixCQ; - for (var val in g_dxccInfo[key].prefixITU) + for (var val in GT.dxccInfo[key].prefixITU) { - g_prefixToITUzone[val] = g_dxccInfo[key].prefixITU[val]; + GT.prefixToITUzone[val] = GT.dxccInfo[key].prefixITU[val]; } - delete g_dxccInfo[key].prefixITU; + delete GT.dxccInfo[key].prefixITU; - for (var val in g_dxccInfo[key].directCQ) + for (var val in GT.dxccInfo[key].directCQ) { - g_directCallToCQzone[val] = g_dxccInfo[key].directCQ[val]; + GT.directCallToCQzone[val] = GT.dxccInfo[key].directCQ[val]; } - delete g_dxccInfo[key].directCQ; + delete GT.dxccInfo[key].directCQ; - for (var val in g_dxccInfo[key].directITU) + for (var val in GT.dxccInfo[key].directITU) { - g_directCallToITUzone[val] = g_dxccInfo[key].directITU[val]; + GT.directCallToITUzone[val] = GT.dxccInfo[key].directITU[val]; } - delete g_dxccInfo[key].directITU; + delete GT.dxccInfo[key].directITU; - for (var x = 0; x < g_dxccInfo[key].mh.length; x++) + for (var x = 0; x < GT.dxccInfo[key].mh.length; x++) { - if (!(g_dxccInfo[key].mh[x] in g_gridToDXCC)) { g_gridToDXCC[g_dxccInfo[key].mh[x]] = Array(); } - g_gridToDXCC[g_dxccInfo[key].mh[x]].push(g_dxccInfo[key].dxcc); + if (!(GT.dxccInfo[key].mh[x] in GT.gridToDXCC)) { GT.gridToDXCC[GT.dxccInfo[key].mh[x]] = Array(); } + GT.gridToDXCC[GT.dxccInfo[key].mh[x]].push(GT.dxccInfo[key].dxcc); } - if (g_dxccInfo[key].dxcc != 291) { delete g_dxccInfo[key].mh; } + if (GT.dxccInfo[key].dxcc != 291) { delete GT.dxccInfo[key].mh; } } file = "./data/dxcc.json"; @@ -11733,7 +11734,7 @@ function loadMaidenHeadData() for (var key in dxccGeo.features) { var dxcc = dxccGeo.features[key].properties.dxcc_entity_code; - g_dxccInfo[dxcc].geo = dxccGeo.features[key]; + GT.dxccInfo[dxcc].geo = dxccGeo.features[key]; } file = "./data/counties.json"; @@ -11742,130 +11743,130 @@ function loadMaidenHeadData() for (var id in countyData) { - if (!(countyData[id].properties.st in g_stateToCounty)) { g_stateToCounty[countyData[id].properties.st] = Array(); } - g_stateToCounty[countyData[id].properties.st].push(id); + if (!(countyData[id].properties.st in GT.stateToCounty)) { GT.stateToCounty[countyData[id].properties.st] = Array(); } + GT.stateToCounty[countyData[id].properties.st].push(id); - var cnty = countyData[id].properties.st + "," + countyData[id].properties.n.toUpperCase().replaceAll(" ", ""); + var cnty = countyData[id].properties.st + "," + replaceAll(countyData[id].properties.n, " ", ""); - if (!(cnty in g_cntyToCounty)) { g_cntyToCounty[cnty] = countyData[id].properties.n.toProperCase(); } + if (!(cnty in GT.cntyToCounty)) { GT.cntyToCounty[cnty] = toProperCase(countyData[id].properties.n); } - g_countyData[cnty] = {}; - g_countyData[cnty].geo = countyData[id]; - g_countyData[cnty].worked = false; - g_countyData[cnty].confirmed = false; + GT.countyData[cnty] = {}; + GT.countyData[cnty].geo = countyData[id]; + GT.countyData[cnty].worked = false; + GT.countyData[cnty].confirmed = false; - g_countyData[cnty].worked_bands = {}; - g_countyData[cnty].confirmed_bands = {}; - g_countyData[cnty].worked_modes = {}; - g_countyData[cnty].confirmed_modes = {}; + GT.countyData[cnty].worked_bands = {}; + GT.countyData[cnty].confirmed_bands = {}; + GT.countyData[cnty].worked_modes = {}; + GT.countyData[cnty].confirmed_modes = {}; for (var x in countyData[id].properties.z) { var zipS = String(countyData[id].properties.z[x]); - if (!(zipS in g_zipToCounty)) + if (!(zipS in GT.zipToCounty)) { - g_zipToCounty[zipS] = Array(); + GT.zipToCounty[zipS] = Array(); } - g_zipToCounty[zipS].push(cnty); + GT.zipToCounty[zipS].push(cnty); } } files = null; countyData = null; - g_shapeData = JSON.parse(fs.readFileSync(g_shapeFile)); + GT.shapeData = JSON.parse(fs.readFileSync(GT.shapeFile)); - g_StateData = JSON.parse(fs.readFileSync("./data/state.json")); + GT.StateData = JSON.parse(fs.readFileSync("./data/state.json")); - for (var key in g_StateData) + for (var key in GT.StateData) { - for (var x = 0; x < g_StateData[key].mh.length; x++) + for (var x = 0; x < GT.StateData[key].mh.length; x++) { - if (!(g_StateData[key].mh[x] in g_gridToState)) { g_gridToState[g_StateData[key].mh[x]] = Array(); } - g_gridToState[g_StateData[key].mh[x]].push(g_StateData[key].postal); + if (!(GT.StateData[key].mh[x] in GT.gridToState)) { GT.gridToState[GT.StateData[key].mh[x]] = Array(); } + GT.gridToState[GT.StateData[key].mh[x]].push(GT.StateData[key].postal); } } file = "./data/phone.json"; fileBuf = fs.readFileSync(file, "UTF-8"); - g_phonetics = JSON.parse(fileBuf); + GT.phonetics = JSON.parse(fileBuf); file = "./data/enums.json"; fileBuf = fs.readFileSync(file, "UTF-8"); - g_enums = JSON.parse(fileBuf); + GT.enums = JSON.parse(fileBuf); - for (var key in g_dxccInfo) + for (var key in GT.dxccInfo) { - if (g_dxccInfo[key].pp != "" && g_dxccInfo[key].geo != "deleted") + if (GT.dxccInfo[key].pp != "" && GT.dxccInfo[key].geo != "deleted") { - g_enums[g_dxccInfo[key].dxcc] = g_dxccInfo[key].name; + GT.enums[GT.dxccInfo[key].dxcc] = GT.dxccInfo[key].name; } if (key == 291) { // US Mainland - for (var mh in g_dxccInfo[key].mh) + for (var mh in GT.dxccInfo[key].mh) { - var sqr = g_dxccInfo[key].mh[mh]; + var sqr = GT.dxccInfo[key].mh[mh]; - g_us48Data[sqr] = {}; - g_us48Data[sqr].name = sqr; - g_us48Data[sqr].worked = false; - g_us48Data[sqr].confirmed = false; - g_us48Data[sqr].worked_bands = {}; - g_us48Data[sqr].confirmed_bands = {}; - g_us48Data[sqr].worked_modes = {}; - g_us48Data[sqr].confirmed_modes = {}; + GT.us48Data[sqr] = {}; + GT.us48Data[sqr].name = sqr; + GT.us48Data[sqr].worked = false; + GT.us48Data[sqr].confirmed = false; + GT.us48Data[sqr].worked_bands = {}; + GT.us48Data[sqr].confirmed_bands = {}; + GT.us48Data[sqr].worked_modes = {}; + GT.us48Data[sqr].confirmed_modes = {}; } - delete g_dxccInfo[key].mh; + delete GT.dxccInfo[key].mh; } } fileBuf = fs.readFileSync("./data/cqzone.json"); - g_cqZones = JSON.parse(fileBuf); + GT.cqZones = JSON.parse(fileBuf); fileBuf = fs.readFileSync("./data/ituzone.json"); - g_ituZones = JSON.parse(fileBuf); + GT.ituZones = JSON.parse(fileBuf); - for (var key in g_StateData) + for (var key in GT.StateData) { if (key.substr(0, 3) == "US-") { var shapeKey = key.substr(3, 2); - var name = g_StateData[key].name; + var name = GT.StateData[key].name; - if (shapeKey in g_shapeData) + if (shapeKey in GT.shapeData) { - g_wasZones[name] = {}; - g_wasZones[name].geo = g_shapeData[shapeKey]; - g_wasZones[name].worked = false; - g_wasZones[name].confirmed = false; + GT.wasZones[name] = {}; + GT.wasZones[name].geo = GT.shapeData[shapeKey]; + GT.wasZones[name].worked = false; + GT.wasZones[name].confirmed = false; - g_wasZones[name].worked_bands = {}; - g_wasZones[name].confirmed_bands = {}; - g_wasZones[name].worked_modes = {}; - g_wasZones[name].confirmed_modes = {}; + GT.wasZones[name].worked_bands = {}; + GT.wasZones[name].confirmed_bands = {}; + GT.wasZones[name].worked_modes = {}; + GT.wasZones[name].confirmed_modes = {}; } } } - for (var key in g_shapeData) + for (var key in GT.shapeData) { - if (g_shapeData[key].properties.type == "Continent") + if (GT.shapeData[key].properties.type == "Continent") { - var name = g_shapeData[key].properties.name; - g_wacZones[name] = {}; - g_wacZones[name].geo = g_shapeData[key]; + var name = GT.shapeData[key].properties.name; + GT.wacZones[name] = {}; + GT.wacZones[name].geo = GT.shapeData[key]; - g_wacZones[name].worked = false; - g_wacZones[name].confirmed = false; + GT.wacZones[name].worked = false; + GT.wacZones[name].confirmed = false; - g_wacZones[name].worked_bands = {}; - g_wacZones[name].confirmed_bands = {}; - g_wacZones[name].worked_modes = {}; - g_wacZones[name].confirmed_modes = {}; + GT.wacZones[name].worked_bands = {}; + GT.wacZones[name].confirmed_bands = {}; + GT.wacZones[name].worked_modes = {}; + GT.wacZones[name].confirmed_modes = {}; } } } - var localeDxcc = "./i18n/" + g_appSettings.locale + "-dxcc.json"; + var localeDxcc = "./i18n/" + GT.appSettings.locale + "-dxcc.json"; if (fs.existsSync(localeDxcc)) { var fileBuf = fs.readFileSync(localeDxcc, "UTF-8"); @@ -11874,16 +11875,16 @@ function loadMaidenHeadData() { for (const dxcc in langDxcc) { - if (dxcc in g_dxccInfo) + if (dxcc in GT.dxccInfo) { - g_dxccInfo[dxcc].name = langDxcc[dxcc]; - g_dxccToAltName[dxcc] = langDxcc[dxcc]; + GT.dxccInfo[dxcc].name = langDxcc[dxcc]; + GT.dxccToAltName[dxcc] = langDxcc[dxcc]; } } } } - var localeState = "./i18n/" + g_appSettings.locale + "-state.json"; + var localeState = "./i18n/" + GT.appSettings.locale + "-state.json"; if (fs.existsSync(localeState)) { var fileBuf = fs.readFileSync(localeState, "UTF-8"); @@ -11892,56 +11893,56 @@ function loadMaidenHeadData() { for (const state in langState) { - if (state in g_StateData) + if (state in GT.StateData) { - g_StateData[state].name = langState[state]; + GT.StateData[state].name = langState[state]; } } } } } -var g_timezonesEnable = 0; -var g_timezoneLayer = null; +GT.timezonesEnable = 0; +GT.timezoneLayer = null; function createZoneLayer() { - g_timezoneLayer = createGeoJsonLayer( + GT.timezoneLayer = createGeoJsonLayer( "tz", "./data/combined-with-oceans.json", "#000088FF", 0.5 ); - g_map.addLayer(g_timezoneLayer); - g_timezoneLayer.setVisible(false); + GT.map.addLayer(GT.timezoneLayer); + GT.timezoneLayer.setVisible(false); } function toggleTimezones() { - if (g_currentOverlay != 0) return; + if (GT.currentOverlay != 0) return; - g_timezonesEnable ^= 1; + GT.timezonesEnable ^= 1; mouseOutGtFlag(); - if (g_timezonesEnable == 1) + if (GT.timezonesEnable == 1) { - if (g_timezoneLayer == null) + if (GT.timezoneLayer == null) { createZoneLayer(); } - g_timezoneLayer.setVisible(true); + GT.timezoneLayer.setVisible(true); } else { - if (g_timezoneLayer != null) + if (GT.timezoneLayer != null) { - g_map.removeLayer(g_timezoneLayer); - g_timezoneLayer = null; + GT.map.removeLayer(GT.timezoneLayer); + GT.timezoneLayer = null; } } - timezoneImg.style.filter = g_timezonesEnable == 1 ? "" : "grayscale(1)"; + timezoneImg.style.filter = GT.timezonesEnable == 1 ? "" : "grayscale(1)"; } function drawAllGrids() @@ -11969,7 +11970,7 @@ function drawAllGrids() }); newGridBox.setStyle(featureStyle); - g_layerSources["line-grids"].addFeature(newGridBox); + GT.layerSources["line-grids"].addFeature(newGridBox); } for (var x = -90; x < 91; x++) @@ -11992,7 +11993,7 @@ function drawAllGrids() }); newGridBox.setStyle(featureStyle); - g_layerSources["line-grids"].addFeature(newGridBox); + GT.layerSources["line-grids"].addFeature(newGridBox); } for (var x = 65; x < 83; x++) @@ -12034,7 +12035,7 @@ function drawAllGrids() }) }); feature.setStyle(featureStyle); - g_layerSources["long-grids"].addFeature(feature); + GT.layerSources["long-grids"].addFeature(feature); } } @@ -12056,7 +12057,7 @@ function drawAllGrids() }) }); feature.setStyle(featureStyle); - g_layerSources["big-grids"].addFeature(feature); + GT.layerSources["big-grids"].addFeature(feature); } } } @@ -12121,7 +12122,7 @@ function updateAcks(buffer) { try { - g_acknowledgedCalls = JSON.parse(buffer); + GT.acknowledgedCalls = JSON.parse(buffer); } catch (e) { @@ -12133,10 +12134,10 @@ function readAcksFromDisk() { try { - var fileBuf = fs.readFileSync(g_NWappData + "acknowledgements.json"); + var fileBuf = fs.readFileSync(GT.NWappData + "acknowledgements.json"); var loadedData = JSON.parse(fileBuf); // some validation here? - g_acknowledgedCalls = loadedData; + GT.acknowledgedCalls = loadedData; } catch (e) { @@ -12320,56 +12321,56 @@ function colorToHex(color) function setHueColor() { - g_mapHue = colorToHex(hueDiv.style.backgroundColor); - if (g_mapHue == "#000000") g_mapHue = 0; + GT.mapHue = colorToHex(hueDiv.style.backgroundColor); + if (GT.mapHue == "#000000") GT.mapHue = 0; } function loadMapSettings() { - shadowValue.value = g_mapSettings.shadow; + shadowValue.value = GT.mapSettings.shadow; showDarknessTd.innerHTML = parseInt(shadowValue.value * 100) + "%"; - pathWidthTd.innerHTML = pathWidthValue.value = g_appSettings.pathWidthWeight; + pathWidthTd.innerHTML = pathWidthValue.value = GT.appSettings.pathWidthWeight; qrzPathWidthTd.innerHTML = qrzPathWidthValue.value = - g_appSettings.qrzPathWidthWeight; + GT.appSettings.qrzPathWidthWeight; - gridDecay.value = g_appSettings.gridsquareDecayTime; + gridDecay.value = GT.appSettings.gridsquareDecayTime; changeGridDecay(); - pathColorValue.value = g_mapSettings.pathColor; - qrzPathColorValue.value = g_mapSettings.qrzPathColor; - brightnessValue.value = g_mapSettings.loudness; - nightBrightnessValue.value = g_mapSettings.nightLoudness; + pathColorValue.value = GT.mapSettings.pathColor; + qrzPathColorValue.value = GT.mapSettings.qrzPathColor; + brightnessValue.value = GT.mapSettings.loudness; + nightBrightnessValue.value = GT.mapSettings.nightLoudness; - nightPathColorValue.value = g_mapSettings.nightPathColor; - nightQrzPathColorValue.value = g_mapSettings.nightQrzPathColor; + nightPathColorValue.value = GT.mapSettings.nightPathColor; + nightQrzPathColorValue.value = GT.mapSettings.nightQrzPathColor; - mouseOverValue.checked = g_mapSettings.mouseOver; - mergeOverlayValue.checked = g_mapSettings.mergeOverlay; + mouseOverValue.checked = GT.mapSettings.mouseOver; + mergeOverlayValue.checked = GT.mapSettings.mergeOverlay; - offlineImg.src = g_mapImageArray[g_mapSettings.offlineMode ? 0 : 1]; + offlineImg.src = GT.mapImageArray[GT.mapSettings.offlineMode ? 0 : 1]; - mapSelect.value = g_mapSettings.mapIndex; - mapNightSelect.value = g_mapSettings.nightMapIndex; + mapSelect.value = GT.mapSettings.mapIndex; + mapNightSelect.value = GT.mapSettings.nightMapIndex; - animateValue.checked = g_mapSettings.animate; - animateSpeedValue.value = 21 - g_mapSettings.animateSpeed; + animateValue.checked = GT.mapSettings.animate; + animateSpeedValue.value = 21 - GT.mapSettings.animateSpeed; setAnimateView(); - splitQSLValue.checked = g_mapSettings.splitQSL; - fitQRZvalue.checked = g_mapSettings.fitQRZ; - qrzDxccFallbackValue.checked = g_mapSettings.qrzDxccFallback; - CqHiliteValue.checked = g_mapSettings.CQhilite; - focusRigValue.checked = g_mapSettings.focusRig; - haltAllOnTxValue.checked = g_mapSettings.haltAllOnTx; + splitQSLValue.checked = GT.mapSettings.splitQSL; + fitQRZvalue.checked = GT.mapSettings.fitQRZ; + qrzDxccFallbackValue.checked = GT.mapSettings.qrzDxccFallback; + CqHiliteValue.checked = GT.mapSettings.CQhilite; + focusRigValue.checked = GT.mapSettings.focusRig; + haltAllOnTxValue.checked = GT.mapSettings.haltAllOnTx; - trafficDecode.checked = g_mapSettings.trafficDecode; + trafficDecode.checked = GT.mapSettings.trafficDecode; setSpotImage(); - timezoneImg.style.filter = g_timezonesEnable == 1 ? "" : "grayscale(1)"; - radarImg.style.filter = g_mapSettings.usNexrad ? "" : "grayscale(1)"; - gridOverlayImg.style.filter = g_showAllGrids ? "" : "grayscale(1)"; + timezoneImg.style.filter = GT.timezonesEnable == 1 ? "" : "grayscale(1)"; + radarImg.style.filter = GT.mapSettings.usNexrad ? "" : "grayscale(1)"; + gridOverlayImg.style.filter = GT.showAllGrids ? "" : "grayscale(1)"; - g_bandToColor = JSON.parse(JSON.stringify(g_pskColors)); + GT.bandToColor = JSON.parse(JSON.stringify(GT.pskColors)); setGridOpacity(); @@ -12414,17 +12415,17 @@ function loadMapSettings() function changeDistanceUnit() { - g_appSettings.distanceUnit = distanceUnit.value; - g_scaleLine.setUnits(g_scaleUnits[g_appSettings.distanceUnit]); + GT.appSettings.distanceUnit = distanceUnit.value; + GT.scaleLine.setUnits(GT.scaleUnits[GT.appSettings.distanceUnit]); goProcessRoster(); } function changeMapNightValues() { - g_mapSettings.nightPathColor = nightPathColorValue.value; - g_mapSettings.nightQrzPathColor = nightQrzPathColorValue.value; - g_mapSettings.nightMapIndex = mapNightSelect.value; - g_mapSettings.nightLoudness = nightBrightnessValue.value; + GT.mapSettings.nightPathColor = nightPathColorValue.value; + GT.mapSettings.nightQrzPathColor = nightQrzPathColorValue.value; + GT.mapSettings.nightMapIndex = mapNightSelect.value; + GT.mapSettings.nightLoudness = nightBrightnessValue.value; saveMapSettings(); setNightHtml(); @@ -12434,13 +12435,13 @@ function changeMapNightValues() function setNightHtml() { var pathColor = - g_mapSettings.nightPathColor == 0 + GT.mapSettings.nightPathColor == 0 ? "#000" - : g_mapSettings.nightPathColor == 361 + : GT.mapSettings.nightPathColor == 361 ? "#FFF" - : "hsl(" + g_mapSettings.nightPathColor + ", 100%, 50%)"; + : "hsl(" + GT.mapSettings.nightPathColor + ", 100%, 50%)"; - if (g_mapSettings.nightPathColor != 0) + if (GT.mapSettings.nightPathColor != 0) { pathNightColorDiv.style.color = "#000"; pathNightColorDiv.style.backgroundColor = pathColor; @@ -12452,12 +12453,12 @@ function setNightHtml() } pathColor = - g_mapSettings.nightQrzPathColor == 0 + GT.mapSettings.nightQrzPathColor == 0 ? "#000" - : g_mapSettings.nightQrzPathColor == 361 + : GT.mapSettings.nightQrzPathColor == 361 ? "#FFF" - : "hsl(" + g_mapSettings.nightQrzPathColor + ", 100%, 50%)"; - if (g_mapSettings.nightQrzPathColor != 0) + : "hsl(" + GT.mapSettings.nightQrzPathColor + ", 100%, 50%)"; + if (GT.mapSettings.nightQrzPathColor != 0) { pathNightQrzColorDiv.style.color = "#000"; pathNightQrzColorDiv.style.backgroundColor = pathColor; @@ -12471,18 +12472,18 @@ function setNightHtml() function changeMapValues() { - g_mapSettings.pathColor = pathColorValue.value; - g_mapSettings.qrzPathColor = qrzPathColorValue.value; - g_mapSettings.loudness = brightnessValue.value; + GT.mapSettings.pathColor = pathColorValue.value; + GT.mapSettings.qrzPathColor = qrzPathColorValue.value; + GT.mapSettings.loudness = brightnessValue.value; - g_mapSettings.mapIndex = mapSelect.value; - if (g_appSettings.gtFlagImgSrc > 0 && g_mapSettings.offlineMode == false && g_appSettings.gtShareEnable == true) + GT.mapSettings.mapIndex = mapSelect.value; + if (GT.appSettings.gtFlagImgSrc > 0 && GT.mapSettings.offlineMode == false && GT.appSettings.gtShareEnable == true) { - g_layerVectors.gtflags.setVisible(true); + GT.layerVectors.gtflags.setVisible(true); } else { - g_layerVectors.gtflags.setVisible(false); + GT.layerVectors.gtflags.setVisible(false); } saveMapSettings(); @@ -12490,13 +12491,13 @@ function changeMapValues() saveAlertSettings(); var pathColor = - g_mapSettings.pathColor == 0 + GT.mapSettings.pathColor == 0 ? "#000" - : g_mapSettings.pathColor == 361 + : GT.mapSettings.pathColor == 361 ? "#FFF" - : "hsl(" + g_mapSettings.pathColor + ", 100%, 50%)"; + : "hsl(" + GT.mapSettings.pathColor + ", 100%, 50%)"; - if (g_mapSettings.pathColor != 0) + if (GT.mapSettings.pathColor != 0) { pathColorDiv.style.color = "#000"; pathColorDiv.style.backgroundColor = pathColor; @@ -12508,12 +12509,12 @@ function changeMapValues() } pathColor = - g_mapSettings.qrzPathColor == 0 + GT.mapSettings.qrzPathColor == 0 ? "#000" - : g_mapSettings.qrzPathColor == 361 + : GT.mapSettings.qrzPathColor == 361 ? "#FFF" - : "hsl(" + g_mapSettings.qrzPathColor + ", 100%, 50%)"; - if (g_mapSettings.qrzPathColor != 0) + : "hsl(" + GT.mapSettings.qrzPathColor + ", 100%, 50%)"; + if (GT.mapSettings.qrzPathColor != 0) { qrzPathColorDiv.style.color = "#000"; qrzPathColorDiv.style.backgroundColor = pathColor; @@ -12542,10 +12543,10 @@ function setLegendGrid(name, newColor) function setLegendAndGridSettings() { - for (var key in g_legendColors) + for (var key in GT.legendColors) { - setLegendColor(key, g_legendColors[key]); - setLegendGrid(key, g_legendColors[key]); + setLegendColor(key, GT.legendColors[key]); + setLegendGrid(key, GT.legendColors[key]); } } @@ -12553,7 +12554,7 @@ function resetLegendColors() { for (var key in def_legendColors) { - g_legendColors[key] = def_legendColors[key]; + GT.legendColors[key] = def_legendColors[key]; } setLegendAndGridSettings(); @@ -12561,7 +12562,7 @@ function resetLegendColors() redrawGrids(); } -var g_redrawFromLegendTimeoutHandle = null; +GT.redrawFromLegendTimeoutHandle = null; function changeLegendColor(source) { var newColor = source.value; @@ -12569,19 +12570,19 @@ function changeLegendColor(source) var name = source.id.replace("gridValue", ""); setLegendColor(name, newColor); - g_legendColors[name] = newColor; + GT.legendColors[name] = newColor; - if (g_redrawFromLegendTimeoutHandle != null) + if (GT.redrawFromLegendTimeoutHandle != null) { - nodeTimers.clearTimeout(g_redrawFromLegendTimeoutHandle); + nodeTimers.clearTimeout(GT.redrawFromLegendTimeoutHandle); } - g_redrawFromLegendTimeoutHandle = nodeTimers.setTimeout(redrawGrids, 500); + GT.redrawFromLegendTimeoutHandle = nodeTimers.setTimeout(redrawGrids, 500); } function toggleLegend() { - if (g_mapSettings.legend == true) g_mapSettings.legend = false; - else g_mapSettings.legend = true; + if (GT.mapSettings.legend == true) GT.mapSettings.legend = false; + else GT.mapSettings.legend = true; saveMapSettings(); @@ -12595,7 +12596,7 @@ function hideLegend() function displayLegend() { - if (g_mapSettings.legend == true) + if (GT.mapSettings.legend == true) { LegendDiv.style.display = "block"; legendImg.style.webkitFilter = ""; @@ -12650,22 +12651,22 @@ function cutHex(h) function changeMapLayer() { - if (g_mapSettings.offlineMode) + if (GT.mapSettings.offlineMode) { - g_tileLayer.setSource(g_offlineLayer); - g_tileLayer.setOpacity(Number(g_mapSettings.loudness)); + GT.tileLayer.setSource(GT.offlineLayer); + GT.tileLayer.setOpacity(Number(GT.mapSettings.loudness)); } else { - if (g_mapSettings.nightMapEnable && g_nightTime) + if (GT.mapSettings.nightMapEnable && GT.nightTime) { - g_tileLayer.setSource(g_mapsLayer[g_mapSettings.nightMapIndex]); - g_tileLayer.setOpacity(Number(g_mapSettings.nightLoudness)); + GT.tileLayer.setSource(GT.mapsLayer[GT.mapSettings.nightMapIndex]); + GT.tileLayer.setOpacity(Number(GT.mapSettings.nightLoudness)); } else { - g_tileLayer.setSource(g_mapsLayer[g_mapSettings.mapIndex]); - g_tileLayer.setOpacity(Number(g_mapSettings.loudness)); + GT.tileLayer.setSource(GT.mapsLayer[GT.mapSettings.mapIndex]); + GT.tileLayer.setOpacity(Number(GT.mapSettings.loudness)); } } @@ -12676,25 +12677,25 @@ function changeMapLayer() function voiceChangedValue() { - g_speechSettings.voice = Number(alertVoiceInput.value) + 1; + GT.speechSettings.voice = Number(alertVoiceInput.value) + 1; changeSpeechValues(); } function timedGetVoices() { - g_voices = window.speechSynthesis.getVoices(); - if (g_voices.length > 0) + GT.voices = window.speechSynthesis.getVoices(); + if (GT.voices.length > 0) { var newSelect = document.createElement("select"); newSelect.id = "alertVoiceInput"; newSelect.title = "Select Voice"; - for (var i = 0; i < g_voices.length; i++) + for (var i = 0; i < GT.voices.length; i++) { var option = document.createElement("option"); option.value = i; - newstring = g_voices[i].name.replace(/ /g, ""); + newstring = GT.voices[i].name.replace(/ /g, ""); option.text = newstring; - if (g_voices[i].default) + if (GT.voices[i].default) { option.selected = true; } @@ -12703,7 +12704,7 @@ function timedGetVoices() newSelect.oninput = voiceChangedValue; voicesDiv.appendChild(newSelect); } - g_speechAvailable = true; + GT.speechAvailable = true; loadAlerts(); } @@ -12714,7 +12715,7 @@ function initSpeech() nodeTimers.setTimeout(timedGetVoices, 500); }; var msg = new SpeechSynthesisUtterance("."); - msg.lang = g_localeString; + msg.lang = GT.localeString; window.speechSynthesis.speak(msg); } @@ -12748,118 +12749,118 @@ function gotAudioDevices(deviceInfos) newSelect.oninput = soundCardChangedValue; soundCardDiv.appendChild(newSelect); - soundCardInput.value = g_soundCard; + soundCardInput.value = GT.soundCard; } function soundCardChangedValue() { - g_appSettings.soundCard = g_soundCard = soundCardInput.value; + GT.appSettings.soundCard = GT.soundCard = soundCardInput.value; playTestFile(); } function setPins() { - g_colorLeafletPins = {}; - g_colorLeafleteQPins = {}; - g_colorLeafletQPins.worked = {}; - g_colorLeafletQPins.confirmed = {}; - for (var i = 0; i < g_colorBands.length; i++) + GT.colorLeafletPins = {}; + GT.colorLeafleteQPins = {}; + GT.colorLeafletQPins.worked = {}; + GT.colorLeafletQPins.confirmed = {}; + for (var i = 0; i < GT.colorBands.length; i++) { var pin = new ol.style.Icon({ - src: "./img/pin/" + g_colorBands[i] + ".png", + src: "./img/pin/" + GT.colorBands[i] + ".png", anchorYUnits: "pixels", anchorXUnits: "pixels", anchor: [5, 18] }); - g_colorLeafletPins[g_colorBands[i]] = pin; + GT.colorLeafletPins[GT.colorBands[i]] = pin; pin = new ol.style.Icon({ - src: "./img/pin/" + g_colorBands[i] + "w.png", + src: "./img/pin/" + GT.colorBands[i] + "w.png", anchorYUnits: "pixels", anchorXUnits: "pixels", anchor: [5, 18] }); - g_colorLeafletQPins.worked[g_colorBands[i]] = pin; + GT.colorLeafletQPins.worked[GT.colorBands[i]] = pin; pin = new ol.style.Icon({ - src: "./img/pin/" + g_colorBands[i] + "q.png", + src: "./img/pin/" + GT.colorBands[i] + "q.png", anchorYUnits: "pixels", anchorXUnits: "pixels", anchor: [5, 18] }); - g_colorLeafletQPins.confirmed[g_colorBands[i]] = pin; + GT.colorLeafletQPins.confirmed[GT.colorBands[i]] = pin; } } function changeClearOnCQ() { - g_appSettings.clearOnCQ = clearOnCQ.checked; + GT.appSettings.clearOnCQ = clearOnCQ.checked; saveAppSettings(); } function loadViewSettings() { - gtBandFilter.value = g_appSettings.gtBandFilter; - gtModeFilter.value = g_appSettings.gtModeFilter; - gtPropFilter.value = g_appSettings.gtPropFilter; - distanceUnit.value = g_appSettings.distanceUnit; - languageLocale.value = g_appSettings.locale; - N1MMIpInput.value = g_N1MMSettings.ip; - N1MMPortInput.value = g_N1MMSettings.port; - buttonN1MMCheckBox.checked = g_N1MMSettings.enable; + gtBandFilter.value = GT.appSettings.gtBandFilter; + gtModeFilter.value = GT.appSettings.gtModeFilter; + gtPropFilter.value = GT.appSettings.gtPropFilter; + distanceUnit.value = GT.appSettings.distanceUnit; + languageLocale.value = GT.appSettings.locale; + N1MMIpInput.value = GT.N1MMSettings.ip; + N1MMPortInput.value = GT.N1MMSettings.port; + buttonN1MMCheckBox.checked = GT.N1MMSettings.enable; ValidatePort(N1MMPortInput, buttonN1MMCheckBox, null); ValidateIPaddress(N1MMIpInput, buttonN1MMCheckBox, null); - log4OMIpInput.value = g_log4OMSettings.ip; - log4OMPortInput.value = g_log4OMSettings.port; - buttonLog4OMCheckBox.checked = g_log4OMSettings.enable; + log4OMIpInput.value = GT.log4OMSettings.ip; + log4OMPortInput.value = GT.log4OMSettings.port; + buttonLog4OMCheckBox.checked = GT.log4OMSettings.enable; ValidatePort(log4OMPortInput, buttonLog4OMCheckBox, null); ValidateIPaddress(log4OMIpInput, buttonLog4OMCheckBox, null); - acLogIpInput.value = g_acLogSettings.ip; - acLogPortInput.value = g_acLogSettings.port; - buttonacLogCheckBox.checked = g_acLogSettings.enable; + acLogIpInput.value = GT.acLogSettings.ip; + acLogPortInput.value = GT.acLogSettings.port; + buttonacLogCheckBox.checked = GT.acLogSettings.enable; ValidatePort(acLogPortInput, buttonacLogCheckBox, null); ValidateIPaddress(acLogIpInput, buttonacLogCheckBox, null); - dxkLogIpInput.value = g_dxkLogSettings.ip; - dxkLogPortInput.value = g_dxkLogSettings.port; - buttondxkLogCheckBox.checked = g_dxkLogSettings.enable; + dxkLogIpInput.value = GT.dxkLogSettings.ip; + dxkLogPortInput.value = GT.dxkLogSettings.port; + buttondxkLogCheckBox.checked = GT.dxkLogSettings.enable; ValidatePort(dxkLogPortInput, buttondxkLogCheckBox, null); ValidateIPaddress(dxkLogIpInput, buttondxkLogCheckBox, null); - hrdLogbookIpInput.value = g_HRDLogbookLogSettings.ip; - hrdLogbookPortInput.value = g_HRDLogbookLogSettings.port; - buttonHrdLogbookCheckBox.checked = g_HRDLogbookLogSettings.enable; + hrdLogbookIpInput.value = GT.HRDLogbookLogSettings.ip; + hrdLogbookPortInput.value = GT.HRDLogbookLogSettings.port; + buttonHrdLogbookCheckBox.checked = GT.HRDLogbookLogSettings.enable; ValidatePort(hrdLogbookPortInput, buttonHrdLogbookCheckBox, null); ValidateIPaddress(hrdLogbookIpInput, buttonHrdLogbookCheckBox, null); - pstrotatorIpInput.value = g_pstrotatorSettings.ip; - pstrotatorPortInput.value = g_pstrotatorSettings.port; - pstrotatorCheckBox.checked = g_pstrotatorSettings.enable; + pstrotatorIpInput.value = GT.pstrotatorSettings.ip; + pstrotatorPortInput.value = GT.pstrotatorSettings.port; + pstrotatorCheckBox.checked = GT.pstrotatorSettings.enable; ValidatePort(pstrotatorPortInput, pstrotatorCheckBox, null); ValidateIPaddress(pstrotatorIpInput, pstrotatorCheckBox, null); spotHistoryTimeValue.value = parseInt( - g_receptionSettings.viewHistoryTimeSec / 60 + GT.receptionSettings.viewHistoryTimeSec / 60 ); spotHistoryTimeTd.innerHTML = - "Max Age: " + Number(g_receptionSettings.viewHistoryTimeSec).toDHM(); + "Max Age: " + toDHM(Number(GT.receptionSettings.viewHistoryTimeSec)); - spotPathsValue.checked = g_receptionSettings.viewPaths; - spotPathColorValue.value = g_receptionSettings.pathColor; - spotNightPathColorValue.value = g_receptionSettings.pathNightColor; - spotWidthTd.innerHTML = spotWidthValue.value = g_receptionSettings.spotWidth; + spotPathsValue.checked = GT.receptionSettings.viewPaths; + spotPathColorValue.value = GT.receptionSettings.pathColor; + spotNightPathColorValue.value = GT.receptionSettings.pathNightColor; + spotWidthTd.innerHTML = spotWidthValue.value = GT.receptionSettings.spotWidth; - spotMergeValue.checked = g_receptionSettings.mergeSpots; + spotMergeValue.checked = GT.receptionSettings.mergeSpots; - lookupOnTx.checked = g_appSettings.lookupOnTx; - lookupCallookPreferred.checked = g_appSettings.lookupCallookPreferred; - lookupCloseLog.checked = g_appSettings.lookupCloseLog; - lookupMerge.checked = g_appSettings.lookupMerge; - lookupMissingGrid.checked = g_appSettings.lookupMissingGrid; + lookupOnTx.checked = GT.appSettings.lookupOnTx; + lookupCallookPreferred.checked = GT.appSettings.lookupCallookPreferred; + lookupCloseLog.checked = GT.appSettings.lookupCloseLog; + lookupMerge.checked = GT.appSettings.lookupMerge; + lookupMissingGrid.checked = GT.appSettings.lookupMissingGrid; - clearOnCQ.checked = g_appSettings.clearOnCQ; + clearOnCQ.checked = GT.appSettings.clearOnCQ; - if (g_appSettings.lookupMerge == true) + if (GT.appSettings.lookupMerge == true) { lookupMissingGridDiv.style.display = "inline-block"; } @@ -12868,7 +12869,7 @@ function loadViewSettings() lookupMissingGridDiv.style.display = "none"; } - if (g_receptionSettings.viewPaths) + if (GT.receptionSettings.viewPaths) { spotPathWidthDiv.style.display = "inline-block"; } @@ -12883,18 +12884,18 @@ function loadViewSettings() function loadMsgSettings() { - msgEnable.checked = g_appSettings.gtMsgEnable; - GTspotEnable.checked = g_appSettings.gtSpotEnable; + msgEnable.checked = GT.appSettings.gtMsgEnable; + GTspotEnable.checked = GT.appSettings.gtSpotEnable; - oamsBandActivity.checked = g_appSettings.oamsBandActivity; - oamsBandActivityNeighbors.checked = g_appSettings.oamsBandActivityNeighbors; + oamsBandActivity.checked = GT.appSettings.oamsBandActivity; + oamsBandActivityNeighbors.checked = GT.appSettings.oamsBandActivityNeighbors; setOamsBandActivity(oamsBandActivity); setSpotImage(); - for (var key in g_msgSettings) + for (var key in GT.msgSettings) { - document.getElementById(key).value = g_msgSettings[key]; + document.getElementById(key).value = GT.msgSettings[key]; } ValidateText(msgAwayText); setMsgSettingsView(); @@ -12905,16 +12906,16 @@ function setMsgSettingsView() if (msgEnable.checked) msgSettingsDiv.style.display = "inline-block"; else msgSettingsDiv.style.display = "none"; - if (g_msgSettings.msgAlertSelect > 0) + if (GT.msgSettings.msgAlertSelect > 0) { msgFrequencySelectDiv.style.display = "inline-block"; - if (g_msgSettings.msgAlertSelect == 1) + if (GT.msgSettings.msgAlertSelect == 1) { msgAlertWord.style.display = "inline-block"; msgAlertMedia.style.display = "none"; ValidateText(msgAlertWord); } - if (g_msgSettings.msgAlertSelect == 2) + if (GT.msgSettings.msgAlertSelect == 2) { msgAlertWord.style.display = "none"; msgAlertMedia.style.display = "inline-block"; @@ -12927,30 +12928,30 @@ function setMsgSettingsView() msgAlertMedia.style.display = "none"; } - if (g_msgSettings.msgAwaySelect > 0) { msgAwayTextDiv.style.display = "inline-block"; } + if (GT.msgSettings.msgAwaySelect > 0) { msgAwayTextDiv.style.display = "inline-block"; } else msgAwayTextDiv.style.display = "none"; } function loadAdifSettings() { - workingCallsignEnable.checked = g_appSettings.workingCallsignEnable; + workingCallsignEnable.checked = GT.appSettings.workingCallsignEnable; workingCallsignsValue.value = Object.keys( - g_appSettings.workingCallsigns + GT.appSettings.workingCallsigns ).join(","); ValidateCallsigns(workingCallsignsValue); - workingDateEnable.checked = g_appSettings.workingDateEnable; + workingDateEnable.checked = GT.appSettings.workingDateEnable; displayWorkingDate(); - if (g_platform == "mac") + if (GT.platform == "mac") { selectTQSLButton.style.display = "none"; } - for (var key in g_adifLogSettings.menu) + for (var key in GT.adifLogSettings.menu) { - var value = g_adifLogSettings.menu[key]; + var value = GT.adifLogSettings.menu[key]; var where = key + "Div"; if (document.getElementById(key) != null) { @@ -12965,15 +12966,15 @@ function loadAdifSettings() } } } - for (var key in g_adifLogSettings.startup) + for (var key in GT.adifLogSettings.startup) { - if (document.getElementById(key) != null) { document.getElementById(key).checked = g_adifLogSettings.startup[key]; } + if (document.getElementById(key) != null) { document.getElementById(key).checked = GT.adifLogSettings.startup[key]; } } - for (var key in g_adifLogSettings.nickname) + for (var key in GT.adifLogSettings.nickname) { if (document.getElementById(key) != null) { - document.getElementById(key).checked = g_adifLogSettings.nickname[key]; + document.getElementById(key).checked = GT.adifLogSettings.nickname[key]; if (key == "nicknameeQSLCheckBox") { if (document.getElementById(key).checked == true) @@ -12987,19 +12988,19 @@ function loadAdifSettings() } } } - for (var key in g_adifLogSettings.text) + for (var key in GT.adifLogSettings.text) { if (document.getElementById(key) != null) { - document.getElementById(key).value = g_adifLogSettings.text[key]; + document.getElementById(key).value = GT.adifLogSettings.text[key]; ValidateText(document.getElementById(key)); } } - for (var key in g_adifLogSettings.qsolog) + for (var key in GT.adifLogSettings.qsolog) { if (document.getElementById(key) != null) { - document.getElementById(key).checked = g_adifLogSettings.qsolog[key]; + document.getElementById(key).checked = GT.adifLogSettings.qsolog[key]; if (key == "logLOTWqsoCheckBox") { if (document.getElementById(key).checked == true) @@ -13019,7 +13020,7 @@ function loadAdifSettings() { clubCall.value = myRawCall; ValidateText(clubCall); - localStorage.adifLogSettings = JSON.stringify(g_adifLogSettings); + localStorage.adifLogSettings = JSON.stringify(GT.adifLogSettings); } try @@ -13042,7 +13043,7 @@ function loadAdifSettings() function startupVersionInit() { - if (!g_developerMode) + if (!GT.developerMode) { document.body.addEventListener("contextmenu", function (ev) { @@ -13051,7 +13052,7 @@ function startupVersionInit() } imSureCheck.checked = false; - stopAskingCheckbox.checked = g_appSettings.stopAskingVersion; + stopAskingCheckbox.checked = GT.appSettings.stopAskingVersion; if (stopAskingCheckbox.checked == false) { checkForNewVersion(); @@ -13063,28 +13064,28 @@ function startupButtonsAndInputs() { try { - g_pushPinMode = !(g_appSettings.pushPinMode == true); + GT.pushPinMode = !(GT.appSettings.pushPinMode == true); togglePushPinMode(); - udpForwardEnable.checked = g_appSettings.wsjtForwardUdpEnable; - multicastEnable.checked = g_appSettings.multicast; + udpForwardEnable.checked = GT.appSettings.wsjtForwardUdpEnable; + multicastEnable.checked = GT.appSettings.multicast; - gridViewButton.innerHTML = g_gridViewArray[g_appSettings.gridViewMode]; - earthImg.src = g_earthShadowImageArray[g_appSettings.earthImgSrc]; - gtFlagImg.src = g_gtFlagImageArray[g_appSettings.gtFlagImgSrc % 2]; + gridViewButton.innerHTML = GT.gridViewArray[GT.appSettings.gridViewMode]; + earthImg.src = GT.earthShadowImageArray[GT.appSettings.earthImgSrc]; + gtFlagImg.src = GT.gtFlagImageArray[GT.appSettings.gtFlagImgSrc % 2]; gtShareFlagImg.src = - g_gtShareFlagImageArray[g_appSettings.gtShareEnable == false ? 0 : 1]; + GT.gtShareFlagImageArray[GT.appSettings.gtShareEnable == false ? 0 : 1]; - alertMuteImg.src = g_alertImageArray[g_appSettings.alertMute]; - modeImg.src = g_maidenheadModeImageArray[g_appSettings.sixWideMode]; + alertMuteImg.src = GT.alertImageArray[GT.appSettings.alertMute]; + modeImg.src = GT.maidenheadModeImageArray[GT.appSettings.sixWideMode]; - if (g_appSettings.centerGridsquare.length > 0) + if (GT.appSettings.centerGridsquare.length > 0) { - homeQTHInput.value = g_appSettings.centerGridsquare.substr(0, 6); + homeQTHInput.value = GT.appSettings.centerGridsquare.substr(0, 6); if (ValidateGridsquare(homeQTHInput, null)) setCenterGridsquare(); } ValidateCallsign(alertValueInput, null); - if (g_mapSettings.offlineMode == true) + if (GT.mapSettings.offlineMode == true) { conditionsButton.style.display = "none"; buttonPsk24CheckBoxDiv.style.display = "none"; @@ -13119,26 +13120,26 @@ function startupEventsAndTimers() nodeTimers.setInterval(oamsBandActivityCheck, 300000); } -var g_finishedLoading = false; +GT.finishedLoading = false; function postInit() { - setGridViewMode(g_appSettings.gridViewMode); + setGridViewMode(GT.appSettings.gridViewMode); redrawSpots(); checkForSettings(); updateForwardListener(); addLastTraffic("GridTracker
" + gtShortVersion); - g_nexradEnable = g_mapSettings.usNexrad ? 0 : 1; + GT.nexradEnable = GT.mapSettings.usNexrad ? 0 : 1; toggleNexrad(); - if (String(gtVersion) != String(g_startVersion)) + if (String(gtVersion) != String(GT.startVersion)) { // generalbut.className = "settingsTablinks"; showSettingsBox(); openSettingsTab(updatebut, "updateSettingsDiv"); } - g_finishedLoading = true; + GT.finishedLoading = true; // tagme var x = document.querySelectorAll("input[type='range']"); for (var i = 0; i < x.length; i++) @@ -13153,7 +13154,7 @@ function postInit() openConditionsWindow(false); showMessaging(false); - if (g_developerMode) + if (GT.developerMode) { devPanel.style.display = "inline-block"; } @@ -13168,10 +13169,10 @@ document.addEventListener("dragover", function (event) document.addEventListener("drop", function (event) { event.preventDefault(); - if (g_finishedLoading == true) dropHandler(event); + if (GT.finishedLoading == true) dropHandler(event); }); -var g_startupTable = [ +GT.startupTable = [ [startupVersionInit, "Completed Version Check"], [loadi18n, "Loading Locales"], [qsoBackupFileInit, "QSO Backup Initialized"], @@ -13206,12 +13207,12 @@ function init() { startupVersionDiv.innerHTML = gtVersionString; aboutVersionDiv.innerHTML = gtVersionString; - g_currentDay = parseInt(timeNowSec() / 86400); + GT.currentDay = parseInt(timeNowSec() / 86400); if (mediaCheck() == false) { startupDiv.style.display = "none"; documentsDiv.style.display = "block"; - searchedDocFolder.innerHTML = g_appData; + searchedDocFolder.innerHTML = GT.appData; } else { @@ -13224,9 +13225,9 @@ function init() function startupEngine() { - if (g_startupTable.length > 0) + if (GT.startupTable.length > 0) { - var funcInfo = g_startupTable.shift(); + var funcInfo = GT.startupTable.shift(); funcInfo[0](); startupStatusDiv.innerHTML = funcInfo[1]; nodeTimers.setTimeout(startupEngine, 32); @@ -13242,7 +13243,7 @@ function startupEngine() function directoryInput(what) { - g_appSettings.savedAppData = what.files[0].path; + GT.appSettings.savedAppData = what.files[0].path; init(); } @@ -13250,33 +13251,33 @@ function endStartup() { startupDiv.style.display = "none"; main.style.display = "block"; - g_map.updateSize(); + GT.map.updateSize(); } function loadPortSettings() { - multicastEnable.checked = g_appSettings.multicast; - multicastIpInput.value = g_appSettings.wsjtIP; + multicastEnable.checked = GT.appSettings.multicast; + multicastIpInput.value = GT.appSettings.wsjtIP; setMulticastEnable(multicastEnable); - udpPortInput.value = g_appSettings.wsjtUdpPort; + udpPortInput.value = GT.appSettings.wsjtUdpPort; ValidatePort(udpPortInput, null, CheckReceivePortIsNotForwardPort); - udpForwardPortInput.value = g_appSettings.wsjtForwardUdpPort; + udpForwardPortInput.value = GT.appSettings.wsjtForwardUdpPort; ValidatePort(udpForwardPortInput, null, CheckForwardPortIsNotReceivePort); - udpForwardIpInput.value = g_appSettings.wsjtForwardUdpIp; + udpForwardIpInput.value = GT.appSettings.wsjtForwardUdpIp; ValidateIPaddress(udpForwardIpInput, null); - udpForwardEnable.checked = g_appSettings.wsjtForwardUdpEnable; + udpForwardEnable.checked = GT.appSettings.wsjtForwardUdpEnable; setUdpForwardEnable(udpForwardEnable); } -var g_wsjtCurrentPort = -1; -var g_wsjtUdpServer = null; -var g_wsjtUdpSocketReady = false; -var g_wsjtUdpSocketError = false; -var g_qtToSplice = 0; +GT.wsjtCurrentPort = -1; +GT.wsjtUdpServer = null; +GT.wsjtUdpSocketReady = false; +GT.wsjtUdpSocketError = false; +GT.qtToSplice = 0; function decodeQUINT8(byteArray) { - g_qtToSplice = 1; + GT.qtToSplice = 1; return byteArray[0]; } @@ -13287,7 +13288,7 @@ function encodeQBOOL(byteArray, offset, value) function decodeQUINT32(byteArray) { - g_qtToSplice = 4; + GT.qtToSplice = 4; return byteArray.readUInt32BE(0); } @@ -13299,7 +13300,7 @@ function encodeQUINT32(byteArray, offset, value) function decodeQINT32(byteArray) { - g_qtToSplice = 4; + GT.qtToSplice = 4; return byteArray.readInt32BE(0); } @@ -13315,7 +13316,7 @@ function decodeQUINT64(byteArray) { value = value * 256 + byteArray[i]; } - g_qtToSplice = 8; + GT.qtToSplice = 8; return value; } @@ -13338,10 +13339,10 @@ function decodeQUTF8(byteArray) { var utf8_len = decodeQUINT32(byteArray); var result = ""; - byteArray = byteArray.slice(g_qtToSplice); + byteArray = byteArray.slice(GT.qtToSplice); if (utf8_len == 0xffffffff) utf8_len = 0; else result = byteArray.slice(0, utf8_len); - g_qtToSplice = utf8_len + 4; + GT.qtToSplice = utf8_len + 4; return result.toString(); } @@ -13354,7 +13355,7 @@ function encodeQUTF8(byteArray, offset, value) function decodeQDOUBLE(byteArray) { - g_qtToSplice = 8; + GT.qtToSplice = 8; return byteArray.readDoubleBE(0); } @@ -13363,154 +13364,154 @@ function encodeQDOUBLE(byteArray, offset, value) return byteArray.writeDoubleBE(value, offset); } -var g_forwardUdpServer = null; +GT.forwardUdpServer = null; function updateForwardListener() { - if (g_forwardUdpServer != null) + if (GT.forwardUdpServer != null) { - g_forwardUdpServer.close(); + GT.forwardUdpServer.close(); } - if (g_closing == true) return; + if (GT.closing == true) return; var dgram = require("dgram"); - g_forwardUdpServer = dgram.createSocket({ + GT.forwardUdpServer = dgram.createSocket({ type: "udp4", reuseAddr: true }); - g_forwardUdpServer.on("listening", function () { }); - g_forwardUdpServer.on("error", function () + GT.forwardUdpServer.on("listening", function () { }); + GT.forwardUdpServer.on("error", function () { - g_forwardUdpServer.close(); - g_forwardUdpServer = null; + GT.forwardUdpServer.close(); + GT.forwardUdpServer = null; }); - g_forwardUdpServer.on("message", function (originalMessage, remote) + GT.forwardUdpServer.on("message", function (originalMessage, remote) { // Decode enough to get the rig-name, so we know who to send to var message = Object.assign({}, originalMessage); var newMessage = {}; newMessage.magic_key = decodeQUINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); if (newMessage.magic_key == 0xadbccbda) { newMessage.schema_number = decodeQUINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.type = decodeQUINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.Id = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); var instanceId = newMessage.Id; - if (instanceId in g_instances) + if (instanceId in GT.instances) { wsjtUdpMessage( originalMessage, originalMessage.length, - g_instances[instanceId].remote.port, - g_instances[instanceId].remote.address + GT.instances[instanceId].remote.port, + GT.instances[instanceId].remote.address ); } } }); - g_forwardUdpServer.bind(0); + GT.forwardUdpServer.bind(0); } function sendForwardUdpMessage(msg, length, port, address) { - if (g_forwardUdpServer) + if (GT.forwardUdpServer) { - g_forwardUdpServer.send(msg, 0, length, port, address); + GT.forwardUdpServer.send(msg, 0, length, port, address); } } function wsjtUdpMessage(msg, length, port, address) { - if (g_wsjtUdpServer) + if (GT.wsjtUdpServer) { - g_wsjtUdpServer.send(msg, 0, length, port, address); + GT.wsjtUdpServer.send(msg, 0, length, port, address); } } function checkWsjtxListener() { if ( - g_wsjtUdpServer == null || - (g_wsjtUdpSocketReady == false && g_wsjtUdpSocketError == true) + GT.wsjtUdpServer == null || + (GT.wsjtUdpSocketReady == false && GT.wsjtUdpSocketError == true) ) { - g_wsjtCurrentPort = -1; - g_wsjtCurrentIP = "none"; + GT.wsjtCurrentPort = -1; + GT.wsjtCurrentIP = "none"; } - updateWsjtxListener(g_appSettings.wsjtUdpPort); + updateWsjtxListener(GT.appSettings.wsjtUdpPort); } -var g_instances = {}; -var g_instancesIndex = Array(); +GT.instances = {}; +GT.instancesIndex = Array(); -var g_activeInstance = ""; -var g_activeIndex = 0; +GT.activeInstance = ""; +GT.activeIndex = 0; -var g_currentID = null; +GT.currentID = null; function updateWsjtxListener(port) { - if (port == g_wsjtCurrentPort && g_appSettings.wsjtIP == g_wsjtCurrentIP) { return; } - if (g_wsjtUdpServer != null) + if (port == GT.wsjtCurrentPort && GT.appSettings.wsjtIP == GT.wsjtCurrentIP) { return; } + if (GT.wsjtUdpServer != null) { - if (multicastEnable.checked == true && g_appSettings.wsjtIP != "") + if (multicastEnable.checked == true && GT.appSettings.wsjtIP != "") { try { - g_wsjtUdpServer.dropMembership(g_appSettings.wsjtIP); + GT.wsjtUdpServer.dropMembership(GT.appSettings.wsjtIP); } catch (e) { console.error(e); } } - g_wsjtUdpServer.close(); - g_wsjtUdpServer = null; - g_wsjtUdpSocketReady = false; + GT.wsjtUdpServer.close(); + GT.wsjtUdpServer = null; + GT.wsjtUdpSocketReady = false; } - if (g_closing == true) return; - g_wsjtUdpSocketError = false; + if (GT.closing == true) return; + GT.wsjtUdpSocketError = false; var dgram = require("dgram"); - g_wsjtUdpServer = dgram.createSocket({ + GT.wsjtUdpServer = dgram.createSocket({ type: "udp4", reuseAddr: true }); - if (multicastEnable.checked == true && g_appSettings.wsjtIP != "") + if (multicastEnable.checked == true && GT.appSettings.wsjtIP != "") { - g_wsjtUdpServer.on("listening", function () + GT.wsjtUdpServer.on("listening", function () { - var address = g_wsjtUdpServer.address(); - g_wsjtUdpServer.setBroadcast(true); - g_wsjtUdpServer.setMulticastTTL(128); - g_wsjtUdpServer.addMembership(g_appSettings.wsjtIP); - g_wsjtUdpSocketReady = true; + var address = GT.wsjtUdpServer.address(); + GT.wsjtUdpServer.setBroadcast(true); + GT.wsjtUdpServer.setMulticastTTL(128); + GT.wsjtUdpServer.addMembership(GT.appSettings.wsjtIP); + GT.wsjtUdpSocketReady = true; }); } else { - g_appSettings.multicast = false; - g_wsjtCurrentIP = g_appSettings.wsjtIP = ""; - g_wsjtUdpServer.on("listening", function () + GT.appSettings.multicast = false; + GT.wsjtCurrentIP = GT.appSettings.wsjtIP = ""; + GT.wsjtUdpServer.on("listening", function () { - g_wsjtUdpServer.setBroadcast(true); - g_wsjtUdpSocketReady = true; + GT.wsjtUdpServer.setBroadcast(true); + GT.wsjtUdpSocketReady = true; }); } - g_wsjtUdpServer.on("error", function () + GT.wsjtUdpServer.on("error", function () { - g_wsjtUdpServer.close(); - g_wsjtUdpServer = null; - g_wsjtUdpSocketReady = false; - g_wsjtUdpSocketError = true; + GT.wsjtUdpServer.close(); + GT.wsjtUdpServer = null; + GT.wsjtUdpSocketReady = false; + GT.wsjtUdpSocketError = true; }); - g_wsjtUdpServer.on("message", function (message, remote) + GT.wsjtUdpServer.on("message", function (message, remote) { - // if (g_closing == true) true; + // if (GT.closing == true) true; if ( typeof udpForwardEnable != "undefined" && @@ -13527,27 +13528,27 @@ function updateWsjtxListener(port) var newMessage = {}; newMessage.magic_key = decodeQUINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); if (newMessage.magic_key == 0xadbccbda) { newMessage.schema_number = decodeQUINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.type = decodeQUINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.Id = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); var instanceId = newMessage.Id; - if (!(instanceId in g_instances)) + if (!(instanceId in GT.instances)) { - g_instances[instanceId] = {}; - g_instances[instanceId].valid = false; - g_instancesIndex.push(instanceId); - g_instances[instanceId].intId = g_instancesIndex.length - 1; - g_instances[instanceId].crEnable = true; - g_instances[instanceId].oldStatus = null; - g_instances[instanceId].status = null; - if (g_instancesIndex.length > 1) + GT.instances[instanceId] = {}; + GT.instances[instanceId].valid = false; + GT.instancesIndex.push(instanceId); + GT.instances[instanceId].intId = GT.instancesIndex.length - 1; + GT.instances[instanceId].crEnable = true; + GT.instances[instanceId].oldStatus = null; + GT.instances[instanceId].status = null; + if (GT.instancesIndex.length > 1) { multiRigCRDiv.style.display = "inline-block"; haltTXDiv.style.display = "inline-block"; @@ -13555,9 +13556,9 @@ function updateWsjtxListener(port) updateRosterInstances(); } var notify = false; - if (g_instances[instanceId].open == false) notify = true; - g_instances[instanceId].open = true; - g_instances[instanceId].remote = remote; + if (GT.instances[instanceId].open == false) notify = true; + GT.instances[instanceId].open = true; + GT.instances[instanceId].remote = remote; if (notify) updateRosterInstances(); @@ -13565,43 +13566,43 @@ function updateWsjtxListener(port) { newMessage.event = "Status"; newMessage.Frequency = decodeQUINT64(message); - newMessage.Band = Number(newMessage.Frequency / 1000000).formatBand(); - message = message.slice(g_qtToSplice); + newMessage.Band = formatBand(Number(newMessage.Frequency / 1000000)); + message = message.slice(GT.qtToSplice); newMessage.MO = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.DXcall = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.Report = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.TxMode = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.TxEnabled = decodeQUINT8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.Transmitting = decodeQUINT8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.Decoding = decodeQUINT8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.RxDF = decodeQINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.TxDF = decodeQINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.DEcall = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.DEgrid = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.DXgrid = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.TxWatchdog = decodeQUINT8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.Submode = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.Fastmode = decodeQUINT8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); if (message.length > 0) { newMessage.SopMode = decodeQUINT8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); } else { @@ -13610,7 +13611,7 @@ function updateWsjtxListener(port) if (message.length > 0) { newMessage.FreqTol = decodeQINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); } else { @@ -13619,7 +13620,7 @@ function updateWsjtxListener(port) if (message.length > 0) { newMessage.TRP = decodeQINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); } else { @@ -13628,7 +13629,7 @@ function updateWsjtxListener(port) if (message.length > 0) { newMessage.ConfName = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); } else { @@ -13637,45 +13638,45 @@ function updateWsjtxListener(port) if (message.length > 0) { newMessage.TxMessage = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); } else { newMessage.TxMessage = null; } - g_instances[instanceId].oldStatus = g_instances[instanceId].status; - g_instances[instanceId].status = newMessage; - g_instances[instanceId].valid = true; + GT.instances[instanceId].oldStatus = GT.instances[instanceId].status; + GT.instances[instanceId].status = newMessage; + GT.instances[instanceId].valid = true; } - if (g_instances[instanceId].valid == true) + if (GT.instances[instanceId].valid == true) { if (newMessage.type == 2) { newMessage.event = "Decode"; newMessage.NW = decodeQUINT8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.TM = decodeQUINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.SR = decodeQINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.DT = decodeQDOUBLE(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.DF = decodeQUINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.MO = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.Msg = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.LC = decodeQUINT8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.OA = decodeQUINT8(message); - message = message.slice(g_qtToSplice); - newMessage.OF = g_instances[instanceId].status.Frequency; - newMessage.OC = g_instances[instanceId].status.DEcall; - newMessage.OG = g_instances[instanceId].status.DEgrid; - newMessage.OM = g_instances[instanceId].status.MO; - newMessage.OB = g_instances[instanceId].status.Band; - newMessage.SP = g_instances[instanceId].status.SopMode; + message = message.slice(GT.qtToSplice); + newMessage.OF = GT.instances[instanceId].status.Frequency; + newMessage.OC = GT.instances[instanceId].status.DEcall; + newMessage.OG = GT.instances[instanceId].status.DEgrid; + newMessage.OM = GT.instances[instanceId].status.MO; + newMessage.OB = GT.instances[instanceId].status.Band; + newMessage.SP = GT.instances[instanceId].status.SopMode; } if (newMessage.type == 3) { @@ -13685,77 +13686,77 @@ function updateWsjtxListener(port) { newMessage.event = "QSO Logged"; newMessage.DateOff = decodeQUINT64(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.TimeOff = decodeQUINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.timespecOff = decodeQUINT8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); if (newMessage.timespecOff == 2) { newMessage.offsetOff = decodeQINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); } newMessage.DXCall = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.DXGrid = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.Frequency = decodeQUINT64(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.MO = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.ReportSend = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.ReportRecieved = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.TXPower = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.Comments = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.Name = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.DateOn = decodeQUINT64(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.TimeOn = decodeQUINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.timespecOn = decodeQUINT8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); if (newMessage.timespecOn == 2) { newMessage.offsetOn = decodeQINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); } if (message.length > 0) { newMessage.Operatorcall = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); } else newMessage.Operatorcall = ""; if (message.length > 0) { newMessage.Mycall = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); } else newMessage.Mycall = ""; if (message.length > 0) { newMessage.Mygrid = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); } else newMessage.Mygrid = ""; if (message.length > 0) { newMessage.ExchangeSent = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); } else newMessage.ExchangeSent = ""; if (message.length > 0) { newMessage.ExchangeReceived = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); } else newMessage.ExchangeReceived = ""; } @@ -13767,73 +13768,73 @@ function updateWsjtxListener(port) { newMessage.event = "WSPRDecode"; newMessage.NW = decodeQUINT8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.TM = decodeQUINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.SR = decodeQINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.DT = decodeQDOUBLE(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.Frequency = decodeQUINT64(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.Drift = decodeQINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.Callsign = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.Grid = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.Power = decodeQINT32(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); newMessage.OA = decodeQUINT8(message); - message = message.slice(g_qtToSplice); - newMessage.OF = g_instances[instanceId].status.Frequency; - newMessage.OC = g_instances[instanceId].status.DEcall; - newMessage.OG = g_instances[instanceId].status.DEgrid; - newMessage.OM = g_instances[instanceId].status.MO; - newMessage.OB = g_instances[instanceId].status.Band; + message = message.slice(GT.qtToSplice); + newMessage.OF = GT.instances[instanceId].status.Frequency; + newMessage.OC = GT.instances[instanceId].status.DEcall; + newMessage.OG = GT.instances[instanceId].status.DEgrid; + newMessage.OM = GT.instances[instanceId].status.MO; + newMessage.OB = GT.instances[instanceId].status.Band; } if (newMessage.type == 12) { newMessage.event = "ADIF"; newMessage.ADIF = decodeQUTF8(message); - message = message.slice(g_qtToSplice); + message = message.slice(GT.qtToSplice); } - if (newMessage.type in g_wsjtHandlers) + if (newMessage.type in GT.wsjtHandlers) { newMessage.remote = remote; newMessage.instance = instanceId; lastMsgTimeDiv.innerHTML = "Received from " + newMessage.Id; - g_wsjtHandlers[newMessage.type](newMessage); - g_lastTimeSinceMessageInSeconds = parseInt(Date.now() / 1000); + GT.wsjtHandlers[newMessage.type](newMessage); + GT.lastTimeSinceMessageInSeconds = parseInt(Date.now() / 1000); } } } }); - g_wsjtUdpServer.bind(port); - g_wsjtCurrentPort = port; - g_wsjtCurrentIP = g_appSettings.wsjtIP; + GT.wsjtUdpServer.bind(port); + GT.wsjtCurrentPort = port; + GT.wsjtCurrentIP = GT.appSettings.wsjtIP; } function loadLookupDetails() { - lookupService.value = g_appSettings.lookupService; + lookupService.value = GT.appSettings.lookupService; if (lookupService.value == "QRZ") { - lookupLogin.value = g_appSettings.lookupLoginQrz; - lookupPassword.value = g_appSettings.lookupPasswordQrz; + lookupLogin.value = GT.appSettings.lookupLoginQrz; + lookupPassword.value = GT.appSettings.lookupPasswordQrz; } if (lookupService.value == "QRZCQ") { - lookupLogin.value = g_appSettings.lookupLoginCq; - lookupPassword.value = g_appSettings.lookupPasswordCq; + lookupLogin.value = GT.appSettings.lookupLoginCq; + lookupPassword.value = GT.appSettings.lookupPasswordCq; } if (lookupService.value == "HAMQTH") { - lookupLogin.value = g_appSettings.lookupLoginQth; - lookupPassword.value = g_appSettings.lookupPasswordQth; + lookupLogin.value = GT.appSettings.lookupLoginQth; + lookupPassword.value = GT.appSettings.lookupPasswordQth; } ValidateText(lookupLogin); ValidateText(lookupPassword); @@ -13843,69 +13844,69 @@ function loadLookupDetails() function lookupValueChanged(what) { - if (g_appSettings.lookupService != lookupService.value) + if (GT.appSettings.lookupService != lookupService.value) { - g_lastLookupCallsign = ""; + GT.lastLookupCallsign = ""; if (lookupService.value == "QRZ") { - lookupLogin.value = g_appSettings.lookupLoginQrz; - lookupPassword.value = g_appSettings.lookupPasswordQrz; + lookupLogin.value = GT.appSettings.lookupLoginQrz; + lookupPassword.value = GT.appSettings.lookupPasswordQrz; } if (lookupService.value == "QRZCQ") { - lookupLogin.value = g_appSettings.lookupLoginCq; - lookupPassword.value = g_appSettings.lookupPasswordCq; + lookupLogin.value = GT.appSettings.lookupLoginCq; + lookupPassword.value = GT.appSettings.lookupPasswordCq; } if (lookupService.value == "HAMQTH") { - lookupLogin.value = g_appSettings.lookupLoginQth; - lookupPassword.value = g_appSettings.lookupPasswordQth; + lookupLogin.value = GT.appSettings.lookupLoginQth; + lookupPassword.value = GT.appSettings.lookupPasswordQth; } } - g_appSettings.lookupService = lookupService.value; - g_appSettings.lookupCallookPreferred = lookupCallookPreferred.checked; + GT.appSettings.lookupService = lookupService.value; + GT.appSettings.lookupCallookPreferred = lookupCallookPreferred.checked; lookupQrzTestResult.innerHTML = ""; - g_qrzLookupSessionId = null; + GT.qrzLookupSessionId = null; if (lookupService.value == "CALLOOK") { lookupCredentials.style.display = "none"; } else lookupCredentials.style.display = "block"; if (ValidateText(lookupLogin) && ValidateText(lookupPassword)) { if (lookupService.value == "QRZ") { - g_appSettings.lookupLoginQrz = lookupLogin.value; - g_appSettings.lookupPasswordQrz = lookupPassword.value; + GT.appSettings.lookupLoginQrz = lookupLogin.value; + GT.appSettings.lookupPasswordQrz = lookupPassword.value; } if (lookupService.value == "QRZCQ") { - g_appSettings.lookupLoginCq = lookupLogin.value; - g_appSettings.lookupPasswordCq = lookupPassword.value; + GT.appSettings.lookupLoginCq = lookupLogin.value; + GT.appSettings.lookupPasswordCq = lookupPassword.value; } if (lookupService.value == "HAMQTH") { - g_appSettings.lookupLoginQth = lookupLogin.value; - g_appSettings.lookupPasswordQth = lookupPassword.value; + GT.appSettings.lookupLoginQth = lookupLogin.value; + GT.appSettings.lookupPasswordQth = lookupPassword.value; } } } -var g_lastLookupCallsign = ""; -var g_lookupTimeout = null; +GT.lastLookupCallsign = ""; +GT.lookupTimeout = null; function lookupCallsign(callsign, gridPass, useCache = true) { - if (g_mapSettings.offlineMode == true && useCache == false) return; - g_lastLookupCallsign = callsign; + if (GT.mapSettings.offlineMode == true && useCache == false) return; + GT.lastLookupCallsign = callsign; - if (g_lookupWindowHandle && g_lookupWindowInitialized) + if (GT.lookupWindowHandle && GT.lookupWindowInitialized) { - g_lookupWindowHandle.window.lookupCallsignInput.value = callsign; + GT.lookupWindowHandle.window.lookupCallsignInput.value = callsign; lookupValidateCallByElement("lookupCallsignInput"); } - if (g_lookupTimeout != null) + if (GT.lookupTimeout != null) { - nodeTimers.clearTimeout(g_lookupTimeout); - g_lookupTimeout = null; + nodeTimers.clearTimeout(GT.lookupTimeout); + GT.lookupTimeout = null; } - g_lookupTimeout = nodeTimers.setTimeout(searchLogForCallsign, 500, callsign); + GT.lookupTimeout = nodeTimers.setTimeout(searchLogForCallsign, 500, callsign); if (useCache) { @@ -13926,15 +13927,15 @@ function continueWithLookup(callsign, gridPass) "Looking up " + callsign + ", please wait..." ); - if (g_appSettings.lookupCallookPreferred) + if (GT.appSettings.lookupCallookPreferred) { var dxcc = callsignToDxcc(callsign); var where; var ccode = 0; - if (dxcc in g_dxccToAltName) + if (dxcc in GT.dxccToAltName) { - where = g_dxccToAltName[dxcc]; - ccode = g_dxccInfo[dxcc].ccode; + where = GT.dxccToAltName[dxcc]; + ccode = GT.dxccInfo[dxcc].ccode; } else where = "Unknown"; if (ccode == 840) @@ -13949,22 +13950,22 @@ function continueWithLookup(callsign, gridPass) ); } } - if (g_appSettings.lookupService != "CALLOOK") + if (GT.appSettings.lookupService != "CALLOOK") { - g_qrzLookupCallsign = callsign; - g_qrzLookupGrid = gridPass; + GT.qrzLookupCallsign = callsign; + GT.qrzLookupGrid = gridPass; if ( - g_qrzLookupSessionId == null || - timeNowSec() - g_sinceLastLookup > 3600 + GT.qrzLookupSessionId == null || + timeNowSec() - GT.sinceLastLookup > 3600 ) { - g_qrzLookupSessionId = null; - g_sinceLastLookup = timeNowSec(); + GT.qrzLookupSessionId = null; + GT.sinceLastLookup = timeNowSec(); GetSessionID(null, true); } else { - g_sinceLastLookup = timeNowSec(); + GT.sinceLastLookup = timeNowSec(); GetLookup(true); } } @@ -13973,10 +13974,10 @@ function continueWithLookup(callsign, gridPass) var dxcc = callsignToDxcc(callsign); var where; var ccode = 0; - if (dxcc in g_dxccToAltName) + if (dxcc in GT.dxccToAltName) { - where = g_dxccToAltName[dxcc]; - ccode = g_dxccInfo[dxcc].ccode; + where = GT.dxccToAltName[dxcc]; + ccode = GT.dxccInfo[dxcc].ccode; } else where = "Unknown"; if (ccode == 840) @@ -14018,7 +14019,7 @@ function callookResults(buffer, gridPass) { var callObject = {}; var dxcc = callsignToDxcc(results.current.callsign); - if (dxcc in g_dxccToAltName) callObject.land = g_dxccToAltName[dxcc]; + if (dxcc in GT.dxccToAltName) callObject.land = GT.dxccToAltName[dxcc]; callObject.type = results.type; callObject.call = results.current.callsign; callObject.dxcc = dxcc; @@ -14060,22 +14061,22 @@ function callookResults(buffer, gridPass) } else setLookupDiv("lookupInfoDiv", "Unknown Lookup Error"); } -var g_qrzLookupSessionId = null; -var g_qrzLookupCallsign = ""; -var g_qrzLookupGrid = ""; -var g_sinceLastLookup = 0; +GT.qrzLookupSessionId = null; +GT.qrzLookupCallsign = ""; +GT.qrzLookupGrid = ""; +GT.sinceLastLookup = 0; function GetSessionID(resultTd, useCache) { - if (g_mapSettings.offlineMode == true) return; + if (GT.mapSettings.offlineMode == true) return; if (resultTd != null) resultTd.innerHTML = "Testing"; - if (g_appSettings.lookupService == "QRZCQ") + if (GT.appSettings.lookupService == "QRZCQ") { getBuffer( "https://ssl.qrzcq.com/xml?username=" + - g_appSettings.lookupLoginCq + + GT.appSettings.lookupLoginCq + "&password=" + - encodeURIComponent(g_appSettings.lookupPasswordCq) + + encodeURIComponent(GT.appSettings.lookupPasswordCq) + "&agent=GridTracker1.18", qrzGetSessionCallback, resultTd, @@ -14084,13 +14085,13 @@ function GetSessionID(resultTd, useCache) useCache ); } - else if (g_appSettings.lookupService == "QRZ") + else if (GT.appSettings.lookupService == "QRZ") { getBuffer( "https://xmldata.qrz.com/xml/current/?username=" + - g_appSettings.lookupLoginQrz + + GT.appSettings.lookupLoginQrz + ";password=" + - encodeURIComponent(g_appSettings.lookupPasswordQrz), + encodeURIComponent(GT.appSettings.lookupPasswordQrz), qrzGetSessionCallback, resultTd, "https", @@ -14102,9 +14103,9 @@ function GetSessionID(resultTd, useCache) { getBuffer( "https://www.hamqth.com/xml.php?u=" + - g_appSettings.lookupLoginQth + + GT.appSettings.lookupLoginQth + "&p=" + - encodeURIComponent(g_appSettings.lookupPasswordQth), + encodeURIComponent(GT.appSettings.lookupPasswordQth), hamQthGetSessionCallback, resultTd, "https", @@ -14127,33 +14128,33 @@ function hamQthGetSessionCallback(buffer, resultTd) if (json.session.hasOwnProperty("session_id")) { result = "Valid"; - g_qrzLookupSessionId = json.session.session_id; + GT.qrzLookupSessionId = json.session.session_id; } else { result = "" + json.session.error + ""; - g_qrzLookupSessionId = null; + GT.qrzLookupSessionId = null; } } else { result = "Invalid Response"; - g_qrzLookupSessionId = null; + GT.qrzLookupSessionId = null; } } else { result = "Unknown Error"; - g_qrzLookupSessionId = null; + GT.qrzLookupSessionId = null; } if (resultTd == null) { // It's a true session Request - SessionResponse(g_qrzLookupSessionId, result); + SessionResponse(GT.qrzLookupSessionId, result); } else { - g_qrzLookupSessionId = null; + GT.qrzLookupSessionId = null; resultTd.innerHTML = result; } } @@ -14171,29 +14172,29 @@ function qrzGetSessionCallback(buffer, resultTd, useCache) if (json.Session.hasOwnProperty("Key")) { result = "Valid"; - g_qrzLookupSessionId = json.Session.Key; + GT.qrzLookupSessionId = json.Session.Key; } else { result = "" + json.Session.Error + ""; - g_qrzLookupSessionId = null; + GT.qrzLookupSessionId = null; } } else { result = "Invalid Response"; - g_qrzLookupSessionId = null; + GT.qrzLookupSessionId = null; } } else { result = "Unknown Error"; - g_qrzLookupSessionId = null; + GT.qrzLookupSessionId = null; } if (resultTd == null) { // It's a true session Request - SessionResponse(g_qrzLookupSessionId, result, useCache); + SessionResponse(GT.qrzLookupSessionId, result, useCache); } else resultTd.innerHTML = result; } @@ -14213,30 +14214,30 @@ function SessionResponse(newKey, result, useCache) function GetLookup(useCache) { - if (g_appSettings.lookupService == "QRZCQ") + if (GT.appSettings.lookupService == "QRZCQ") { getBuffer( "https://ssl.qrzcq.com/xml?s=" + - g_qrzLookupSessionId + + GT.qrzLookupSessionId + "&callsign=" + - g_qrzLookupCallsign + + GT.qrzLookupCallsign + "&agent=GridTracker", qrzLookupResults, - g_qrzLookupGrid, + GT.qrzLookupGrid, "https", 443, useCache ); } - else if (g_appSettings.lookupService == "QRZ") + else if (GT.appSettings.lookupService == "QRZ") { getBuffer( "http://xmldata.qrz.com/xml/current/?s=" + - g_qrzLookupSessionId + + GT.qrzLookupSessionId + ";callsign=" + - g_qrzLookupCallsign, + GT.qrzLookupCallsign, qrzLookupResults, - g_qrzLookupGrid, + GT.qrzLookupGrid, "http", 80, useCache @@ -14246,12 +14247,12 @@ function GetLookup(useCache) { getBuffer( "https://www.hamqth.com/xml.php?id=" + - g_qrzLookupSessionId + + GT.qrzLookupSessionId + "&callsign=" + - g_qrzLookupCallsign + + GT.qrzLookupCallsign + "&prg=GridTracker", qthHamLookupResults, - g_qrzLookupGrid, + GT.qrzLookupGrid, "https", 443, useCache @@ -14279,7 +14280,7 @@ function qthHamLookupResults(buffer, gridPass, useCache) } else { - g_qrzLookupSessionId = null; + GT.qrzLookupSessionId = null; setLookupDiv( "lookupInfoDiv", "
No result for callsign

" @@ -14289,7 +14290,7 @@ function qthHamLookupResults(buffer, gridPass, useCache) else { setLookupDiv("lookupInfoDiv", buffer); - g_qrzLookupSessionId = null; + GT.qrzLookupSessionId = null; } } @@ -14310,7 +14311,7 @@ function qrzLookupResults(buffer, gridPass, useCache) delete json.Callsign.callsign; } if (json.Callsign.hasOwnProperty("call")) call = json.Callsign.call; - if (g_appSettings.lookupService == "QRZ") + if (GT.appSettings.lookupService == "QRZ") { json.Callsign.source = "
Source
"; worker += "
"; - worker += getLookProp(lookup, "call").toUpperCase().formatCallsign(); + worker += formatCallsign(getLookProp(lookup, "call").toUpperCase()); worker += ""; - if (lookup.dxcc > 0 && lookup.dxcc in g_dxccInfo) + if (lookup.dxcc > 0 && lookup.dxcc in GT.dxccInfo) { worker += ""; } worker += "
"; worker += getLookProp(lookup, "addrAttn"); - g_lastLookupAddress += getLookProp(lookup, "addrAttn") + "\n"; + GT.lastLookupAddress += getLookProp(lookup, "addrAttn") + "\n"; worker += "
"; worker += "" + getLookProp(lookup, "name") + ""; - g_lastLookupAddress += getLookProp(lookup, "name") + "\n"; + GT.lastLookupAddress += getLookProp(lookup, "name") + "\n"; worker += "
"; worker += getLookProp(lookup, "addr1"); - g_lastLookupAddress += getLookProp(lookup, "addr1") + "\n"; + GT.lastLookupAddress += getLookProp(lookup, "addr1") + "\n"; worker += "
"; var country = getLookProp(lookup, "country"); worker += country; - g_lastLookupAddress += country + "\n"; + GT.lastLookupAddress += country + "\n"; worker += "
DXCC" + - getLookProp(lookup, "dxcc") + " - " + g_dxccToAltName[getLookProp(lookup, "dxcc")] + + getLookProp(lookup, "dxcc") + " - " + GT.dxccToAltName[getLookProp(lookup, "dxcc")] + "
Distance" + parseInt( MyCircle.distance( - g_myLat, - g_myLon, + GT.myLat, + GT.myLon, Number(lookup.lat), Number(lookup.lon), distanceUnit.value ) * MyCircle.validateRadius(distanceUnit.value) ) + distanceUnit.value.toLowerCase() + "
Azimuth" + bearing + "°
"; @@ -15123,7 +15124,7 @@ function searchLogForCallsign(call) worker += ""; - if (Object.keys(g_blockedCQ).length > 0) + if (Object.keys(CR.blockedCQ).length > 0) { clearString = ""; @@ -1531,7 +1529,7 @@ function openIgnoreEdit() "px;'>
Last QSO"; worker += "" + list[lastRow].band + "," + @@ -15135,23 +15136,23 @@ function searchLogForCallsign(call) worker += "
" + - g_dxccToAltName[dxcc] + + GT.dxccToAltName[dxcc] + " (" + - g_dxccInfo[dxcc].pp + + GT.dxccInfo[dxcc].pp + ")"; - for (var band in g_colorBands) + for (var band in GT.colorBands) { - if (String(dxcc) + "|" + g_colorBands[band] in g_tracker.worked.dxcc) + if (String(dxcc) + "|" + GT.colorBands[band] in GT.tracker.worked.dxcc) { var strike = ""; - if (String(dxcc) + "|" + g_colorBands[band] in g_tracker.confirmed.dxcc) { strike = "text-decoration: underline overline;"; } + if (String(dxcc) + "|" + GT.colorBands[band] in GT.tracker.confirmed.dxcc) { strike = "text-decoration: underline overline;"; } worker += "
" + - g_colorBands[band] + + GT.colorBands[band] + "
 "; } } @@ -15220,24 +15221,24 @@ function purgeUserFiles(userDir, systemDir) function mediaCheck() { - var homeDir = (g_platform == "windows") ? process.env.USERPROFILE : process.env.HOME; + var homeDir = (GT.platform == "windows") ? process.env.USERPROFILE : process.env.HOME; - g_appData = path.join(homeDir, "OneDrive\\Dokumente"); - if (!is_dir(g_appData)) + GT.appData = path.join(homeDir, "OneDrive\\Dokumente"); + if (!is_dir(GT.appData)) { - g_appData = path.join(homeDir, "OneDrive\\Documents"); - if (!is_dir(g_appData)) + GT.appData = path.join(homeDir, "OneDrive\\Documents"); + if (!is_dir(GT.appData)) { - g_appData = path.join(homeDir, "Dokumente") - if (!is_dir(g_appData)) + GT.appData = path.join(homeDir, "Dokumente") + if (!is_dir(GT.appData)) { - g_appData = path.join(homeDir, "Documents") - if (!is_dir(g_appData)) + GT.appData = path.join(homeDir, "Documents") + if (!is_dir(GT.appData)) { - if (g_appSettings.savedAppData != null) + if (GT.appSettings.savedAppData != null) { - g_appData = g_appSettings.savedAppData; - if (!is_dir(g_appData)) return false; + GT.appData = GT.appSettings.savedAppData; + if (!is_dir(GT.appData)) return false; } else { @@ -15248,23 +15249,23 @@ function mediaCheck() } } - g_appData = path.join(g_appData, "GridTracker"); - g_userMediaDir = path.join(g_appData, "media"); - g_jsonDir = path.join(g_appData, "data"); - g_screenshotDir = path.join(g_appData, "screenshots"); - g_scriptDir = path.join(g_appData, "scripts"); + GT.appData = path.join(GT.appData, "GridTracker"); + GT.userMediaDir = path.join(GT.appData, "media"); + GT.jsonDir = path.join(GT.appData, "data"); + GT.screenshotDir = path.join(GT.appData, "screenshots"); + GT.scriptDir = path.join(GT.appData, "scripts"); - g_NWappData = path.join(nw.App.dataPath, "Ginternal"); + GT.NWappData = path.join(nw.App.dataPath, "Ginternal"); try { var tryDirectory = ""; var userdirs = [ - g_appData, - g_NWappData, - g_screenshotDir, - g_scriptDir, - g_userMediaDir + GT.appData, + GT.NWappData, + GT.screenshotDir, + GT.scriptDir, + GT.userMediaDir ]; for (var dir of userdirs) { @@ -15283,13 +15284,13 @@ function mediaCheck() nw.App.quit(); } - g_jsonDir += g_dirSeperator; - g_NWappData += g_dirSeperator; - g_screenshotDir += g_dirSeperator; - g_scriptDir += g_dirSeperator; + GT.jsonDir += GT.dirSeperator; + GT.NWappData += GT.dirSeperator; + GT.screenshotDir += GT.dirSeperator; + GT.scriptDir += GT.dirSeperator; - g_qsoLogFile = path.join(g_appData, "GridTracker_QSO.adif"); - g_LoTWLogFile = path.join(g_appData, "LogbookOfTheWorld.adif"); + GT.qsoLogFile = path.join(GT.appData, "GridTracker_QSO.adif"); + GT.LoTWLogFile = path.join(GT.appData, "LogbookOfTheWorld.adif"); logEventMedia.appendChild(newOption("none", "None")); msgAlertMedia.appendChild(newOption("none", "Select File")); @@ -15302,14 +15303,14 @@ function mediaCheck() huntStatesNotifyMedia.appendChild(newOption("none", "Select File")); huntRosterNotifyMedia.appendChild(newOption("none", "Select File")); - purgeUserFiles(g_userMediaDir, g_gtMediaDir); + purgeUserFiles(GT.userMediaDir, GT.gtMediaDir); // add all the files in both directories to the list, user filenames // override system filenames later var mediaFiles = [].concat( - fs.readdirSync(g_userMediaDir), - fs.readdirSync(g_gtMediaDir) + fs.readdirSync(GT.userMediaDir), + fs.readdirSync(GT.gtMediaDir) ); mediaFiles.forEach((filename) => { @@ -15327,19 +15328,19 @@ function mediaCheck() }); var modeData = fs.readFileSync("./data/modes.json"); - g_modes = JSON.parse(modeData); - for (var key in g_modes) + GT.modes = JSON.parse(modeData); + for (var key in GT.modes) { gtModeFilter.appendChild(newOption(key)); } modeData = fs.readFileSync("./data/modes-phone.json"); - g_modes_phone = JSON.parse(modeData); + GT.modes_phone = JSON.parse(modeData); initQSOdata(); - g_QSOhash = {}; - g_QSLcount = 0; - g_QSOcount = 0; + GT.QSOhash = {}; + GT.QSLcount = 0; + GT.QSOcount = 0; // Old log filenames, no longer referenced tryToDeleteLog("lotw_QSL.adif"); @@ -15348,36 +15349,36 @@ function mediaCheck() try { - let fileExists = fs.existsSync(g_NWappData + "internal_qso.json"); - if (fileExists == true && g_startVersion > 1221123) + let fileExists = fs.existsSync(GT.NWappData + "internal_qso.json"); + if (fileExists == true && GT.startVersion > 1221123) { - var data = JSON.parse(fs.readFileSync(g_NWappData + "internal_qso.json")); - g_tracker = data.tracker; + var data = JSON.parse(fs.readFileSync(GT.NWappData + "internal_qso.json")); + GT.tracker = data.tracker; - if (typeof g_tracker.worked.px == "undefined") + if (typeof GT.tracker.worked.px == "undefined") { - g_tracker.worked.px = {}; - g_tracker.confirmed.px = {}; + GT.tracker.worked.px = {}; + GT.tracker.confirmed.px = {}; } - if (typeof g_tracker.worked.pota == "undefined") + if (typeof GT.tracker.worked.pota == "undefined") { - g_tracker.worked.pota = {}; - g_tracker.confirmed.pota = {}; + GT.tracker.worked.pota = {}; + GT.tracker.confirmed.pota = {}; } for (const i in data.g_QSOhash) { - g_QSOhash[i] = fillObjectFromTemplate(def_qso, data.g_QSOhash[i]); - g_QSOcount++; - if (g_QSOhash[i].confirmed) g_QSLcount++; + GT.QSOhash[i] = fillObjectFromTemplate(def_qso, data.g_QSOhash[i]); + GT.QSOcount++; + if (GT.QSOhash[i].confirmed) GT.QSLcount++; } - fs.unlinkSync(g_NWappData + "internal_qso.json"); + fs.unlinkSync(GT.NWappData + "internal_qso.json"); } else if (fileExists == true) { - fs.unlinkSync(g_NWappData + "internal_qso.json"); + fs.unlinkSync(GT.NWappData + "internal_qso.json"); } loadReceptionReports(); @@ -15399,10 +15400,10 @@ function newOption(value, text) return option; } -var g_rosterSpot = false; +GT.rosterSpot = false; function setRosterSpot(enabled) { - g_rosterSpot = enabled; + GT.rosterSpot = enabled; } function saveReceptionReports() @@ -15410,8 +15411,8 @@ function saveReceptionReports() try { fs.writeFileSync( - g_NWappData + "spots.json", - JSON.stringify(g_receptionReports) + GT.NWappData + "spots.json", + JSON.stringify(GT.receptionReports) ); } catch (e) @@ -15425,17 +15426,17 @@ function loadReceptionReports() try { var clear = true; - if (fs.existsSync(g_NWappData + "spots.json")) + if (fs.existsSync(GT.NWappData + "spots.json")) { - g_receptionReports = JSON.parse( - fs.readFileSync(g_NWappData + "spots.json") + GT.receptionReports = JSON.parse( + fs.readFileSync(GT.NWappData + "spots.json") ); - if (timeNowSec() - g_receptionReports.lastDownloadTimeSec <= 86400) { clear = false; } + if (timeNowSec() - GT.receptionReports.lastDownloadTimeSec <= 86400) { clear = false; } } if (clear == true) { - g_receptionReports = { + GT.receptionReports = { lastDownloadTimeSec: 0, lastSequenceNumber: "0", spots: {} @@ -15444,7 +15445,7 @@ function loadReceptionReports() } catch (e) { - g_receptionReports = { + GT.receptionReports = { lastDownloadTimeSec: 0, lastSequenceNumber: "0", spots: {} @@ -15454,24 +15455,24 @@ function loadReceptionReports() function pskSpotCheck(timeSec) { - if (g_mapSettings.offlineMode == true) return; + if (GT.mapSettings.offlineMode == true) return; if (myDEcall == null || myDEcall == "NOCALL" || myDEcall == "") return; if ( - (g_spotView > 0 || g_rosterSpot) && - (g_receptionReports.lastDownloadTimeSec < g_lastTrasmissionTimeSec) && + (GT.spotView > 0 || GT.rosterSpot) && + (GT.receptionReports.lastDownloadTimeSec < GT.lastTrasmissionTimeSec) && ( - timeSec - g_receptionReports.lastDownloadTimeSec > PSKREPORTER_INTERVAL_IN_SECONDS || - g_receptionReports.lastDownloadTimeSec > timeSec + timeSec - GT.receptionReports.lastDownloadTimeSec > PSKREPORTER_INTERVAL_IN_SECONDS || + GT.receptionReports.lastDownloadTimeSec > timeSec ) ) { - g_receptionReports.lastDownloadTimeSec = timeSec; - localStorage.receptionSettings = JSON.stringify(g_receptionSettings); + GT.receptionReports.lastDownloadTimeSec = timeSec; + localStorage.receptionSettings = JSON.stringify(GT.receptionSettings); spotRefreshDiv.innerHTML = "…refreshing…"; getBuffer( - `https://retrieve.pskreporter.info/query?rronly=1&lastseqno=${g_receptionReports.lastSequenceNumber}` + + `https://retrieve.pskreporter.info/query?rronly=1&lastseqno=${GT.receptionReports.lastSequenceNumber}` + `&senderCallsign=${encodeURIComponent(myRawCall)}` + `&appcontact=${encodeURIComponent(`GT-${pjson.version}`)}`, pskSpotResults, @@ -15480,11 +15481,11 @@ function pskSpotCheck(timeSec) 443 ); } - else if (g_spotView > 0) + else if (GT.spotView > 0) { if ( - g_lastTrasmissionTimeSec < g_receptionReports.lastDownloadTimeSec && - (timeSec - g_receptionReports.lastDownloadTimeSec) > PSKREPORTER_INTERVAL_IN_SECONDS + GT.lastTrasmissionTimeSec < GT.receptionReports.lastDownloadTimeSec && + (timeSec - GT.receptionReports.lastDownloadTimeSec) > PSKREPORTER_INTERVAL_IN_SECONDS ) { spotRefreshDiv.innerHTML = "No recent TX"; @@ -15493,7 +15494,7 @@ function pskSpotCheck(timeSec) { spotRefreshDiv.innerHTML = "Refresh: " + - Number(PSKREPORTER_INTERVAL_IN_SECONDS - (timeSec - g_receptionReports.lastDownloadTimeSec)).toDHMS(); + toDHMS(Number(PSKREPORTER_INTERVAL_IN_SECONDS - (timeSec - GT.receptionReports.lastDownloadTimeSec))); } } } @@ -15508,7 +15509,7 @@ function pskSpotResults(buffer, flag) var json = XML2jsobj(oDOM.documentElement); if ("lastSequenceNumber" in json) { - g_receptionReports.lastSequenceNumber = json.lastSequenceNumber.value; + GT.receptionReports.lastSequenceNumber = json.lastSequenceNumber.value; if ("receptionReport" in json) { @@ -15521,17 +15522,17 @@ function pskSpotResults(buffer, flag) var mode = json.receptionReport[key].mode; var grid = json.receptionReport[key].receiverLocator.substr(0, 6); if (grid.length < 4) { continue; } - var band = Number(parseInt(json.receptionReport[key].frequency) / 1000000).formatBand(); + var band = formatBand(Number(parseInt(json.receptionReport[key].frequency) / 1000000)); var hash = call + mode + band + grid.substr(0, 4); - if (hash in g_receptionReports.spots) + if (hash in GT.receptionReports.spots) { - report = g_receptionReports.spots[hash]; + report = GT.receptionReports.spots[hash]; if (parseInt(json.receptionReport[key].flowStartSeconds) < report.when) { continue; } } else { - report = g_receptionReports.spots[hash] = {}; + report = GT.receptionReports.spots[hash] = {}; report.call = call; report.band = band; report.grid = grid.toUpperCase(); @@ -15556,43 +15557,43 @@ function pskSpotResults(buffer, flag) } } - g_receptionReports.lastDownloadTimeSec = timeNowSec(); + GT.receptionReports.lastDownloadTimeSec = timeNowSec(); - localStorage.receptionSettings = JSON.stringify(g_receptionSettings); + localStorage.receptionSettings = JSON.stringify(GT.receptionSettings); redrawSpots(); - if (g_rosterSpot) goProcessRoster(); + if (GT.rosterSpot) goProcessRoster(); } -var g_oamsSpotTimeout = null; +GT.oamsSpotTimeout = null; function addNewOAMSSpot(cid, db, frequency, band, mode) { - if (g_oamsSpotTimeout !== null) + if (GT.oamsSpotTimeout !== null) { - nodeTimers.clearTimeout(g_oamsSpotTimeout); - g_oamsSpotTimeout = null; + nodeTimers.clearTimeout(GT.oamsSpotTimeout); + GT.oamsSpotTimeout = null; } var report; - var call = g_gtFlagPins[cid].call; - var grid = g_gtFlagPins[cid].grid.substr(0, 6); + var call = GT.gtFlagPins[cid].call; + var grid = GT.gtFlagPins[cid].grid.substr(0, 6); var hash = call + mode + band + grid.substr(0, 4); - if (hash in g_receptionReports.spots) + if (hash in GT.receptionReports.spots) { - report = g_receptionReports.spots[hash]; + report = GT.receptionReports.spots[hash]; } else { - report = g_receptionReports.spots[hash] = {}; + report = GT.receptionReports.spots[hash] = {}; report.call = call; report.band = band; report.grid = grid; report.mode = mode; } - report.dxcc = g_gtFlagPins[cid].dxcc; + report.dxcc = GT.gtFlagPins[cid].dxcc; report.when = timeNowSec(); report.snr = Number(db); report.freq = frequency; @@ -15602,7 +15603,7 @@ function addNewOAMSSpot(cid, db, frequency, band, mode) if (SNR < 0) SNR = 0; report.color = SNR; - g_oamsSpotTimeout = nodeTimers.setTimeout(redrawSpots, 250); + GT.oamsSpotTimeout = nodeTimers.setTimeout(redrawSpots, 250); } function spotFeature(center) @@ -15615,7 +15616,7 @@ function spotFeature(center) ); } -var g_spotTotalCount = 0; +GT.spotTotalCount = 0; function createSpot(report, key, fromPoint, addToLayer = true) { @@ -15631,11 +15632,11 @@ function createSpot(report, key, fromPoint, addToLayer = true) var spot = spotFeature([LL.o, LL.a]); - var colorNoAlpha = "#" + g_bandToColor[report.band]; + var colorNoAlpha = "#" + GT.bandToColor[report.band]; var colorAlpha = intAlphaToRGB(colorNoAlpha, report.color); var spotColor = colorAlpha; - var workingColor = g_mapSettings.nightMapEnable && g_nightTime ? g_receptionSettings.pathNightColor : g_receptionSettings.pathColor; + var workingColor = GT.mapSettings.nightMapEnable && GT.nightTime ? GT.receptionSettings.pathNightColor : GT.receptionSettings.pathColor; if (workingColor != -1) { @@ -15662,7 +15663,7 @@ function createSpot(report, key, fromPoint, addToLayer = true) spot.setStyle(featureStyle); spot.spot = key; spot.size = 6; // Mouseover detection - g_layerSources["psk-spots"].addFeature(spot); + GT.layerSources["psk-spots"].addFeature(spot); var toPoint = ol.proj.fromLonLat([LL.o, LL.a]); @@ -15673,18 +15674,18 @@ function createSpot(report, key, fromPoint, addToLayer = true) weight: report.color / 255 // e.g. temperature }); - g_layerSources["psk-heat"].addFeature(pointFeature); + GT.layerSources["psk-heat"].addFeature(pointFeature); - if (g_receptionSettings.viewPaths && g_receptionSettings.spotWidth > 0) + if (GT.receptionSettings.viewPaths && GT.receptionSettings.spotWidth > 0) { - var strokeWeight = g_receptionSettings.spotWidth; + var strokeWeight = GT.receptionSettings.spotWidth; var flightColor = workingColor == -1 ? colorNoAlpha + "BB" - : g_mapSettings.nightMapEnable && g_nightTime - ? g_spotNightFlightColor - : g_spotFlightColor; + : GT.mapSettings.nightMapEnable && GT.nightTime + ? GT.spotNightFlightColor + : GT.spotFlightColor; flightFeature( [fromPoint, toPoint], @@ -15708,39 +15709,39 @@ function redrawSpots() { var shouldSave = false; var now = timeNowSec(); - g_spotTotalCount = 0; - g_layerSources["psk-spots"].clear(); - g_layerSources["psk-flights"].clear(); - g_layerSources["psk-hop"].clear(); - g_layerSources["psk-heat"].clear(); + GT.spotTotalCount = 0; + GT.layerSources["psk-spots"].clear(); + GT.layerSources["psk-flights"].clear(); + GT.layerSources["psk-hop"].clear(); + GT.layerSources["psk-heat"].clear(); var fromPoint = getPoint(myRawGrid); - if (g_receptionSettings.mergeSpots == false) + if (GT.receptionSettings.mergeSpots == false) { - var spot = iconFeature(fromPoint, g_gtFlagIcon, 100); + var spot = iconFeature(fromPoint, GT.gtFlagIcon, 100); - g_layerSources["psk-spots"].addFeature(spot); - g_layerSources["psk-heat"].addFeature(spot); + GT.layerSources["psk-spots"].addFeature(spot); + GT.layerSources["psk-heat"].addFeature(spot); } - for (var key in g_receptionReports.spots) + for (var key in GT.receptionReports.spots) { - report = g_receptionReports.spots[key]; + report = GT.receptionReports.spots[key]; if ((now - report.when > 86400) || (report.grid.length < 4)) { - delete g_receptionReports.spots[key]; + delete GT.receptionReports.spots[key]; shouldSave = true; continue; } if (validateMapBandAndMode(report.band, report.mode)) { - if (now - report.when <= g_receptionSettings.viewHistoryTimeSec) + if (now - report.when <= GT.receptionSettings.viewHistoryTimeSec) { createSpot(report, key, fromPoint); - g_spotTotalCount++; + GT.spotTotalCount++; } } } @@ -15754,19 +15755,19 @@ function redrawSpots() function updateSpotCountDiv() { - spotCountDiv.innerHTML = "Spots: " + g_spotTotalCount; + spotCountDiv.innerHTML = "Spots: " + GT.spotTotalCount; } -var g_spotFlightColor = "#FFFFFFBB"; -var g_spotNightFlightColor = "#FFFFFFBB"; +GT.spotFlightColor = "#FFFFFFBB"; +GT.spotNightFlightColor = "#FFFFFFBB"; function changeSpotValues() { - g_receptionSettings.viewHistoryTimeSec = parseInt(spotHistoryTimeValue.value) * 60; - spotHistoryTimeTd.innerHTML = "Max Age: " + Number(g_receptionSettings.viewHistoryTimeSec).toDHM(); - g_receptionSettings.viewPaths = spotPathsValue.checked; + GT.receptionSettings.viewHistoryTimeSec = parseInt(spotHistoryTimeValue.value) * 60; + spotHistoryTimeTd.innerHTML = "Max Age: " + toDHM(Number(GT.receptionSettings.viewHistoryTimeSec)); + GT.receptionSettings.viewPaths = spotPathsValue.checked; - if (g_receptionSettings.viewPaths) + if (GT.receptionSettings.viewPaths) { spotPathWidthDiv.style.display = "inline-block"; } @@ -15775,32 +15776,32 @@ function changeSpotValues() spotPathWidthDiv.style.display = "none"; } - g_receptionSettings.mergeSpots = spotMergeValue.checked; - localStorage.receptionSettings = JSON.stringify(g_receptionSettings); + GT.receptionSettings.mergeSpots = spotMergeValue.checked; + localStorage.receptionSettings = JSON.stringify(GT.receptionSettings); - setTrophyOverlay(g_currentOverlay); + setTrophyOverlay(GT.currentOverlay); updateSpotView(); - if (g_rosterSpot) goProcessRoster(); + if (GT.rosterSpot) goProcessRoster(); } function mapTransChange() { - g_mapSettings.mapTrans = mapTransValue.value; + GT.mapSettings.mapTrans = mapTransValue.value; - mapTransTd.innerHTML = String(100 - parseInt(((g_mapSettings.mapTrans * 255) / 255) * 100)) + "%"; - mapSettingsDiv.style.backgroundColor = "rgba(0,0,0, " + g_mapSettings.mapTrans + ")"; + mapTransTd.innerHTML = String(100 - parseInt(((GT.mapSettings.mapTrans * 255) / 255) * 100)) + "%"; + mapSettingsDiv.style.backgroundColor = "rgba(0,0,0, " + GT.mapSettings.mapTrans + ")"; } function spotPathChange() { - g_receptionSettings.pathColor = spotPathColorValue.value; - var pathColor = g_receptionSettings.pathColor < 1 + GT.receptionSettings.pathColor = spotPathColorValue.value; + var pathColor = GT.receptionSettings.pathColor < 1 ? "#000" - : g_receptionSettings.pathColor == 361 + : GT.receptionSettings.pathColor == 361 ? "#FFF" - : "hsl(" + g_receptionSettings.pathColor + ", 100%, 50%)"; + : "hsl(" + GT.receptionSettings.pathColor + ", 100%, 50%)"; - if (g_receptionSettings.pathColor > 0) + if (GT.receptionSettings.pathColor > 0) { spotPathColorDiv.style.color = "#000"; spotPathColorDiv.style.backgroundColor = pathColor; @@ -15810,24 +15811,24 @@ function spotPathChange() spotPathColorDiv.style.color = "#FFF"; spotPathColorDiv.style.backgroundColor = pathColor; } - if (g_receptionSettings.pathColor == -1) { spotPathInfoTd.innerHTML = "PSK-Reporter Palette"; } + if (GT.receptionSettings.pathColor == -1) { spotPathInfoTd.innerHTML = "PSK-Reporter Palette"; } else spotPathInfoTd.innerHTML = ""; - g_spotFlightColor = - g_receptionSettings.pathColor < 1 + GT.spotFlightColor = + GT.receptionSettings.pathColor < 1 ? "#0000000BB" - : g_receptionSettings.pathColor == 361 + : GT.receptionSettings.pathColor == 361 ? "#FFFFFFBB" - : "hsla(" + g_receptionSettings.pathColor + ", 100%, 50%,0.73)"; + : "hsla(" + GT.receptionSettings.pathColor + ", 100%, 50%,0.73)"; - g_receptionSettings.pathNightColor = spotNightPathColorValue.value; + GT.receptionSettings.pathNightColor = spotNightPathColorValue.value; var pathNightColor = - g_receptionSettings.pathNightColor < 1 + GT.receptionSettings.pathNightColor < 1 ? "#000" - : g_receptionSettings.pathNightColor == 361 + : GT.receptionSettings.pathNightColor == 361 ? "#FFF" - : "hsl(" + g_receptionSettings.pathNightColor + ", 100%, 50%)"; - if (g_receptionSettings.pathNightColor > 0) + : "hsl(" + GT.receptionSettings.pathNightColor + ", 100%, 50%)"; + if (GT.receptionSettings.pathNightColor > 0) { spotNightPathColorDiv.style.color = "#000"; spotNightPathColorDiv.style.backgroundColor = pathNightColor; @@ -15837,19 +15838,19 @@ function spotPathChange() spotNightPathColorDiv.style.color = "#FFF"; spotNightPathColorDiv.style.backgroundColor = pathNightColor; } - if (g_receptionSettings.pathNightColor == -1) { spotNightPathInfoTd.innerHTML = "PSK-Reporter Palette"; } + if (GT.receptionSettings.pathNightColor == -1) { spotNightPathInfoTd.innerHTML = "PSK-Reporter Palette"; } else spotNightPathInfoTd.innerHTML = ""; - g_spotNightFlightColor = - g_receptionSettings.pathNightColor < 1 + GT.spotNightFlightColor = + GT.receptionSettings.pathNightColor < 1 ? "#0000000BB" - : g_receptionSettings.pathNightColor == 361 + : GT.receptionSettings.pathNightColor == 361 ? "#FFFFFFBB" - : "hsla(" + g_receptionSettings.pathNightColor + ", 100%, 50%,0.73)"; + : "hsla(" + GT.receptionSettings.pathNightColor + ", 100%, 50%,0.73)"; - spotWidthTd.innerHTML = g_receptionSettings.spotWidth = spotWidthValue.value; + spotWidthTd.innerHTML = GT.receptionSettings.spotWidth = spotWidthValue.value; - localStorage.receptionSettings = JSON.stringify(g_receptionSettings); + localStorage.receptionSettings = JSON.stringify(GT.receptionSettings); } function toggleSpotOverGrids() @@ -15870,10 +15871,10 @@ function toggleSpotPaths() var spotPaths = spotPathsValue.checked == true ? 1 : 0; spotPaths ^= 1; spotPathsValue.checked = spotPaths == 1; - g_receptionSettings.viewPaths = spotPathsValue.checked; - localStorage.receptionSettings = JSON.stringify(g_receptionSettings); + GT.receptionSettings.viewPaths = spotPathsValue.checked; + localStorage.receptionSettings = JSON.stringify(GT.receptionSettings); - if (g_receptionSettings.viewPaths) + if (GT.receptionSettings.viewPaths) { spotPathWidthDiv.style.display = "inline-block"; } @@ -15886,27 +15887,27 @@ function toggleSpotPaths() function setSpotImage() { - spotsButtonImg.src = g_spotImageArray[g_spotView]; - spotsButtonImg.style.filter = (g_spotView == 0) ? "grayscale(1)" : ""; + spotsButtonImg.src = GT.spotImageArray[GT.spotView]; + spotsButtonImg.style.filter = (GT.spotView == 0) ? "grayscale(1)" : ""; } function cycleSpotsView() { - g_spotView++; - g_spotView %= 3; + GT.spotView++; + GT.spotView %= 3; - g_appSettings.spotView = g_spotView; + GT.appSettings.spotView = GT.spotView; setSpotImage(); - setTrophyOverlay(g_currentOverlay); + setTrophyOverlay(GT.currentOverlay); updateSpotView(); } function toggleCRScript() { - g_crScript ^= 1; - g_appSettings.crScript = g_crScript; - if (g_crScript == 1) + GT.crScript ^= 1; + GT.appSettings.crScript = GT.crScript; + if (GT.crScript == 1) { addLastTraffic( "Call Roster Script Enabled" @@ -15923,28 +15924,28 @@ function toggleCRScript() function updateSpotView(leaveCount = true) { - if (g_spotView > 0) + if (GT.spotView > 0) { - if (g_receptionSettings.mergeSpots == false) + if (GT.receptionSettings.mergeSpots == false) { - for (var key in g_layerVectors) + for (var key in GT.layerVectors) { - g_layerVectors[key].setVisible(false); + GT.layerVectors[key].setVisible(false); } } - if (g_spotView == 1) + if (GT.spotView == 1) { - g_layerVectors["psk-spots"].setVisible(true); - g_layerVectors["psk-flights"].setVisible(true); - g_layerVectors["psk-hop"].setVisible(true); - g_layerVectors["psk-heat"].setVisible(false); + GT.layerVectors["psk-spots"].setVisible(true); + GT.layerVectors["psk-flights"].setVisible(true); + GT.layerVectors["psk-hop"].setVisible(true); + GT.layerVectors["psk-heat"].setVisible(false); } else { - g_layerVectors["psk-spots"].setVisible(false); - g_layerVectors["psk-flights"].setVisible(false); - g_layerVectors["psk-hop"].setVisible(false); - g_layerVectors["psk-heat"].setVisible(true); + GT.layerVectors["psk-spots"].setVisible(false); + GT.layerVectors["psk-flights"].setVisible(false); + GT.layerVectors["psk-hop"].setVisible(false); + GT.layerVectors["psk-heat"].setVisible(true); } SpotsDiv.style.display = "block"; @@ -15952,10 +15953,10 @@ function updateSpotView(leaveCount = true) } else { - g_layerVectors["psk-spots"].setVisible(false); - g_layerVectors["psk-flights"].setVisible(false); - g_layerVectors["psk-hop"].setVisible(false); - g_layerVectors["psk-heat"].setVisible(false); + GT.layerVectors["psk-spots"].setVisible(false); + GT.layerVectors["psk-flights"].setVisible(false); + GT.layerVectors["psk-hop"].setVisible(false); + GT.layerVectors["psk-heat"].setVisible(false); SpotsDiv.style.display = "none"; spotRefreshDiv.innerHTML = " "; } @@ -15969,27 +15970,27 @@ function gotoDonate() function getSpotTime(hash) { - if (hash in g_receptionReports.spots) + if (hash in GT.receptionReports.spots) { - return g_receptionReports.spots[hash]; + return GT.receptionReports.spots[hash]; } else return null; } function setGridOpacity() { - opacityValue.value = g_mapSettings.gridAlpha; + opacityValue.value = GT.mapSettings.gridAlpha; showOpacityTd.innerHTML = - parseInt((g_mapSettings.gridAlpha / 255) * 100) + "%"; - g_gridAlpha = parseInt(g_mapSettings.gridAlpha).toString(16); + parseInt((GT.mapSettings.gridAlpha / 255) * 100) + "%"; + GT.gridAlpha = parseInt(GT.mapSettings.gridAlpha).toString(16); } function changeGridOpacity() { - g_mapSettings.gridAlpha = opacityValue.value; + GT.mapSettings.gridAlpha = opacityValue.value; showOpacityTd.innerHTML = - parseInt((g_mapSettings.gridAlpha / 255) * 100) + "%"; - g_gridAlpha = parseInt(g_mapSettings.gridAlpha).toString(16); + parseInt((GT.mapSettings.gridAlpha / 255) * 100) + "%"; + GT.gridAlpha = parseInt(GT.mapSettings.gridAlpha).toString(16); saveMapSettings(); } @@ -16003,11 +16004,11 @@ function currentTimeStampString() "-" + now.getDate() + " " + - now.getHours().pad() + + padNumber(now.getHours()) + "." + - now.getMinutes().pad() + + padNumber(now.getMinutes())+ "." + - now.getSeconds().pad() + padNumber(now.getSeconds()) ); } @@ -16035,7 +16036,7 @@ function makeScreenshots() try { var fn = - g_screenshotDir + "Screenshot " + currentTimeStampString() + ".png"; + GT.screenshotDir + "Screenshot " + currentTimeStampString() + ".png"; fs.writeFileSync(fn, buffer); addLastTraffic( " g_gtMaxChatMessages) + GT.gtMessages[cid].history.push(jsmesg); + while (GT.gtMessages[cid].history.length > GT.gtMaxChatMessages) { - g_gtMessages[cid].history.shift(); + GT.gtMessages[cid].history.shift(); } } @@ -572,7 +572,7 @@ function htmlEntities(str) function gtChatMessage(jsmesg) { - if (g_appSettings.gtMsgEnable == true) + if (GT.appSettings.gtMsgEnable == true) { var cid = jsmesg.cid; jsmesg.when = Date.now(); @@ -589,16 +589,16 @@ function gtChatMessage(jsmesg) if (jsmesg.call != null && jsmesg.call != "" && jsmesg.call != "NOCALL") { appendToHistory(cid, jsmesg); - g_gtUnread[cid] = true; - g_gtCurrentMessageCount++; + GT.gtUnread[cid] = true; + GT.gtCurrentMessageCount++; if (newChatMessage(cid, jsmesg) == false) alertChatMessage(); - if (g_msgSettings.msgAwaySelect == 1 && !(cid in g_gtSentAwayToCid)) + if (GT.msgSettings.msgAwaySelect == 1 && !(cid in GT.gtSentAwayToCid)) { - g_gtSentAwayToCid[cid] = true; + GT.gtSentAwayToCid[cid] = true; gtSendMessage( - "Away message [ " + g_msgSettings.msgAwayText + " ]", + "Away message [ " + GT.msgSettings.msgAwayText + " ]", cid ); } @@ -610,7 +610,7 @@ function gtSendMessage(message, who) { msg = Object(); msg.type = "mesg"; - msg.uuid = g_appSettings.chatUUID; + msg.uuid = GT.appSettings.chatUUID; msg.cid = who; msg.msg = new Buffer.from(message).toString("base64"); // eslint-disable-line new-cap sendGtJson(JSON.stringify(msg)); @@ -624,9 +624,9 @@ function gtChatSendUUID() { var msg = Object(); msg.type = "uuid"; - if (g_appSettings.chatUUID != "") + if (GT.appSettings.chatUUID != "") { - msg.uuid = g_appSettings.chatUUID; + msg.uuid = GT.appSettings.chatUUID; } else { @@ -637,7 +637,7 @@ function gtChatSendUUID() msg.ver = gtShortVersion; sendGtJson(JSON.stringify(msg), true); - g_gtState = ChatState.waitUUID; + GT.gtState = ChatState.waitUUID; } function gtWaitUUID() @@ -647,67 +647,67 @@ function gtWaitUUID() function gtChatSetUUID(jsmesg) { - g_appSettings.chatUUID = jsmesg.uuid; + GT.appSettings.chatUUID = jsmesg.uuid; myChatId = jsmesg.id; - g_gtUuidValid = true; + GT.gtUuidValid = true; gtChatSendStatus(); - g_gtLiveStatusUpdate = false; - g_gtStatusCount = g_gtStatusTime; - g_gtState = ChatState.status; + GT.gtLiveStatusUpdate = false; + GT.gtStatusCount = GT.gtStatusTime; + GT.gtState = ChatState.status; } -var g_getEngineWasRunning = false; +GT.getEngineWasRunning = false; function gtChatStateMachine() { - if (g_appSettings.gtShareEnable == true && g_mapSettings.offlineMode == false) + if (GT.appSettings.gtShareEnable == true && GT.mapSettings.offlineMode == false) { var now = timeNowSec(); - g_gtStateToFunction[g_gtState](); + GT.gtStateToFunction[GT.gtState](); - if (Object.keys(g_gtUnread).length > 0 && now % 2 == 0) + if (Object.keys(GT.gtUnread).length > 0 && now % 2 == 0) { msgImg.style.webkitFilter = "invert(1)"; } else msgImg.style.webkitFilter = ""; - if (g_msgSettings.msgFrequencySelect > 0 && Object.keys(g_gtUnread).length > 0) + if (GT.msgSettings.msgFrequencySelect > 0 && Object.keys(GT.gtUnread).length > 0) { - if (now - g_lastChatMsgAlert > g_msgSettings.msgFrequencySelect * 60) + if (now - GT.lastChatMsgAlert > GT.msgSettings.msgFrequencySelect * 60) { alertChatMessage(); } } - g_getEngineWasRunning = true; + GT.getEngineWasRunning = true; } else { - if (g_getEngineWasRunning == true) + if (GT.getEngineWasRunning == true) { - g_getEngineWasRunning = false; + GT.getEngineWasRunning = false; closeGtSocket(); - g_lastGtStatus = ""; + GT.lastGtStatus = ""; } } } function gtSpotMessage(jsmesg) { - if (jsmesg.cid in g_gtFlagPins) + if (jsmesg.cid in GT.gtFlagPins) { let frequency, band, mode; if (jsmesg.ex != null) { frequency = Number(jsmesg.ex[0]); - band = Number(frequency / 1000000).formatBand(); + band = formatBand(Number(frequency / 1000000)); mode = String(jsmesg.ex[1]); } else { - frequency = g_gtFlagPins[jsmesg.cid].freq; - band = g_gtFlagPins[jsmesg.cid].band; - mode = g_gtFlagPins[jsmesg.cid].mode; + frequency = GT.gtFlagPins[jsmesg.cid].freq; + band = GT.gtFlagPins[jsmesg.cid].band; + mode = GT.gtFlagPins[jsmesg.cid].mode; } addNewOAMSSpot(jsmesg.cid, jsmesg.db, frequency, band, mode); @@ -716,55 +716,55 @@ function gtSpotMessage(jsmesg) function gtChatSystemInit() { - g_gtEngineInterval = nodeTimers.setInterval(gtChatStateMachine, 1000); + GT.gtEngineInterval = nodeTimers.setInterval(gtChatStateMachine, 1000); } function showGtFlags() { - if (g_appSettings.gtFlagImgSrc > 0) + if (GT.appSettings.gtFlagImgSrc > 0) { - if (g_mapSettings.offlineMode == false) + if (GT.mapSettings.offlineMode == false) { redrawPins(); - g_layerVectors.gtflags.setVisible(true); + GT.layerVectors.gtflags.setVisible(true); } else { - g_layerVectors.gtflags.setVisible(false); + GT.layerVectors.gtflags.setVisible(false); } } - else g_layerVectors.gtflags.setVisible(false); + else GT.layerVectors.gtflags.setVisible(false); } function clearGtFlags() { - g_layerSources.gtflags.clear(); + GT.layerSources.gtflags.clear(); } function toggleGtMap() { - g_appSettings.gtFlagImgSrc += 1; - g_appSettings.gtFlagImgSrc %= 2; - gtFlagImg.src = g_gtFlagImageArray[g_appSettings.gtFlagImgSrc]; - if (g_spotView > 0 && g_receptionSettings.mergeSpots == false) return; - if (g_appSettings.gtFlagImgSrc > 0) + GT.appSettings.gtFlagImgSrc += 1; + GT.appSettings.gtFlagImgSrc %= 2; + gtFlagImg.src = GT.gtFlagImageArray[GT.appSettings.gtFlagImgSrc]; + if (GT.spotView > 0 && GT.receptionSettings.mergeSpots == false) return; + if (GT.appSettings.gtFlagImgSrc > 0) { redrawPins(); - g_layerVectors.gtflags.setVisible(true); + GT.layerVectors.gtflags.setVisible(true); } else { - g_layerVectors.gtflags.setVisible(false); + GT.layerVectors.gtflags.setVisible(false); } } function notifyNoChat(id) { - if (g_chatWindowHandle != null) + if (GT.chatWindowHandle != null) { try { - g_chatWindowHandle.window.notifyNoChat(id); + GT.chatWindowHandle.window.notifyNoChat(id); } catch (e) {} } @@ -772,17 +772,17 @@ function notifyNoChat(id) function updateChatWindow(id = null) { - if (g_chatWindowHandle != null) + if (GT.chatWindowHandle != null) { try { if (id) { - g_chatWindowHandle.window.updateCallsign(id); + GT.chatWindowHandle.window.updateCallsign(id); } else { - g_chatWindowHandle.window.updateEverything(); + GT.chatWindowHandle.window.updateEverything(); } } catch (e) {} @@ -792,33 +792,33 @@ function updateChatWindow(id = null) function newChatMessage(id, jsmesg) { var hasFocus = false; - if (g_msgSettings.msgActionSelect == 1) showMessaging(); + if (GT.msgSettings.msgActionSelect == 1) showMessaging(); - if (g_chatWindowHandle != null) + if (GT.chatWindowHandle != null) { try { - hasFocus = g_chatWindowHandle.window.newChatMessage(id, jsmesg); - g_chatWindowHandle.window.messagesRedraw(); + hasFocus = GT.chatWindowHandle.window.newChatMessage(id, jsmesg); + GT.chatWindowHandle.window.messagesRedraw(); } catch (e) {} } return hasFocus; } -var g_lastChatMsgAlert = 0; +GT.lastChatMsgAlert = 0; function alertChatMessage() { - if (g_msgSettings.msgAlertSelect == 1) + if (GT.msgSettings.msgAlertSelect == 1) { // Text to speech - speakAlertString(g_msgSettings.msgAlertWord); + speakAlertString(GT.msgSettings.msgAlertWord); } - if (g_msgSettings.msgAlertSelect == 2) + if (GT.msgSettings.msgAlertSelect == 2) { // Audible - playAlertMediaFile(g_msgSettings.msgAlertMedia); + playAlertMediaFile(GT.msgSettings.msgAlertMedia); } - g_lastChatMsgAlert = timeNowSec(); + GT.lastChatMsgAlert = timeNowSec(); } diff --git a/package.nw/lib/i18n.js b/package.nw/lib/i18n.js index 3dbd303..7577ebb 100644 --- a/package.nw/lib/i18n.js +++ b/package.nw/lib/i18n.js @@ -8,7 +8,7 @@ function loadi18n() { $.i18n().load(languages).done(function () { - $.i18n().locale = g_appSettings.locale; + $.i18n().locale = GT.appSettings.locale; }); } @@ -20,8 +20,8 @@ function renderI18n(locale) function changeLocale() { - g_appSettings.locale = languageLocale.value; - renderI18n(g_appSettings.locale); + GT.appSettings.locale = languageLocale.value; + renderI18n(GT.appSettings.locale); saveAppSettings(); chrome.runtime.reload(); } @@ -30,7 +30,7 @@ function loadChildWindowI18n() { $.i18n().load(languages).done(function () { - renderI18n(window.opener.g_appSettings.locale); + renderI18n(window.opener.GT.appSettings.locale); }); } @@ -38,12 +38,12 @@ function loadRosteri18n() { $.i18n().load(languages).done(function () { - renderI18n(window.opener.g_appSettings.locale); + renderI18n(window.opener.GT.appSettings.locale); addControls(); }); } function renderLocale() { - renderI18n(g_appSettings.locale); + renderI18n(GT.appSettings.locale); } diff --git a/package.nw/lib/pota.js b/package.nw/lib/pota.js index c71d40e..e27a9ce 100644 --- a/package.nw/lib/pota.js +++ b/package.nw/lib/pota.js @@ -2,7 +2,7 @@ // All rights reserved. // See LICENSE for more information. -var g_pota = { +GT.pota = { parks: {}, locations: {}, parksTimeout: null, @@ -17,7 +17,7 @@ var g_pota = { rbnFrequency: 600000 }; -var g_potaSpotTemplate = { +GT.potaSpotTemplate = { activator: "", frequency: 0, mode: "", @@ -33,11 +33,11 @@ var g_potaSpotTemplate = { spotterGrid: "" }; -var g_parkTemplate = { +GT.parkTemplate = { feature: null } -var g_potaUnknownPark = { +GT.potaUnknownPark = { name: "Unknown park (not yet spotted)", active: "0", entityId: "-1", @@ -47,14 +47,14 @@ var g_potaUnknownPark = { grid: "" }; -var g_gtParkIconActive = new ol.style.Icon({ +GT.gtParkIconActive = new ol.style.Icon({ src: "./img/pota_icon_active.png", anchorYUnits: "pixels", anchorXUnits: "pixels", anchor: [10, 19] }); -var g_gtParkIconInactive = new ol.style.Icon({ +GT.gtParkIconInactive = new ol.style.Icon({ src: "./img/pota_icon_inactive.png", anchorYUnits: "pixels", anchorXUnits: "pixels", @@ -63,15 +63,15 @@ var g_gtParkIconInactive = new ol.style.Icon({ function initPota() { - potaEnabled.checked = (g_appSettings.potaEnabled == 1); - potaMenu.checked = g_appSettings.potaShowMenu; - potaButton.style.display = (g_appSettings.potaEnabled == 1 && g_appSettings.potaShowMenu && g_mapSettings.offlineMode == false) ? "" : "none"; - potaImg.style.filter = g_appSettings.potaMapEnabled ? "" : "grayscale(1)"; + potaEnabled.checked = (GT.appSettings.potaEnabled == 1); + potaMenu.checked = GT.appSettings.potaShowMenu; + potaButton.style.display = (GT.appSettings.potaEnabled == 1 && GT.appSettings.potaShowMenu && GT.mapSettings.offlineMode == false) ? "" : "none"; + potaImg.style.filter = GT.appSettings.potaMapEnabled ? "" : "grayscale(1)"; - g_layerSources.pota.clear(); - g_pota.mapParks = {}; + GT.layerSources.pota.clear(); + GT.pota.mapParks = {}; - if (g_appSettings.potaEnabled == 1) + if (GT.appSettings.potaEnabled == 1) { getPotaParks(); } @@ -79,11 +79,11 @@ function initPota() function changePotaEnable() { - g_appSettings.potaEnabled = (potaEnabled.checked == true) ? 1 : 0; - potaButton.style.display = (g_appSettings.potaEnabled == 1 && g_appSettings.potaShowMenu && g_mapSettings.offlineMode == false) ? "" : "none"; - if (!g_appSettings.potaEnabled) + GT.appSettings.potaEnabled = (potaEnabled.checked == true) ? 1 : 0; + potaButton.style.display = (GT.appSettings.potaEnabled == 1 && GT.appSettings.potaShowMenu && GT.mapSettings.offlineMode == false) ? "" : "none"; + if (!GT.appSettings.potaEnabled) { - g_layerSources.pota.clear(); + GT.layerSources.pota.clear(); } else { @@ -96,18 +96,18 @@ function changePotaEnable() function changePotaMenu() { - g_appSettings.potaShowMenu = potaMenu.checked; + GT.appSettings.potaShowMenu = potaMenu.checked; - potaButton.style.display = (g_appSettings.potaEnabled == 1 && g_appSettings.potaShowMenu && g_mapSettings.offlineMode == false) ? "" : "none"; - potaImg.style.filter = g_appSettings.potaMapEnabled ? "" : "grayscale(1)"; + potaButton.style.display = (GT.appSettings.potaEnabled == 1 && GT.appSettings.potaShowMenu && GT.mapSettings.offlineMode == false) ? "" : "none"; + potaImg.style.filter = GT.appSettings.potaMapEnabled ? "" : "grayscale(1)"; saveAppSettings(); } function togglePotaMap() { - g_appSettings.potaMapEnabled = !g_appSettings.potaMapEnabled; - potaImg.style.filter = g_appSettings.potaMapEnabled ? "" : "grayscale(1)"; + GT.appSettings.potaMapEnabled = !GT.appSettings.potaMapEnabled; + potaImg.style.filter = GT.appSettings.potaMapEnabled ? "" : "grayscale(1)"; saveAppSettings(); @@ -116,11 +116,11 @@ function togglePotaMap() function redrawParks() { - g_layerSources.pota.clear(); + GT.layerSources.pota.clear(); - if (g_appSettings.potaEnabled == 1 && g_appSettings.potaMapEnabled) + if (GT.appSettings.potaEnabled == 1 && GT.appSettings.potaMapEnabled) { - g_pota.mapParks = {}; + GT.pota.mapParks = {}; makeParkFeatures(); } } @@ -129,22 +129,22 @@ function makeParkFeatures() { try { - for (const park in g_pota.parkSpots) + for (const park in GT.pota.parkSpots) { - if (park in g_pota.parks) + if (park in GT.pota.parks) { - var parkObj = Object.assign({}, g_parkTemplate); - for (const call in g_pota.parkSpots[park]) + var parkObj = Object.assign({}, GT.parkTemplate); + for (const call in GT.pota.parkSpots[park]) { - var report = g_pota.parkSpots[park][call]; + var report = GT.pota.parkSpots[park][call]; if (parkObj.feature == null && validateMapBandAndMode(report.band, report.mode)) { - parkObj.feature = iconFeature(ol.proj.fromLonLat([Number(g_pota.parks[park].longitude), Number(g_pota.parks[park].latitude)]), g_gtParkIconActive, 1); + parkObj.feature = iconFeature(ol.proj.fromLonLat([Number(GT.pota.parks[park].longitude), Number(GT.pota.parks[park].latitude)]), GT.gtParkIconActive, 1); parkObj.feature.key = park; parkObj.feature.size = 22; - g_pota.mapParks[park] = parkObj; - g_layerSources.pota.addFeature(parkObj.feature); + GT.pota.mapParks[park] = parkObj; + GT.layerSources.pota.addFeature(parkObj.feature); } } } @@ -163,58 +163,58 @@ function potaSpotFromDecode(callObj) { var park = callObj.pota; - if (callObj.DEcall in g_pota.callSpots && park in g_pota.parkSpots) + if (callObj.DEcall in GT.pota.callSpots && park in GT.pota.parkSpots) { // update spot - var newObj = spotFromCallObj(callObj, park, g_pota.parkSpots[park][callObj.DEcall].count); - g_pota.parkSpots[park][callObj.DEcall] = fillObjectFromTemplate(g_pota.parkSpots[park][callObj.DEcall], newObj); + var newObj = spotFromCallObj(callObj, park, GT.pota.parkSpots[park][callObj.DEcall].count); + GT.pota.parkSpots[park][callObj.DEcall] = fillObjectFromTemplate(GT.pota.parkSpots[park][callObj.DEcall], newObj); // may or may not be on screen, so try - if (g_appSettings.potaMapEnabled) + if (GT.appSettings.potaMapEnabled) { - addParkSpotFeature(park, g_pota.parkSpots[park][callObj.DEcall]); + addParkSpotFeature(park, GT.pota.parkSpots[park][callObj.DEcall]); } var hash = park + callObj.DEcall; - if (!(hash in g_pota.rbnReportTimes) || Date.now() > g_pota.rbnReportTimes[hash]) + if (!(hash in GT.pota.rbnReportTimes) || Date.now() > GT.pota.rbnReportTimes[hash]) { - g_pota.rbnReportTimes[hash] = Date.now() + g_pota.rbnFrequency; - reportPotaRBN(g_pota.parkSpots[park][callObj.DEcall]); + GT.pota.rbnReportTimes[hash] = Date.now() + GT.pota.rbnFrequency; + reportPotaRBN(GT.pota.parkSpots[park][callObj.DEcall]); } } - else if (callObj.DEcall in g_pota.callSchedule) + else if (callObj.DEcall in GT.pota.callSchedule) { // Looks like it's scheduled, so it's new - g_pota.callSpots[callObj.DEcall] = park; + GT.pota.callSpots[callObj.DEcall] = park; - if (!(park in g_pota.parkSpots)) + if (!(park in GT.pota.parkSpots)) { - g_pota.parkSpots[park] = {}; + GT.pota.parkSpots[park] = {}; } var newObj = spotFromCallObj(callObj, park, 0); newObj.expire = newObj.spotTime + 300000; - g_pota.parkSpots[park][callObj.DEcall] = newObj; + GT.pota.parkSpots[park][callObj.DEcall] = newObj; - if (g_appSettings.potaMapEnabled) + if (GT.appSettings.potaMapEnabled) { - addParkSpotFeature(park, g_pota.parkSpots[park][callObj.DEcall]); + addParkSpotFeature(park, GT.pota.parkSpots[park][callObj.DEcall]); } var hash = park + callObj.DEcall; - if (!(hash in g_pota.rbnReportTimes) || Date.now() > g_pota.rbnReportTimes[hash]) + if (!(hash in GT.pota.rbnReportTimes) || Date.now() > GT.pota.rbnReportTimes[hash]) { - g_pota.rbnReportTimes[hash] = Date.now() + g_pota.rbnFrequency; - reportPotaRBN(g_pota.parkSpots[park][callObj.DEcall]); + GT.pota.rbnReportTimes[hash] = Date.now() + GT.pota.rbnFrequency; + reportPotaRBN(GT.pota.parkSpots[park][callObj.DEcall]); } } else { - if (!(callObj.DEcall in g_pota.callSpots)) + if (!(callObj.DEcall in GT.pota.callSpots)) { console.log("No call spot: " + callObj.DEcall); } - if (!(park in g_pota.parkSpots)) + if (!(park in GT.pota.parkSpots)) { console.log("No park spot: " + park); } @@ -290,15 +290,15 @@ function reportPotaQSO(record) function rbnReportResult(buffer, flag, cookies) { // It worked! process latest spots! - if (g_pota.spotsTimeout) + if (GT.pota.spotsTimeout) { - nodeTimers.clearTimeout(g_pota.spotsTimeout); - g_pota.spotsTimeout = null; + nodeTimers.clearTimeout(GT.pota.spotsTimeout); + GT.pota.spotsTimeout = null; } processPotaSpots(String(buffer)); - g_pota.spotsTimeout = nodeTimers.setTimeout(getPotaSpots, 300000); + GT.pota.spotsTimeout = nodeTimers.setTimeout(getPotaSpots, 300000); } function spotFromCallObj(callObj, park, inCount, rbnTime) @@ -308,7 +308,7 @@ function spotFromCallObj(callObj, park, inCount, rbnTime) activatorGrid: callObj.grid, spotter: myDEcall + "-#", spotterGrid: myDEGrid, - frequency: Number((g_instances[callObj.instance].status.Frequency / 1000000).toFixed(3)), + frequency: Number((GT.instances[callObj.instance].status.Frequency / 1000000).toFixed(3)), reference: park, mode: callObj.mode, band: callObj.band, @@ -322,28 +322,28 @@ function spotFromCallObj(callObj, park, inCount, rbnTime) function addParkSpotFeature(park, report) { - var parkObj = Object.assign({}, g_parkTemplate); - if (park in g_pota.mapParks) + var parkObj = Object.assign({}, GT.parkTemplate); + if (park in GT.pota.mapParks) { - parkObj = g_pota.mapParks[park]; + parkObj = GT.pota.mapParks[park]; } else { - g_pota.mapParks[park] = parkObj; + GT.pota.mapParks[park] = parkObj; } if (parkObj.feature == null && validateMapBandAndMode(report.band, report.mode)) { - parkObj.feature = iconFeature(ol.proj.fromLonLat([Number(g_pota.parks[park].longitude), Number(g_pota.parks[park].latitude)]), g_gtParkIconActive, 1); + parkObj.feature = iconFeature(ol.proj.fromLonLat([Number(GT.pota.parks[park].longitude), Number(GT.pota.parks[park].latitude)]), GT.gtParkIconActive, 1); parkObj.feature.key = park; parkObj.feature.size = 22; - g_layerSources.pota.addFeature(parkObj.feature); + GT.layerSources.pota.addFeature(parkObj.feature); } } function processPotaParks(buffer) { - if (g_appSettings.potaEnabled == 1) + if (GT.appSettings.potaEnabled == 1) { try { @@ -361,10 +361,10 @@ function processPotaParks(buffer) } newParks[park].locationDesc = locations.join(", "); } - newParks["?-????"] = g_potaUnknownPark; + newParks["?-????"] = GT.potaUnknownPark; - g_pota.parks = newParks; - g_pota.locations = data.locations; + GT.pota.parks = newParks; + GT.pota.locations = data.locations; getPotaSchedule(); getPotaSpots(); } @@ -379,13 +379,13 @@ function processPotaParks(buffer) function getPotaParks() { - if (g_pota.parksTimeout) + if (GT.pota.parksTimeout) { - nodeTimers.clearTimeout(g_pota.parksTimeout); - g_pota.spotsTimeout = null; + nodeTimers.clearTimeout(GT.pota.parksTimeout); + GT.pota.spotsTimeout = null; } - if (g_mapSettings.offlineMode == false && g_appSettings.potaEnabled == 1) + if (GT.mapSettings.offlineMode == false && GT.appSettings.potaEnabled == 1) { getBuffer( "https://storage.googleapis.com/gt_app/pota.json?cb=" + Date.now(), @@ -396,7 +396,7 @@ function getPotaParks() ); } - g_pota.parksTimeout = nodeTimers.setTimeout(getPotaParks, 86400000) + GT.pota.parksTimeout = nodeTimers.setTimeout(getPotaParks, 86400000) } // This is a shallow copy, don't use with objects that contain other objects or arrays @@ -425,22 +425,22 @@ function uniqueArrayFromArray(input) function processPotaSpots(buffer) { - if (g_appSettings.potaEnabled == 1) + if (GT.appSettings.potaEnabled == 1) { try { var spots = JSON.parse(buffer); - g_pota.callSpots = {}; - g_pota.parkSpots = {}; + GT.pota.callSpots = {}; + GT.pota.parkSpots = {}; for (const spot in spots) { - if (spots[spot].reference in g_pota.parks) + if (spots[spot].reference in GT.pota.parks) { - var newSpot = fillObjectFromTemplate(g_potaSpotTemplate, spots[spot]); + var newSpot = fillObjectFromTemplate(GT.potaSpotTemplate, spots[spot]); newSpot.spotTime = Date.parse(newSpot.spotTime + "Z"); newSpot.frequency = parseInt(newSpot.frequency) / 1000; newSpot.expire = newSpot.spotTime + (Number(newSpot.expire) * 1000); - newSpot.band = newSpot.frequency.formatBand(); + newSpot.band = formatBand(newSpot.frequency); if (newSpot.spotter == newSpot.activator && newSpot.comments.match(/qrt/gi)) { // don't add the spot, they have self-QRT'ed @@ -451,14 +451,14 @@ function processPotaSpots(buffer) } else { - g_pota.callSpots[newSpot.activator] = newSpot.reference; + GT.pota.callSpots[newSpot.activator] = newSpot.reference; - if (!(newSpot.reference in g_pota.parkSpots)) + if (!(newSpot.reference in GT.pota.parkSpots)) { - g_pota.parkSpots[newSpot.reference] = {}; + GT.pota.parkSpots[newSpot.reference] = {}; } - g_pota.parkSpots[newSpot.reference][newSpot.activator] = newSpot; + GT.pota.parkSpots[newSpot.reference][newSpot.activator] = newSpot; } } else @@ -478,13 +478,13 @@ function processPotaSpots(buffer) function getPotaSpots() { - if (g_pota.spotsTimeout) + if (GT.pota.spotsTimeout) { - nodeTimers.clearTimeout(g_pota.spotsTimeout); - g_pota.spotsTimeout = null; + nodeTimers.clearTimeout(GT.pota.spotsTimeout); + GT.pota.spotsTimeout = null; } - if (g_mapSettings.offlineMode == false && g_appSettings.potaEnabled == 1) + if (GT.mapSettings.offlineMode == false && GT.appSettings.potaEnabled == 1) { getBuffer( "https://api.pota.app/spot/activator", @@ -495,18 +495,18 @@ function getPotaSpots() ); } - g_pota.spotsTimeout = nodeTimers.setTimeout(getPotaSpots, 300000); + GT.pota.spotsTimeout = nodeTimers.setTimeout(getPotaSpots, 300000); } function processPotaSchedule(buffer) { - if (g_appSettings.potaEnabled == 1) + if (GT.appSettings.potaEnabled == 1) { try { var schedules = JSON.parse(buffer); - g_pota.callSchedule = {}; - g_pota.parkSchedule = {}; + GT.pota.callSchedule = {}; + GT.pota.parkSchedule = {}; for (const i in schedules) { var newObj = {}; @@ -517,13 +517,13 @@ function processPotaSchedule(buffer) newObj.comments = schedules[i].comments; if (Date.now() < newObj.end) { - if (newObj.id in g_pota.parks) + if (newObj.id in GT.pota.parks) { - (g_pota.callSchedule[schedules[i].activator] = g_pota.callSchedule[schedules[i].activator] || []).push(newObj); + (GT.pota.callSchedule[schedules[i].activator] = GT.pota.callSchedule[schedules[i].activator] || []).push(newObj); newObj = Object.assign({}, newObj); newObj.id = schedules[i].activator; - (g_pota.parkSchedule[schedules[i].reference] = g_pota.parkSchedule[schedules[i].reference] || []).push(newObj); + (GT.pota.parkSchedule[schedules[i].reference] = GT.pota.parkSchedule[schedules[i].reference] || []).push(newObj); } else { @@ -534,13 +534,13 @@ function processPotaSchedule(buffer) } // Sanity dedupe checks - for (const key in g_pota.callSchedule) + for (const key in GT.pota.callSchedule) { - g_pota.callSchedule[key] = uniqueArrayFromArray(g_pota.callSchedule[key]); + GT.pota.callSchedule[key] = uniqueArrayFromArray(GT.pota.callSchedule[key]); } - for (const key in g_pota.parkSchedule) + for (const key in GT.pota.parkSchedule) { - g_pota.parkSchedule[key] = uniqueArrayFromArray(g_pota.parkSchedule[key]); + GT.pota.parkSchedule[key] = uniqueArrayFromArray(GT.pota.parkSchedule[key]); } } catch (e) @@ -552,13 +552,13 @@ function processPotaSchedule(buffer) function getPotaSchedule() { - if (g_pota.scheduleTimeout) + if (GT.pota.scheduleTimeout) { - nodeTimers.clearTimeout(g_pota.scheduleTimeout); - g_pota.scheduleTimeout = null; + nodeTimers.clearTimeout(GT.pota.scheduleTimeout); + GT.pota.scheduleTimeout = null; } - if (g_mapSettings.offlineMode == false && g_appSettings.potaEnabled == 1) + if (GT.mapSettings.offlineMode == false && GT.appSettings.potaEnabled == 1) { getBuffer( "https://api.pota.app/activation", @@ -568,18 +568,18 @@ function getPotaSchedule() 443 ); } - g_pota.scheduleTimeout = nodeTimers.setTimeout(getPotaSchedule, 900000); + GT.pota.scheduleTimeout = nodeTimers.setTimeout(getPotaSchedule, 900000); } -var g_lastPark = null; +GT.lastPark = null; function mouseOverPark(feature) { - if (g_lastPark && g_lastPark == feature) + if (GT.lastPark && GT.lastPark == feature) { mouseParkMove(); return; } - g_lastPark = feature; + GT.lastPark = feature; createParkTipTable(feature); @@ -591,7 +591,7 @@ function mouseOverPark(feature) function mouseOutPark(mouseEvent) { - g_lastPark = null; + GT.lastPark = null; myParktip.style.zIndex = -1; } @@ -615,57 +615,33 @@ function mouseParkMove() function createParkTipTable(toolElement) { var worker = ""; - var key = toolElement.key; var now = Date.now(); worker += "
" + key + - " : " + g_pota.parks[key].name + "" + - " (" + g_dxccToAltName[Number(g_pota.parks[key].entityId)] + ")" + - "
" + g_pota.parks[key].locationDesc + "
"; + " : " + GT.pota.parks[key].name + "" + + " (" + GT.dxccToAltName[Number(GT.pota.parks[key].entityId)] + ")" + + "
" + GT.pota.parks[key].locationDesc + ""; worker += ""; worker += ""; - for (const i in g_pota.parkSpots[key]) + for (const i in GT.pota.parkSpots[key]) { - if (validateMapBandAndMode(g_pota.parkSpots[key][i].band, g_pota.parkSpots[key][i].mode)) + if (validateMapBandAndMode(GT.pota.parkSpots[key][i].band, GT.pota.parkSpots[key][i].mode)) { worker += ""; - worker += ""; - worker += ""; - worker += ""; - worker += ""; - worker += ""; - worker += ""; - worker += ""; - worker += ""; + worker += ""; + worker += ""; + worker += ""; + worker += ""; + worker += ""; + worker += ""; + worker += ""; + worker += ""; worker += ""; } } worker += "
ActivatorSpotterFreqModeCountWhenSourceComment
" + g_pota.parkSpots[key][i].activator + "" + ((g_pota.parkSpots[key][i].spotter == g_pota.parkSpots[key][i].activator) ? "Self" : g_pota.parkSpots[key][i].spotter) + "" + g_pota.parkSpots[key][i].frequency.formatMhz(3, 3) + " (" + g_pota.parkSpots[key][i].band + ")" + g_pota.parkSpots[key][i].mode + "" + g_pota.parkSpots[key][i].count + "" + parseInt((now - g_pota.parkSpots[key][i].spotTime) / 1000).toDHMS() + "" + g_pota.parkSpots[key][i].source + "" + g_pota.parkSpots[key][i].comments + "" + GT.pota.parkSpots[key][i].activator + "" + ((GT.pota.parkSpots[key][i].spotter == GT.pota.parkSpots[key][i].activator) ? "Self" : GT.pota.parkSpots[key][i].spotter) + "" + formatMhz(GT.pota.parkSpots[key][i].frequency, 3, 3) + " (" + GT.pota.parkSpots[key][i].band + ")" + GT.pota.parkSpots[key][i].mode + "" + GT.pota.parkSpots[key][i].count + "" + toDHMS(parseInt((now - GT.pota.parkSpots[key][i].spotTime) / 1000)) + "" + GT.pota.parkSpots[key][i].source + "" + GT.pota.parkSpots[key][i].comments + "
"; - - /* - buffer += "
Activations (scheduled)" - buffer += ""; - buffer += ""; - for (const i in g_pota.parkSchedule[key]) - { - var start = g_pota.parkSchedule[key][i].start; - var end = g_pota.parkSchedule[key][i].end; - if (now < end) - { - buffer += ""; - buffer += ""; - buffer += ""; - buffer += ""; - buffer += ""; - buffer += ""; - buffer += ""; - active++; - } - } - */ myParktip.innerHTML = worker; - return 1; } diff --git a/package.nw/lib/protos.js b/package.nw/lib/protos.js index a26228c..5697de2 100644 --- a/package.nw/lib/protos.js +++ b/package.nw/lib/protos.js @@ -1,7 +1,7 @@ // GridTracker Copyright © 2023 GridTracker.org // All rights reserved. // See LICENSE for more information. -var g_proto_bands = [ +const g_proto_bands = [ "OOB", "OOB", 1, @@ -74,9 +74,8 @@ var g_proto_bands = [ "1.25m" ]; // Incoming is already float fixed ( 14.037 ) for 14,037,000hz -Number.prototype.formatBand = function () +function formatBand(freq) { - let freq = this; let newFreq = parseInt(freq); if (newFreq > 0 && newFreq < 226) return g_proto_bands[g_proto_bands.indexOf(newFreq) + 1]; else if (newFreq >= 420 && newFreq <= 450) return "70cm"; @@ -99,95 +98,53 @@ Number.prototype.formatBand = function () else return "OOB"; }; -Number.prototype.formatMhz = function (n, x) +function formatMhz(freq, n, x) { - var re = "\\d(?=(\\d{" + (x || 3) + "})+" + (n > 0 ? "\\." : "$") + ")"; - return this.toFixed(Math.max(0, ~~n)).replace(new RegExp(re, "g"), "$&."); + let re = "\\d(?=(\\d{" + (x || 3) + "})+" + (n > 0 ? "\\." : "$") + ")"; + return freq.toFixed(Math.max(0, ~~n)).replace(new RegExp(re, "g"), "$&."); }; -Number.prototype.formatSignalReport = function () +function formatSignalReport(val) { - var val = this; - var report = String(); - + let report = String(); if (val >= 0) report = "+" + val; else report = val; return report; }; -var CALLSIGN_REGEX = /0/g -String.prototype.formatCallsign = function () +const CALLSIGN_REGEX = /0/g +function formatCallsign(call) { - return this.replace(CALLSIGN_REGEX, "Ø"); + return call.replace(CALLSIGN_REGEX, "Ø"); }; -Number.prototype.toDHMS = function () +function toDHMS(inputSeconds) { - var seconds = this; - var days = Math.floor(seconds / (3600 * 24)); + let seconds = inputSeconds; + let days = Math.floor(seconds / (3600 * 24)); seconds -= days * 3600 * 24; - var hrs = Math.floor(seconds / 3600); + let hrs = Math.floor(seconds / 3600); seconds -= hrs * 3600; - var mnts = Math.floor(seconds / 60); + let mnts = Math.floor(seconds / 60); seconds -= mnts * 60; days = days ? days + "d " : ""; hrs = hrs ? hrs + "h " : ""; mnts = mnts ? mnts + "m " : ""; - var first = days + hrs + mnts; + let first = days + hrs + mnts; if (first == "") val = seconds + "s"; else val = first + (seconds > 0 ? seconds + "s" : ""); return val; }; -Number.prototype.msToDHMS = function () +function toDHM(inputSeconds) { - var seconds = parseInt(this / 1000); - var days = Math.floor(seconds / (3600 * 24)); + let seconds = inputSeconds; + let days = Math.floor(seconds / (3600 * 24)); seconds -= days * 3600 * 24; - var hrs = Math.floor(seconds / 3600); + let hrs = Math.floor(seconds / 3600); seconds -= hrs * 3600; - var mnts = Math.floor(seconds / 60); - seconds -= mnts * 60; - - days = days ? days + "d " : ""; - hrs = hrs ? hrs + "h " : ""; - mnts = mnts ? mnts + "m " : ""; - var first = days + hrs + mnts; - if (first == "") val = seconds + "s"; - else val = first + (seconds > 0 ? seconds + "s" : ""); - return val; -}; - -Number.prototype.toDHMS15 = function () -{ - // round to earliest 15 seconds - - var seconds = Math.floor(this / 15) * 15; - var days = Math.floor(seconds / (3600 * 24)); - seconds -= days * 3600 * 24; - var hrs = Math.floor(seconds / 3600); - seconds -= hrs * 3600; - var mnts = Math.floor(seconds / 60); - seconds -= mnts * 60; - - days = days ? days + "d " : ""; - hrs = hrs ? hrs + "h " : ""; - mnts = mnts ? mnts + "m " : ""; - var first = days + hrs + mnts; - if (first == "") val = seconds + "s"; - else val = first + (seconds > 0 ? seconds + "s" : ""); - return val; -}; - -Number.prototype.toDHM = function () -{ - var seconds = this; - var days = Math.floor(seconds / (3600 * 24)); - seconds -= days * 3600 * 24; - var hrs = Math.floor(seconds / 3600); - seconds -= hrs * 3600; - var mnts = Math.floor(seconds / 60); + let mnts = Math.floor(seconds / 60); seconds -= mnts * 60; days = days ? days + "d " : ""; @@ -199,46 +156,21 @@ Number.prototype.toDHM = function () return val; }; -Number.prototype.toYM = function () +function toYM(input) { - var months = this; - var years = parseInt(Math.floor(months / 12)); + let months = input; + let years = parseInt(Math.floor(months / 12)); months -= years * 12; months = parseInt(months); years = years ? years + "y " : ""; months = months ? months + "m" : ""; - var total = years + months; + let total = years + months; return total == "" ? "any" : total; }; -Number.prototype.toHMS = function () +function padNumber(number, size) { - var seconds = this; - var days = Math.floor(seconds / (3600 * 24)); - seconds -= days * 3600 * 24; - var hrs = Math.floor(seconds / 3600); - seconds -= hrs * 3600; - var mnts = Math.floor(seconds / 60); - seconds -= mnts * 60; - - hrs = hrs < 10 ? "0" + hrs : hrs; - mnts = mnts < 10 ? "0" + mnts : mnts; - seconds = seconds < 10 ? "0" + seconds : seconds; - val = hrs + "" + mnts + "" + seconds; - return val; -}; - -String.prototype.toProperCase = function () -{ - return this.replace(/\w\S*/g, function (txt) - { - return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); - }); -}; - -Number.prototype.pad = function (size) -{ - var s = String(this); + let s = String(number); while (s.length < (size || 2)) { s = "0" + s; @@ -246,7 +178,15 @@ Number.prototype.pad = function (size) return s; }; -String.prototype.replaceAll = function (str1, str2) +function replaceAll(input, str1, str2) { - return this.split(str1).join(str2); + return input.split(str1).join(str2); +}; + +function toProperCase(text) +{ + return text.replace(/\w\S*/g, function (txt) + { + return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); + }); }; diff --git a/package.nw/lib/roster.js b/package.nw/lib/roster.js index 745529e..de3e76b 100644 --- a/package.nw/lib/roster.js +++ b/package.nw/lib/roster.js @@ -4,67 +4,68 @@ const fs = require("fs"); -var callRoster = {}; -var g_blockedCalls = {}; -var g_blockedCQ = {}; -var g_blockedDxcc = {}; -var g_blockedCQz = {}; -var g_blockedITUz = {}; -var g_scriptReport = {}; -var g_worked = {}; -var g_confirmed = {}; -var g_modes = {}; -var g_modes_phone = {}; -var g_currentUSCallsigns = null; -var r_currentUSState = ""; -var r_currentDXCCs = -1; -var r_callsignManifest = null; -var g_rosterSettings = {}; -var g_day = 0; -var g_dayAsString = "0"; -var g_menu = null; -var g_callMenu = null; -var g_ageMenu = null; -var g_callingMenu = null; -var g_compactMenu = null; -var g_menuItemForCurrentColumn = null; -var g_currentColumnName = null; -var g_targetHash = ""; -var g_clearIgnores = null; -var g_clearIgnoresCall = null; -var g_dxccMenu = null; -var g_targetDxcc = -1; -var g_clearDxccIgnore = null; -var g_clearDxccIgnoreMainMenu = null; -var g_CQMenu = null; -var g_targetCQ = ""; -var g_clearCQIgnore = null; -var g_clearCQIgnoreMainMenu = null; -var g_clearCQzIgnore = null; -var g_clearCQzIgnoreMainMenu = null; -var g_clearITUzIgnore = null; -var g_clearITUzIgnoreMainMenu = null; -var g_timerInterval = null; -var g_typingInRoster = false; -var g_awards = {}; -var g_awardTypes = {}; -var g_awardTracker = {}; -var g_callsignDatabaseDXCC = {}; -var g_callsignDatabaseUS = {}; -var g_callsignDatabaseUSplus = {}; +// var CR is in screen.js +CR.developerMode = process.versions["nw-flavor"] == "sdk"; +CR.callRoster = {}; +CR.blockedCalls = {}; +CR.blockedCQ = {}; +CR.blockedDxcc = {}; +CR.blockedCQz = {}; +CR.blockedITUz = {}; +CR.scriptReport = {}; +CR.worked = {}; +CR.confirmed = {}; +CR.modes = {}; +CR.modes_phone = {}; +CR.currentUSCallsigns = null; +CR.currentUSState = ""; +CR.currentDXCCs = -1; +CR.callsignManifest = null; +CR.rosterSettings = {}; +CR.day = 0; +CR.dayAsString = "0"; +CR.menu = null; +CR.callMenu = null; +CR.ageMenu = null; +CR.callingMenu = null; +CR.compactMenu = null; +CR.menuItemForCurrentColumn = null; +CR.currentColumnName = null; +CR.targetHash = ""; +CR.clearIgnores = null; +CR.clearIgnoresCall = null; +CR.dxccMenu = null; +CR.targetDxcc = -1; +CR.clearDxccIgnore = null; +CR.clearDxccIgnoreMainMenu = null; +CR.CQMenu = null; +CR.targetCQ = ""; +CR.clearCQIgnore = null; +CR.clearCQIgnoreMainMenu = null; +CR.clearCQzIgnore = null; +CR.clearCQzIgnoreMainMenu = null; +CR.clearITUzIgnore = null; +CR.clearITUzIgnoreMainMenu = null; +CR.timerInterval = null; +CR.typingInRoster = false; +CR.awards = {}; +CR.awardTypes = {}; +CR.awardTracker = {}; +CR.callsignDatabaseDXCC = {}; +CR.callsignDatabaseUS = {}; +CR.callsignDatabaseUSplus = {}; +CR.modeColors = {}; +CR.modeColors.FT4 = "1111FF"; +CR.modeColors.FT8 = "11FF11"; +CR.modeColors.JT4 = "EE1111"; +CR.modeColors.JT9 = "7CFC00"; +CR.modeColors.JT65 = "E550E5"; +CR.modeColors.QRA64 = "FF00FF"; +CR.modeColors.MSK144 = "4949FF"; +CR.rosterTimeout = null; +CR.rosterFocus = false; -var g_developerMode = process.versions["nw-flavor"] == "sdk"; - -var g_modeColors = {}; -g_modeColors.FT4 = "1111FF"; -g_modeColors.FT8 = "11FF11"; -g_modeColors.JT4 = "EE1111"; -g_modeColors.JT9 = "7CFC00"; -g_modeColors.JT65 = "E550E5"; -g_modeColors.QRA64 = "FF00FF"; -g_modeColors.MSK144 = "4949FF"; - -var g_defaultSettings = { +CR.defaultSettings = { callsign: "all", hunting: "dxcc", huntNeed: "confirmed", @@ -165,7 +166,7 @@ var g_defaultSettings = { compactEntity: "DXCC" }; -g_def_displayFilters = { +CR.def_displayFilters = { brightness: 100, contrast: 100, saturate: 100, @@ -217,33 +218,33 @@ if (typeof localStorage.blockedITUz == "undefined") if (typeof localStorage.awardTracker == "undefined") { localStorage.awardTracker = "{}"; - g_rosterSettings = {}; + CR.rosterSettings = {}; writeRosterSettings(); } -g_awardTracker = JSON.parse(localStorage.awardTracker); +CR.awardTracker = JSON.parse(localStorage.awardTracker); if (typeof localStorage.blockedCalls != "undefined") { - g_blockedCalls = JSON.parse(localStorage.blockedCalls); - g_blockedCQ = JSON.parse(localStorage.blockedCQ); - g_blockedDxcc = JSON.parse(localStorage.blockedDxcc); - g_blockedCQz = JSON.parse(localStorage.blockedCQz); - g_blockedITUz = JSON.parse(localStorage.blockedITUz); + CR.blockedCalls = JSON.parse(localStorage.blockedCalls); + CR.blockedCQ = JSON.parse(localStorage.blockedCQ); + CR.blockedDxcc = JSON.parse(localStorage.blockedDxcc); + CR.blockedCQz = JSON.parse(localStorage.blockedCQz); + CR.blockedITUz = JSON.parse(localStorage.blockedITUz); } function storeBlocks() { - localStorage.blockedCalls = JSON.stringify(g_blockedCalls); - localStorage.blockedCQ = JSON.stringify(g_blockedCQ); - localStorage.blockedDxcc = JSON.stringify(g_blockedDxcc); - localStorage.blockedCQz = JSON.stringify(g_blockedCQz); - localStorage.blockedITUz = JSON.stringify(g_blockedITUz); + localStorage.blockedCalls = JSON.stringify(CR.blockedCalls); + localStorage.blockedCQ = JSON.stringify(CR.blockedCQ); + localStorage.blockedDxcc = JSON.stringify(CR.blockedDxcc); + localStorage.blockedCQz = JSON.stringify(CR.blockedCQz); + localStorage.blockedITUz = JSON.stringify(CR.blockedITUz); } function storeAwardTracker() { - localStorage.awardTracker = JSON.stringify(g_awardTracker); + localStorage.awardTracker = JSON.stringify(CR.awardTracker); } function loadSettings() @@ -253,7 +254,7 @@ function loadSettings() { readSettings = JSON.parse(localStorage.rosterSettings); } - g_rosterSettings = deepmerge(g_defaultSettings, readSettings); + CR.rosterSettings = deepmerge(CR.defaultSettings, readSettings); fixLegacySettings(); @@ -263,46 +264,46 @@ function loadSettings() function fixLegacySettings() { // Not sure why, but Paul Traina added this settings cleanup in August 2020. - if ("GT" in g_rosterSettings.columns) delete g_rosterSettings.columns.GT; + if ("GT" in CR.rosterSettings.columns) delete CR.rosterSettings.columns.GT; // In January 2022, we refactored roster column sorting - if (g_rosterSettings.lastSortIndex) + if (CR.rosterSettings.lastSortIndex) { - g_rosterSettings.sortColumn = LEGACY_COLUMN_SORT_ID[g_rosterSettings.lastSortIndex] || "Age"; - delete g_rosterSettings.lastSortIndex; + CR.rosterSettings.sortColumn = LEGACY_COLUMN_SORT_ID[CR.rosterSettings.lastSortIndex] || "Age"; + delete CR.rosterSettings.lastSortIndex; } // In January 2022, we refactored roster column sorting - if (g_rosterSettings.lastSortReverse) + if (CR.rosterSettings.lastSortReverse) { - g_rosterSettings.sortReverse = g_rosterSettings.lastSortReverse; - delete g_rosterSettings.lastSortReverse; + CR.rosterSettings.sortReverse = CR.rosterSettings.lastSortReverse; + delete CR.rosterSettings.lastSortReverse; } // In January 2022, we added a `columnOrder` setting, which we need to ensure always includes all columns - g_rosterSettings.columnOrder = validateRosterColumnOrder(g_rosterSettings.columnOrder); + CR.rosterSettings.columnOrder = validateRosterColumnOrder(CR.rosterSettings.columnOrder); } function writeRosterSettings() { - localStorage.rosterSettings = JSON.stringify(g_rosterSettings); + localStorage.rosterSettings = JSON.stringify(CR.rosterSettings); } function isKnownCallsignDXCC(dxcc) { - if (dxcc in g_callsignDatabaseDXCC) return true; + if (dxcc in CR.callsignDatabaseDXCC) return true; return false; } function isKnownCallsignUS(dxcc) { - if (dxcc in g_callsignDatabaseUS) return true; + if (dxcc in CR.callsignDatabaseUS) return true; return false; } function isKnownCallsignUSplus(dxcc) { - if (dxcc in g_callsignDatabaseUSplus) return true; + if (dxcc in CR.callsignDatabaseUSplus) return true; return false; } @@ -344,40 +345,37 @@ function hashMaker(start, callObj, reference) return ""; } -var rosterTimeout = null; -var rosterFocus = false; - function rosterInFocus() { - if (g_rosterSettings.rosterDelayOnFocus) + if (CR.rosterSettings.rosterDelayOnFocus) { - rosterFocus = true; + CR.rosterFocus = true; } } function rosterNoFocus() { - rosterFocus = false; - if (rosterTimeout != null) + CR.rosterFocus = false; + if (CR.rosterTimeout != null) { - nodeTimers.clearTimeout(rosterTimeout); - rosterTimeout = null; + nodeTimers.clearTimeout(CR.rosterTimeout); + CR.rosterTimeout = null; viewRoster(); } } function processRoster(roster) { - callRoster = roster; - if (rosterTimeout != null) + CR.callRoster = roster; + if (CR.rosterTimeout != null) { - nodeTimers.clearTimeout(rosterTimeout); - rosterTimeout = null; + nodeTimers.clearTimeout(CR.rosterTimeout); + CR.rosterTimeout = null; } - if (rosterFocus) + if (CR.rosterFocus) { - rosterTimeout = nodeTimers.setTimeout(viewRoster, g_rosterSettings.rosterDelayTime); + CR.rosterTimeout = nodeTimers.setTimeout(viewRoster, CR.rosterSettings.rosterDelayTime); rosterDelayDiv.style.display = "inline-block"; } else @@ -388,52 +386,52 @@ function processRoster(roster) function viewRoster() { - rosterTimeout = null; + CR.rosterTimeout = null; rosterDelayDiv.style.display = "none"; let rosterSettings = prepareRosterSettings(); - processRosterFiltering(callRoster, rosterSettings); - processRosterHunting(callRoster, rosterSettings, g_awardTracker); - renderRoster(callRoster, rosterSettings); - sendAlerts(callRoster, rosterSettings); + processRosterFiltering(CR.callRoster, rosterSettings); + processRosterHunting(CR.callRoster, rosterSettings, CR.awardTracker); + renderRoster(CR.callRoster, rosterSettings); + sendAlerts(CR.callRoster, rosterSettings); } function realtimeRoster() { let now = timeNowSec(); - g_day = parseInt(now / 86400); - g_dayAsString = String(g_day); + CR.day = parseInt(now / 86400); + CR.dayAsString = String(CR.day); - if (g_rosterSettings.realtime == false) return; + if (CR.rosterSettings.realtime == false) return; let timeCols = document.getElementsByClassName("timeCol"); for (const x in timeCols) { - if ((typeof timeCols[x].id != "undefined") && (typeof callRoster[timeCols[x].id.substr(2)] != "undefined")) + if ((typeof timeCols[x].id != "undefined") && (typeof CR.callRoster[timeCols[x].id.substr(2)] != "undefined")) { - let when = now - callRoster[timeCols[x].id.substr(2)].callObj.age; - timeCols[x].innerHTML = when.toDHMS(); + let when = now - CR.callRoster[timeCols[x].id.substr(2)].callObj.age; + timeCols[x].innerHTML = toDHMS(when); } } let lifeCols = document.getElementsByClassName("lifeCol"); for (const x in lifeCols) { - if ((typeof lifeCols[x].id != "undefined") && (typeof callRoster[lifeCols[x].id.substr(2)] != "undefined")) + if ((typeof lifeCols[x].id != "undefined") && (typeof CR.callRoster[lifeCols[x].id.substr(2)] != "undefined")) { - let when = now - callRoster[lifeCols[x].id.substr(2)].callObj.life; - lifeCols[x].innerHTML = when.toDHMS(); + let when = now - CR.callRoster[lifeCols[x].id.substr(2)].callObj.life; + lifeCols[x].innerHTML = toDHMS(when); } } - if (g_rosterSettings.columns.Spot) + if (CR.rosterSettings.columns.Spot) { let spotCols = document.getElementsByClassName("spotCol"); for (const x in spotCols) { - if ((typeof spotCols[x].id != "undefined") && (typeof callRoster[spotCols[x].id.substr(2)] != "undefined")) + if ((typeof spotCols[x].id != "undefined") && (typeof CR.callRoster[spotCols[x].id.substr(2)] != "undefined")) { spotCols[x].innerHTML = getSpotString( - callRoster[spotCols[x].id.substr(2)].callObj + CR.callRoster[spotCols[x].id.substr(2)].callObj ); - if (g_rosterSettings.onlySpot && spotCols[x].innerHTML == "") + if (CR.rosterSettings.onlySpot && spotCols[x].innerHTML == "") { viewRoster(); return; @@ -449,8 +447,8 @@ function getSpotString(callObj) if (callObj.spot && callObj.spot.when > 0) { when = timeNowSec() - callObj.spot.when; - if (when <= window.opener.g_receptionSettings.viewHistoryTimeSec) - { result = parseInt(when).toDHM(); } + if (when <= window.opener.GT.receptionSettings.viewHistoryTimeSec) + { result = toDHM(parseInt(when)); } } if (result != " ") result += " / " + callObj.spot.snr; return result; @@ -469,29 +467,29 @@ function initiateQso(thisHash) function callLookup(thisHash, grid) { window.opener.startLookup( - callRoster[thisHash].DEcall, - callRoster[thisHash].grid + CR.callRoster[thisHash].DEcall, + CR.callRoster[thisHash].grid ); } function callingLookup(thisHash, grid) { - let thisCall = callRoster[thisHash].DXcall; + let thisCall = CR.callRoster[thisHash].DXcall; window.opener.startLookup(thisCall, grid); } function callGenMessage(thisHash, grid) { - let thisCall = callRoster[thisHash].DEcall; - let instance = callRoster[thisHash].callObj.instance; + let thisCall = CR.callRoster[thisHash].DEcall; + let instance = CR.callRoster[thisHash].callObj.instance; window.opener.startGenMessages(thisCall, grid, instance); } function callingGenMessage(thisHash, grid) { - let thisCall = callRoster[thisHash].DXcall; - let instance = callRoster[thisHash].callObj.instance; + let thisCall = CR.callRoster[thisHash].DXcall; + let instance = CR.callRoster[thisHash].callObj.instance; window.opener.startGenMessages(thisCall, grid, instance); } @@ -503,15 +501,15 @@ function centerOn(grid) function instanceChange(what) { - window.opener.g_instances[what.id].crEnable = what.checked; + window.opener.GT.instances[what.id].crEnable = what.checked; window.opener.goProcessRoster(); } function updateInstances() { - if (window.opener.g_instancesIndex.length > 1) + if (window.opener.GT.instancesIndex.length > 1) { - let instances = window.opener.g_instances; + let instances = window.opener.GT.instances; let worker = ""; @@ -618,7 +616,7 @@ function createSelectOptions( let option = document.createElement("option"); option.value = opt; option.text = altName ? forObject[opt][altName] : opt; - if (checkSponsor && opt + "-" + checkSponsor in g_awardTracker) + if (checkSponsor && opt + "-" + checkSponsor in CR.awardTracker) { option.disabled = true; } selector.appendChild(option); @@ -631,7 +629,7 @@ function awardSponsorChanged() createSelectOptions( "awardName", "Select Award", - g_awards[awardSponsor.value].awards, + CR.awards[awardSponsor.value].awards, "name", null, awardSponsor.value @@ -647,9 +645,9 @@ function awardNameChanged() ); let hash = awardToAdd.name + "-" + awardToAdd.sponsor; - if (!(hash in g_awardTracker)) + if (!(hash in CR.awardTracker)) { - g_awardTracker[hash] = awardToAdd; + CR.awardTracker[hash] = awardToAdd; storeAwardTracker(); processAward(hash); updateAwardList(hash); @@ -658,7 +656,7 @@ function awardNameChanged() createSelectOptions( "awardName", "Select Award", - g_awards[awardToAdd.sponsor].awards, + CR.awards[awardToAdd.sponsor].awards, "name", null, awardToAdd.sponsor @@ -677,12 +675,12 @@ function updateAwardList(target = null) AwardWantedList.innerHTML = worker; - let keys = Object.keys(g_awardTracker).sort(); + let keys = Object.keys(CR.awardTracker).sort(); for (const key in keys) { - let award = g_awardTracker[keys[key]]; - let rule = g_awards[award.sponsor].awards[award.name].rule; + let award = CR.awardTracker[keys[key]]; + let rule = CR.awards[award.sponsor].awards[award.name].rule; let row = awardTable.insertRow(); row.id = keys[key]; let baseAward = false; @@ -692,7 +690,7 @@ function updateAwardList(target = null) let endorseTotal = 0; let allEndorse = false; - let tooltip = g_awards[award.sponsor].awards[award.name].tooltip + " (" + g_awards[award.sponsor].sponsor + ")\n"; + let tooltip = CR.awards[award.sponsor].awards[award.name].tooltip + " (" + CR.awards[award.sponsor].sponsor + ")\n"; tooltip += toTitleCase(award.test.qsl_req) + " QSO\n"; for (const mode in award.comp.counts) { @@ -752,7 +750,7 @@ function updateAwardList(target = null) function deleteAwardTracker(sender) { let id = sender.parentNode.parentNode.id; - delete g_awardTracker[id]; + delete CR.awardTracker[id]; storeAwardTracker(); resetAwardAdd(); updateAwardList(); @@ -762,7 +760,7 @@ function deleteAwardTracker(sender) function awardCheckboxChanged(sender) { let awardId = sender.target.parentNode.parentNode.id; - g_awardTracker[sender.target.parentNode.parentNode.id][sender.target.name] = + CR.awardTracker[sender.target.parentNode.parentNode.id][sender.target.name] = sender.target.checked; storeAwardTracker(); window.opener.goProcessRoster(); @@ -771,7 +769,7 @@ function awardCheckboxChanged(sender) function awardValueChanged(sender) { let awardId = sender.target.parentNode.parentNode.id; - g_awardTracker[sender.target.parentNode.parentNode.id][sender.target.name] = + CR.awardTracker[sender.target.parentNode.parentNode.id][sender.target.name] = sender.target.value; storeAwardTracker(); window.opener.goProcessRoster(); @@ -839,7 +837,7 @@ function resetAwardAdd() { awardName.style.display = "none"; createSelectOptions("awardName", "Select Award", null); - createSelectOptions("awardSponsor", "Select Sponsor", g_awards, "sponsor"); + createSelectOptions("awardSponsor", "Select Sponsor", CR.awards, "sponsor"); } function openAwardPopup() @@ -856,8 +854,8 @@ function closeAwardPopup() function toggleMoreControls() { - g_rosterSettings.controlsExtended = !g_rosterSettings.controlsExtended; - localStorage.rosterSettings = JSON.stringify(g_rosterSettings); + CR.rosterSettings.controlsExtended = !CR.rosterSettings.controlsExtended; + localStorage.rosterSettings = JSON.stringify(CR.rosterSettings); setVisual(); } @@ -868,9 +866,9 @@ function setVisual() stateSelect.style.display = "none"; DXCCsSelect.style.display = "none"; - if (g_rosterSettings.controls) + if (CR.rosterSettings.controls) { - if (g_rosterSettings.controlsExtended) + if (CR.rosterSettings.controlsExtended) { RosterControls.className = "extended"; instancesWrapper.style.display = ""; @@ -897,11 +895,11 @@ function setVisual() } else { - for (const key in g_rosterSettings.wanted) + for (const key in CR.rosterSettings.wanted) { if (document.getElementById(key)) { - document.getElementById(key).checked = g_rosterSettings.wanted[key]; + document.getElementById(key).checked = CR.rosterSettings.wanted[key]; } } @@ -1002,10 +1000,10 @@ function setVisual() callsignRegex.style.display = "none"; } - if (window.opener.g_callsignLookups.lotwUseEnable == true) + if (window.opener.GT.callsignLookups.lotwUseEnable == true) { usesLoTWDiv.style.display = ""; - if (g_rosterSettings.usesLoTW == true) + if (CR.rosterSettings.usesLoTW == true) { maxLoTW.style.display = ""; maxLoTWView.style.display = ""; @@ -1023,7 +1021,7 @@ function setVisual() maxLoTWView.style.display = "none"; } - if (window.opener.g_callsignLookups.eqslUseEnable == true) + if (window.opener.GT.callsignLookups.eqslUseEnable == true) { useseQSLDiv.style.display = ""; } @@ -1032,7 +1030,7 @@ function setVisual() useseQSLDiv.style.display = "none"; } - if (window.opener.g_callsignLookups.oqrsUseEnable == true) + if (window.opener.GT.callsignLookups.oqrsUseEnable == true) { usesOQRSDiv.style.display = ""; } @@ -1041,7 +1039,7 @@ function setVisual() usesOQRSDiv.style.display = "none"; } - if (g_rosterSettings.columns.Spot == true) + if (CR.rosterSettings.columns.Spot == true) { onlySpotDiv.style.display = ""; } @@ -1050,7 +1048,7 @@ function setVisual() onlySpotDiv.style.display = "none"; } - if (g_rosterSettings.callsign == "all" || g_rosterSettings.callsign == "hits") + if (CR.rosterSettings.callsign == "all" || CR.rosterSettings.callsign == "hits") { allOnlyNewDiv.style.display = ""; } @@ -1066,23 +1064,23 @@ function setVisual() function wantedChanged(element) { - g_rosterSettings.wanted[element.id] = element.checked; + CR.rosterSettings.wanted[element.id] = element.checked; if (element.checked == true) { let t = element.id.replace("hunt", ""); - if (t in g_rosterSettings.columns) + if (t in CR.rosterSettings.columns) { - g_rosterSettings.columns[t] = true; + CR.rosterSettings.columns[t] = true; - for (const i in g_menu.items) + for (const i in CR.menu.items) { if ( - typeof g_menu.items[i].checked != "undefined" && - g_menu.items[i].label == t + typeof CR.menu.items[i].checked != "undefined" && + CR.menu.items[i].label == t ) - { g_menu.items[i].checked = true; } + { CR.menu.items[i].checked = true; } } } } @@ -1091,10 +1089,10 @@ function wantedChanged(element) writeRosterSettings(); - g_scriptReport = Object(); - for (const callHash in window.opener.g_callRoster) + CR.scriptReport = Object(); + for (const callHash in window.opener.GT.callRoster) { - window.opener.g_callRoster[callHash].callObj.alerted = false; + window.opener.GT.callRoster[callHash].callObj.alerted = false; } window.opener.goProcessRoster(); } @@ -1103,30 +1101,30 @@ function valuesChanged() { setVisual(); - g_rosterSettings.callsign = callsignNeed.value; - g_rosterSettings.hunting = huntMode.value; - g_rosterSettings.huntNeed = huntNeed.value; - g_rosterSettings.requireGrid = wantGrid.checked; + CR.rosterSettings.callsign = callsignNeed.value; + CR.rosterSettings.hunting = huntMode.value; + CR.rosterSettings.huntNeed = huntNeed.value; + CR.rosterSettings.requireGrid = wantGrid.checked; - g_rosterSettings.wantMaxDT = wantMaxDT.checked; - g_rosterSettings.wantMinDB = wantMinDB.checked; - g_rosterSettings.wantMinFreq = wantMinFreq.checked; - g_rosterSettings.wantMaxFreq = wantMaxFreq.checked; - g_rosterSettings.wantRRCQ = wantRRCQ.checked; + CR.rosterSettings.wantMaxDT = wantMaxDT.checked; + CR.rosterSettings.wantMinDB = wantMinDB.checked; + CR.rosterSettings.wantMinFreq = wantMinFreq.checked; + CR.rosterSettings.wantMaxFreq = wantMaxFreq.checked; + CR.rosterSettings.wantRRCQ = wantRRCQ.checked; - maxDTView.innerHTML = g_rosterSettings.maxDT = maxDT.value; - minDbView.innerHTML = g_rosterSettings.minDb = minDb.value; - minFreqView.innerHTML = g_rosterSettings.minFreq = minFreq.value; - maxFreqView.innerHTML = g_rosterSettings.maxFreq = maxFreq.value; - g_rosterSettings.maxLoTW = maxLoTW.value; - maxLoTWView.innerHTML = g_rosterSettings.maxLoTW < 27 ? Number(g_rosterSettings.maxLoTW).toYM() : ""; - g_rosterSettings.maxLoTW = maxLoTW.value; - g_rosterSettings.cqOnly = cqOnly.checked; - g_rosterSettings.noMyDxcc = noMyDxcc.checked; - g_rosterSettings.onlyMyDxcc = onlyMyDxcc.checked; + maxDTView.innerHTML = CR.rosterSettings.maxDT = maxDT.value; + minDbView.innerHTML = CR.rosterSettings.minDb = minDb.value; + minFreqView.innerHTML = CR.rosterSettings.minFreq = minFreq.value; + maxFreqView.innerHTML = CR.rosterSettings.maxFreq = maxFreq.value; + CR.rosterSettings.maxLoTW = maxLoTW.value; + maxLoTWView.innerHTML = CR.rosterSettings.maxLoTW < 27 ? toYM(Number(CR.rosterSettings.maxLoTW)) : ""; + CR.rosterSettings.maxLoTW = maxLoTW.value; + CR.rosterSettings.cqOnly = cqOnly.checked; + CR.rosterSettings.noMyDxcc = noMyDxcc.checked; + CR.rosterSettings.onlyMyDxcc = onlyMyDxcc.checked; if (noMsg.checked && onlyMsg.checked && noMsgValue.value == onlyMsgValue.value) { - if (g_rosterSettings.noMsg) + if (CR.rosterSettings.noMsg) { noMsg.checked = false; } @@ -1135,42 +1133,42 @@ function valuesChanged() onlyMsg.checked = false; } } - g_rosterSettings.noMsg = noMsg.checked; - g_rosterSettings.onlyMsg = onlyMsg.checked; - g_rosterSettings.noMsgValue = noMsgValue.value; - g_rosterSettings.onlyMsgValue = onlyMsgValue.value; - g_rosterSettings.usesLoTW = usesLoTW.checked; - g_rosterSettings.useseQSL = useseQSL.checked; - g_rosterSettings.usesOQRS = usesOQRS.checked; - g_rosterSettings.onlySpot = onlySpot.checked; - g_rosterSettings.reference = referenceNeed.value; - g_rosterSettings.allOnlyNew = allOnlyNew.checked; - g_rosterSettings.useRegex = useRegex.checked; - g_rosterSettings.callsignRegex = callsignRegex.value; - g_rosterSettings.huntRegexValue = huntRegexValue.value; - g_rosterSettings.noUnknownDXCC = noUnknownDXCC.checked; + CR.rosterSettings.noMsg = noMsg.checked; + CR.rosterSettings.onlyMsg = onlyMsg.checked; + CR.rosterSettings.noMsgValue = noMsgValue.value; + CR.rosterSettings.onlyMsgValue = onlyMsgValue.value; + CR.rosterSettings.usesLoTW = usesLoTW.checked; + CR.rosterSettings.useseQSL = useseQSL.checked; + CR.rosterSettings.usesOQRS = usesOQRS.checked; + CR.rosterSettings.onlySpot = onlySpot.checked; + CR.rosterSettings.reference = referenceNeed.value; + CR.rosterSettings.allOnlyNew = allOnlyNew.checked; + CR.rosterSettings.useRegex = useRegex.checked; + CR.rosterSettings.callsignRegex = callsignRegex.value; + CR.rosterSettings.huntRegexValue = huntRegexValue.value; + CR.rosterSettings.noUnknownDXCC = noUnknownDXCC.checked; writeRosterSettings(); - g_scriptReport = Object(); - for (const callHash in window.opener.g_callRoster) + CR.scriptReport = Object(); + for (const callHash in window.opener.GT.callRoster) { - window.opener.g_callRoster[callHash].callObj.alerted = false; + window.opener.GT.callRoster[callHash].callObj.alerted = false; } window.opener.goProcessRoster(); } function loadFilterSettings() { - var filters = ""; - for (const filter in g_rosterSettings.displayFilters) + let filters = ""; + for (const filter in CR.rosterSettings.displayFilters) { - var slider = document.getElementById("filter" + filter + "Slider"); + let slider = document.getElementById("filter" + filter + "Slider"); if (slider) { - slider.value = g_rosterSettings.displayFilters[filter]; - var td = document.getElementById("filter" + filter + "Td"); + slider.value = CR.rosterSettings.displayFilters[filter]; + let td = document.getElementById("filter" + filter + "Td"); if (filter != "huerotate") { td.innerHTML = slider.value + "%"; @@ -1188,18 +1186,18 @@ function loadFilterSettings() function filtersChanged() { - for (const filter in g_rosterSettings.displayFilters) + for (const filter in CR.rosterSettings.displayFilters) { - var slider = document.getElementById("filter" + filter + "Slider"); + let slider = document.getElementById("filter" + filter + "Slider"); if (slider) { - g_rosterSettings.displayFilters[filter] = slider.value; + CR.rosterSettings.displayFilters[filter] = slider.value; } else { // no longer a filter, get rid of it - delete g_rosterSettings.displayFilters[filter]; + delete CR.rosterSettings.displayFilters[filter]; } } loadFilterSettings(); @@ -1207,9 +1205,9 @@ function filtersChanged() function resetFilters() { - for (const filter in g_rosterSettings.displayFilters) + for (const filter in CR.rosterSettings.displayFilters) { - g_rosterSettings.displayFilters[filter] = g_def_displayFilters[filter]; + CR.rosterSettings.displayFilters[filter] = CR.def_displayFilters[filter]; } loadFilterSettings(); } @@ -1266,27 +1264,27 @@ function getBuffer(file_url, callback, flag, mode, port, cookie) function callsignResult(buffer, flag) { let rawData = JSON.parse(buffer); - r_currentUSState = flag; + CR.currentUSState = flag; - g_currentUSCallsigns = Object(); - for (const key in rawData.c) g_currentUSCallsigns[rawData.c[key]] = true; + CR.currentUSCallsigns = Object(); + for (const key in rawData.c) CR.currentUSCallsigns[rawData.c[key]] = true; window.opener.goProcessRoster(); } function stateChangedValue(what) { - if (r_currentUSState != stateSelect.value && stateSelect.value != "") + if (CR.currentUSState != stateSelect.value && stateSelect.value != "") { - r_currentUSState = stateSelect.value; + CR.currentUSState = stateSelect.value; - if (window.opener.g_mapSettings.offlineMode == false) + if (window.opener.GT.mapSettings.offlineMode == false) { - let callState = r_currentUSState.replace("CN-", ""); + let callState = CR.currentUSState.replace("CN-", ""); getBuffer( "https://storage.googleapis.com/gt_app/callsigns/" + callState + ".callsigns.json", callsignResult, - r_currentUSState, + CR.currentUSState, "http", 80 ); @@ -1294,8 +1292,8 @@ function stateChangedValue(what) else { window.opener.goProcessRoster(); - r_currentUSState = ""; - g_currentUSCallsigns = null; + CR.currentUSState = ""; + CR.currentUSCallsigns = null; stateSelect.value = ""; return; @@ -1304,8 +1302,8 @@ function stateChangedValue(what) if (stateSelect.value == "") { - r_currentUSState = ""; - g_currentUSCallsigns = null; + CR.currentUSState = ""; + CR.currentUSCallsigns = null; window.opener.goProcessRoster(); } @@ -1313,16 +1311,16 @@ function stateChangedValue(what) function DXCCsChangedValue(what) { - r_currentDXCCs = DXCCsSelect.value; + CR.currentDXCCs = DXCCsSelect.value; window.opener.goProcessRoster(); } function initDXCCSelector() { - let items = Object.keys(window.opener.g_dxccToAltName).sort(function (a, b) + let items = Object.keys(window.opener.GT.dxccToAltName).sort(function (a, b) { - return window.opener.g_dxccToAltName[a].localeCompare( - window.opener.g_dxccToAltName[b] + return window.opener.GT.dxccToAltName[a].localeCompare( + window.opener.GT.dxccToAltName[b] ); }); let newSelect = document.getElementById("DXCCsSelect"); @@ -1332,16 +1330,16 @@ function initDXCCSelector() let key = items[i]; if ( - window.opener.g_dxccInfo[key].geo != + window.opener.GT.dxccInfo[key].geo != "deleted" ) { let option = document.createElement("option"); option.value = key; option.text = - window.opener.g_dxccToAltName[key] + + window.opener.GT.dxccToAltName[key] + " (" + - window.opener.g_dxccInfo[key].pp + + window.opener.GT.dxccInfo[key].pp + ")"; newSelect.appendChild(option); @@ -1352,21 +1350,21 @@ function initDXCCSelector() function manifestResult(buffer, flag) { - r_callsignManifest = JSON.parse(buffer); + CR.callsignManifest = JSON.parse(buffer); let newSelect = document.getElementById("stateSelect"); - for (const key in r_callsignManifest.cnt) + for (const key in CR.callsignManifest.cnt) { let option = document.createElement("option"); - if (window.opener.g_enums[key]) + if (window.opener.GT.enums[key]) { option.value = key; - option.text = window.opener.g_enums[key]; + option.text = window.opener.GT.enums[key]; } else { option.value = "CN-" + key; - option.text = window.opener.g_enums["CN-" + key]; + option.text = window.opener.GT.enums["CN-" + key]; } newSelect.appendChild(option); } @@ -1375,22 +1373,22 @@ function manifestResult(buffer, flag) function receiveMessage(event) {} -var g_tracker = {}; +CR.tracker = {}; function updateWorked() { - g_worked = window.opener.g_tracker.worked; - g_confirmed = window.opener.g_tracker.confirmed; - g_modes = window.opener.g_modes; - g_modes_phone = window.opener.g_modes_phone; - g_tracker = window.opener.g_tracker; + CR.worked = window.opener.GT.tracker.worked; + CR.confirmed = window.opener.GT.tracker.confirmed; + CR.modes = window.opener.GT.modes; + CR.modes_phone = window.opener.GT.modes_phone; + CR.tracker = window.opener.GT.tracker; processAllAwardTrackers(); } function deleteCallsignIgnore(key) { - delete g_blockedCalls[key]; + delete CR.blockedCalls[key]; storeBlocks(); openIgnoreEdit(); window.opener.goProcessRoster(); @@ -1398,7 +1396,7 @@ function deleteCallsignIgnore(key) function deleteDxccIgnore(key) { - delete g_blockedDxcc[key]; + delete CR.blockedDxcc[key]; storeBlocks(); openIgnoreEdit(); window.opener.goProcessRoster(); @@ -1406,7 +1404,7 @@ function deleteDxccIgnore(key) function deleteCQIgnore(key) { - delete g_blockedCQ[key]; + delete CR.blockedCQ[key]; storeBlocks(); openIgnoreEdit(); window.opener.goProcessRoster(); @@ -1414,7 +1412,7 @@ function deleteCQIgnore(key) function deleteCQzIgnore(key) { - delete g_blockedCQz[key]; + delete CR.blockedCQz[key]; storeBlocks(); openIgnoreEdit(); window.opener.goProcessRoster(); @@ -1422,7 +1420,7 @@ function deleteCQzIgnore(key) function deleteITUzIgnore(key) { - delete g_blockedITUz[key]; + delete CR.blockedITUz[key]; storeBlocks(); openIgnoreEdit(); window.opener.goProcessRoster(); @@ -1430,7 +1428,7 @@ function deleteITUzIgnore(key) function clearAllCallsignIgnores() { - g_blockedCalls = Object(); + CR.blockedCalls = Object(); storeBlocks(); openIgnoreEdit(); window.opener.goProcessRoster(); @@ -1438,7 +1436,7 @@ function clearAllCallsignIgnores() function clearAllDxccIgnores() { - g_blockedDxcc = Object(); + CR.blockedDxcc = Object(); storeBlocks(); openIgnoreEdit(); window.opener.goProcessRoster(); @@ -1446,7 +1444,7 @@ function clearAllDxccIgnores() function clearAllCQIgnores() { - g_blockedCQ = Object(); + CR.blockedCQ = Object(); storeBlocks(); openIgnoreEdit(); window.opener.goProcessRoster(); @@ -1454,7 +1452,7 @@ function clearAllCQIgnores() function clearAllCQzIgnores() { - g_blockedCQz = Object(); + CR.blockedCQz = Object(); storeBlocks(); openIgnoreEdit(); window.opener.goProcessRoster(); @@ -1462,7 +1460,7 @@ function clearAllCQzIgnores() function clearAllITUzIgnores() { - g_blockedITUz = Object(); + CR.blockedITUz = Object(); storeBlocks(); openIgnoreEdit(); window.opener.goProcessRoster(); @@ -1495,7 +1493,7 @@ function openIgnoreEdit() let worker = ""; let clearString = ""; - if (Object.keys(g_blockedCalls).length > 0) + if (Object.keys(CR.blockedCalls).length > 0) { clearString = ""; @@ -1506,7 +1504,7 @@ function openIgnoreEdit() "px;'>
ActivatorStartEndFrequenciesComment
" + g_pota.parkSchedule[key][i].id + "" + ((now >= start) ? "Now" : (userTimeString(start) + "
T- " + Number(start - now).msToDHMS() + "")) + "
" + (userTimeString(end) + "
T- " + Number(end - now).msToDHMS() + "") + "
" + g_pota.parkSchedule[key][i].frequencies + "" + g_pota.parkSchedule[key][i].comments.substr(0, 40) + "
noneClear All
" + clearString + ""; - Object.keys(g_blockedCalls) + Object.keys(CR.blockedCalls) .sort() .forEach(function (key, i) { @@ -1520,7 +1518,7 @@ function openIgnoreEdit() worker += "
Callsigns
"; clearString = "
noneClear All
" + clearString + ""; - Object.keys(g_blockedCQ) + Object.keys(CR.blockedCQ) .sort() .forEach(function (key, i) { @@ -1545,7 +1543,7 @@ function openIgnoreEdit() worker += "
CQ
"; clearString = "
noneClear All
" + clearString + ""; - Object.keys(g_blockedDxcc) + Object.keys(CR.blockedDxcc) .sort() .forEach(function (key, i) { worker += ""; }); worker += "
DXCCs
" + - window.opener.g_dxccToAltName[key] + + window.opener.GT.dxccToAltName[key] + " (" + - window.opener.g_dxccInfo[key].pp + + window.opener.GT.dxccInfo[key].pp + ")
"; - if (Object.keys(g_blockedCQz).length > 0) + if (Object.keys(CR.blockedCQz).length > 0) { clearString = "Clear All"; @@ -1582,7 +1580,7 @@ function openIgnoreEdit() "px;'>" + clearString + ""; - Object.keys(g_blockedCQz) + Object.keys(CR.blockedCQz) .sort() .forEach(function (key, i) { @@ -1595,7 +1593,7 @@ function openIgnoreEdit() }); worker += "
CQ Zones
"; - if (Object.keys(g_blockedITUz).length > 0) + if (Object.keys(CR.blockedITUz).length > 0) { clearString = "Clear All"; @@ -1606,7 +1604,7 @@ function openIgnoreEdit() "px;'>" + clearString + ""; - Object.keys(g_blockedITUz) + Object.keys(CR.blockedITUz) .sort() .forEach(function (key, i) { @@ -1625,7 +1623,7 @@ function openIgnoreEdit() function onMyKeyDown(event) { - if (!g_typingInRoster) + if (!CR.typingInRoster) { if (event.code == "KeyS" && event.ctrlKey == true) { @@ -1659,11 +1657,11 @@ function resize() function init() { - window.opener.g_rosterInitialized = true; + window.opener.GT.rosterInitialized = true; - g_callsignDatabaseDXCC = window.opener.g_callsignDatabaseDXCC; - g_callsignDatabaseUS = window.opener.g_callsignDatabaseUS; - g_callsignDatabaseUSplus = window.opener.g_callsignDatabaseUSplus; + CR.callsignDatabaseDXCC = window.opener.GT.callsignDatabaseDXCC; + CR.callsignDatabaseUS = window.opener.GT.callsignDatabaseUS; + CR.callsignDatabaseUSplus = window.opener.GT.callsignDatabaseUSplus; loadAwardJson(); updateWorked(); @@ -1672,7 +1670,7 @@ function init() window.addEventListener("message", receiveMessage, false); lockNewWindows(); - if (window.opener.g_mapSettings.offlineMode == false) + if (window.opener.GT.mapSettings.offlineMode == false) { getBuffer( "https://storage.googleapis.com/gt_app/callsigns/manifest.json", @@ -1712,61 +1710,61 @@ function addControls() pota: $.i18n("rosterColumns.Wanted.pota") } - window.opener.setRosterSpot(g_rosterSettings.columns.Spot); + window.opener.setRosterSpot(CR.rosterSettings.columns.Spot); - for (const key in g_rosterSettings.wanted) + for (const key in CR.rosterSettings.wanted) { if (document.getElementById(key)) - { document.getElementById(key).checked = g_rosterSettings.wanted[key]; } + { document.getElementById(key).checked = CR.rosterSettings.wanted[key]; } } - g_menu = new nw.Menu(); - g_compactMenu = new nw.Menu(); + CR.menu = new nw.Menu(); + CR.compactMenu = new nw.Menu(); let showControlsText = $.i18n("roster.menu.ShowControls"); let hideControlsText = $.i18n("roster.menu.HideControls"); let item = new nw.MenuItem({ type: "normal", - label: g_rosterSettings.controls ? hideControlsText : showControlsText, + label: CR.rosterSettings.controls ? hideControlsText : showControlsText, click: function () { if (this.label == "Hide Controls") { this.label = showControlsText; - g_rosterSettings.controls = false; + CR.rosterSettings.controls = false; } else { this.label = hideControlsText; - g_rosterSettings.controls = true; + CR.rosterSettings.controls = true; } - g_compactMenu.items[0].label = g_rosterSettings.controls ? hideControlsText : showControlsText; - localStorage.rosterSettings = JSON.stringify(g_rosterSettings); + CR.compactMenu.items[0].label = CR.rosterSettings.controls ? hideControlsText : showControlsText; + localStorage.rosterSettings = JSON.stringify(CR.rosterSettings); setVisual(); } }); - g_menu.append(item); + CR.menu.append(item); item = new nw.MenuItem({ type: "normal", - label: g_rosterSettings.controls ? hideControlsText : showControlsText, + label: CR.rosterSettings.controls ? hideControlsText : showControlsText, click: function () { if (this.label == hideControlsText) { this.label = showControlsText; - g_rosterSettings.controls = false; + CR.rosterSettings.controls = false; } else { this.label = hideControlsText; - g_rosterSettings.controls = true; + CR.rosterSettings.controls = true; } - g_menu.items[0].label = g_rosterSettings.controls ? hideControlsText : showControlsText; - localStorage.rosterSettings = JSON.stringify(g_rosterSettings); + CR.menu.items[0].label = CR.rosterSettings.controls ? hideControlsText : showControlsText; + localStorage.rosterSettings = JSON.stringify(CR.rosterSettings); setVisual(); } }); - g_compactMenu.append(item); + CR.compactMenu.append(item); item = new nw.MenuItem({ type: "normal", @@ -1776,7 +1774,7 @@ function addControls() openSettings(); } }); - g_menu.append(item); + CR.menu.append(item); item = new nw.MenuItem({ type: "normal", @@ -1786,73 +1784,73 @@ function addControls() openSettings(); } }); - g_compactMenu.append(item); + CR.compactMenu.append(item); item = new nw.MenuItem({ type: "normal", label: $.i18n("roster.menu.CompactMode"), click: function () { - g_rosterSettings.compact = true; - localStorage.rosterSettings = JSON.stringify(g_rosterSettings); + CR.rosterSettings.compact = true; + localStorage.rosterSettings = JSON.stringify(CR.rosterSettings); resize(); } }); - g_menu.append(item); + CR.menu.append(item); item = new nw.MenuItem({ type: "normal", label: $.i18n("roster.menu.RosterMode"), click: function () { - g_rosterSettings.compact = false; - localStorage.rosterSettings = JSON.stringify(g_rosterSettings); + CR.rosterSettings.compact = false; + localStorage.rosterSettings = JSON.stringify(CR.rosterSettings); resize(); } }); - g_compactMenu.append(item); + CR.compactMenu.append(item); - g_callMenu = new nw.Menu(); + CR.callMenu = new nw.Menu(); item = new nw.MenuItem({ type: "normal", label: $.i18n("roster.menu.Lookup"), click: function () { - callLookup(g_targetHash, ""); + callLookup(CR.targetHash, ""); } }); - g_callMenu.append(item); + CR.callMenu.append(item); item = new nw.MenuItem({ type: "normal", label: $.i18n("roster.menu.GenMesg"), click: function () { - callGenMessage(g_targetHash, ""); + callGenMessage(CR.targetHash, ""); } }); - g_callMenu.append(item); + CR.callMenu.append(item); item = new nw.MenuItem({ type: "separator" }); - g_callMenu.append(item); + CR.callMenu.append(item); - if (window.opener.g_pstrotatorSettings.enable) + if (window.opener.GT.pstrotatorSettings.enable) { item = new nw.MenuItem({ type: "normal", label: $.i18n("roster.menu.AimRotator"), click: function () { - let target = callRoster[g_targetHash] + let target = CR.callRoster[CR.targetHash] window.opener.aimRotator(target, ""); } }); - g_callMenu.append(item); + CR.callMenu.append(item); item = new nw.MenuItem({ type: "separator" }); - g_callMenu.append(item); + CR.callMenu.append(item); } item = new nw.MenuItem({ @@ -1860,197 +1858,197 @@ function addControls() label: $.i18n("roster.menu.IgnoreCall"), click: function () { - let thisCall = callRoster[g_targetHash].DEcall; - g_blockedCalls[thisCall] = true; + let thisCall = CR.callRoster[CR.targetHash].DEcall; + CR.blockedCalls[thisCall] = true; storeBlocks(); window.opener.goProcessRoster(); } }); - g_callMenu.append(item); + CR.callMenu.append(item); - g_callingMenu = new nw.Menu(); + CR.callingMenu = new nw.Menu(); item = new nw.MenuItem({ type: "normal", label: $.i18n("roster.menu.Lookup"), click: function () { - callingLookup(g_targetHash, ""); + callingLookup(CR.targetHash, ""); } }); - g_callingMenu.append(item); + CR.callingMenu.append(item); item = new nw.MenuItem({ type: "normal", label: $.i18n("roster.menu.GenMesg"), click: function () { - callingGenMessage(g_targetHash, ""); + callingGenMessage(CR.targetHash, ""); } }); - g_callingMenu.append(item); + CR.callingMenu.append(item); item = new nw.MenuItem({ type: "separator" }); - g_menu.append(item); + CR.menu.append(item); - if (window.opener.g_pstrotatorSettings.enable) + if (window.opener.GT.pstrotatorSettings.enable) { item = new nw.MenuItem({ type: "normal", label: $.i18n("roster.menu.AimRotator"), click: function () { - let target = callRoster[g_targetHash] + let target = CR.callRoster[CR.targetHash] window.opener.aimRotator(target, ""); } }); - g_callingMenu.append(item); + CR.callingMenu.append(item); item = new nw.MenuItem({ type: "separator" }); - g_callingMenu.append(item); + CR.callingMenu.append(item); } item = new nw.MenuItem({ type: "checkbox", label: $.i18n("roster.menu.Realtime"), - checked: g_rosterSettings.realtime, + checked: CR.rosterSettings.realtime, click: function () { - g_rosterSettings.realtime = this.checked; + CR.rosterSettings.realtime = this.checked; writeRosterSettings(); window.opener.goProcessRoster(); } }); - g_menu.append(item); + CR.menu.append(item); item = new nw.MenuItem({ type: "separator" }); - g_menu.append(item); + CR.menu.append(item); - g_menuItemForCurrentColumn = new nw.MenuItem({ + CR.menuItemForCurrentColumn = new nw.MenuItem({ type: "normal", label: $.i18n("roster.menu.MoveLeft"), click: function () { - moveColumnLeft(g_currentColumnName); + moveColumnLeft(CR.currentColumnName); } }) - g_menu.append(g_menuItemForCurrentColumn) + CR.menu.append(CR.menuItemForCurrentColumn) item = new nw.MenuItem({ type: "separator" }); - g_menu.append(item); + CR.menu.append(item); - for (const columnIndex in g_rosterSettings.columnOrder) + for (const columnIndex in CR.rosterSettings.columnOrder) { - let key = g_rosterSettings.columnOrder[columnIndex]; + let key = CR.rosterSettings.columnOrder[columnIndex]; if (key != "Callsign") { let itemx = new nw.MenuItem({ type: "checkbox", label: key, - checked: g_rosterSettings.columns[key], + checked: CR.rosterSettings.columns[key], click: function () { - g_rosterSettings.columns[this.label] = this.checked; + CR.rosterSettings.columns[this.label] = this.checked; if (this.label == "Spot") - { window.opener.setRosterSpot(g_rosterSettings.columns.Spot); } + { window.opener.setRosterSpot(CR.rosterSettings.columns.Spot); } writeRosterSettings(); window.opener.goProcessRoster(); resize(); } }); - g_menu.append(itemx); + CR.menu.append(itemx); } } item = new nw.MenuItem({ type: "separator" }); - g_menu.append(item); + CR.menu.append(item); - g_clearIgnores = new nw.MenuItem({ + CR.clearIgnores = new nw.MenuItem({ type: "normal", label: "Clear Call Ignore", enabled: false, click: function () { - g_blockedCalls = Object(); + CR.blockedCalls = Object(); storeBlocks(); window.opener.goProcessRoster(); } }); - g_menu.append(g_clearIgnores); + CR.menu.append(CR.clearIgnores); - g_clearIgnoresCall = new nw.MenuItem({ + CR.clearIgnoresCall = new nw.MenuItem({ type: "normal", label: "Clear Ignore", enabled: false, click: function () { - g_blockedCalls = Object(); + CR.blockedCalls = Object(); storeBlocks(); window.opener.goProcessRoster(); } }); - g_callMenu.append(g_clearIgnoresCall); + CR.callMenu.append(CR.clearIgnoresCall); - g_CQMenu = new nw.Menu(); + CR.CQMenu = new nw.Menu(); item = new nw.MenuItem({ type: "normal", label: "Ignore CQ from DXCC", click: function () { - g_blockedCQ[ - callRoster[g_targetCQ].DXcall + + CR.blockedCQ[ + CR.callRoster[CR.targetCQ].DXcall + " from " + - window.opener.g_dxccToAltName[callRoster[g_targetCQ].callObj.dxcc] + window.opener.GT.dxccToAltName[CR.callRoster[CR.targetCQ].callObj.dxcc] ] = true; storeBlocks(); window.opener.goProcessRoster(); } }); - g_CQMenu.append(item); + CR.CQMenu.append(item); item = new nw.MenuItem({ type: "normal", label: "Ignore CQ from All", click: function () { - g_blockedCQ[callRoster[g_targetCQ].DXcall + " from All"] = true; + CR.blockedCQ[CR.callRoster[CR.targetCQ].DXcall + " from All"] = true; storeBlocks(); window.opener.goProcessRoster(); } }); - g_CQMenu.append(item); + CR.CQMenu.append(item); - g_clearCQIgnoreMainMenu = new nw.MenuItem({ + CR.clearCQIgnoreMainMenu = new nw.MenuItem({ type: "normal", label: "Clear CQ Ignore", enabled: false, click: function () { - g_blockedCQ = Object(); + CR.blockedCQ = Object(); storeBlocks(); window.opener.goProcessRoster(); } }); - g_menu.append(g_clearCQIgnoreMainMenu); + CR.menu.append(CR.clearCQIgnoreMainMenu); - g_clearCQIgnore = new nw.MenuItem({ + CR.clearCQIgnore = new nw.MenuItem({ type: "normal", label: "Clear Ignore", enabled: false, click: function () { - g_blockedCQ = Object(); + CR.blockedCQ = Object(); storeBlocks(); window.opener.goProcessRoster(); } }); - g_CQMenu.append(g_clearCQIgnore); + CR.CQMenu.append(CR.clearCQIgnore); item = new nw.MenuItem({ type: "normal", @@ -2061,49 +2059,49 @@ function addControls() openIgnoreEdit(); } }); - g_CQMenu.append(item); + CR.CQMenu.append(item); - g_CQzMenu = new nw.Menu(); + CR.CQzMenu = new nw.Menu(); item = new nw.MenuItem({ type: "normal", label: "Ignore CQ Zone", click: function () { - g_blockedCQz[callRoster[g_targetCQz].callObj.cqz] = true; + CR.blockedCQz[CR.callRoster[CR.targetCQz].callObj.cqz] = true; storeBlocks(); window.opener.goProcessRoster(); } }); - g_CQzMenu.append(item); + CR.CQzMenu.append(item); - g_clearCQzIgnoreMainMenu = new nw.MenuItem({ + CR.clearCQzIgnoreMainMenu = new nw.MenuItem({ type: "normal", label: "Clear CQ Zone Ignore", enabled: false, click: function () { - g_blockedCQz = Object(); + CR.blockedCQz = Object(); storeBlocks(); window.opener.goProcessRoster(); } }); - g_clearCQzIgnore = new nw.MenuItem({ + CR.clearCQzIgnore = new nw.MenuItem({ type: "normal", label: "Clear Ignore", enabled: false, click: function () { - g_blockedCQz = Object(); + CR.blockedCQz = Object(); storeBlocks(); window.opener.goProcessRoster(); } }); - g_CQzMenu.append(g_clearCQzIgnore); + CR.CQzMenu.append(CR.clearCQzIgnore); - g_CQzMenu.append(g_clearCQzIgnoreMainMenu); + CR.CQzMenu.append(CR.clearCQzIgnoreMainMenu); item = new nw.MenuItem({ type: "normal", @@ -2115,50 +2113,50 @@ function addControls() } }); - g_CQzMenu.append(item); + CR.CQzMenu.append(item); - g_ITUzMenu = new nw.Menu(); + CR.ITUzMenu = new nw.Menu(); item = new nw.MenuItem({ type: "normal", label: "Ignore ITU Zone", click: function () { - g_blockedITUz[callRoster[g_targetITUz].callObj.ituz] = true; + CR.blockedITUz[CR.callRoster[CR.targetITUz].callObj.ituz] = true; storeBlocks(); window.opener.goProcessRoster(); } }); - g_ITUzMenu.append(item); + CR.ITUzMenu.append(item); - g_clearITUzIgnoreMainMenu = new nw.MenuItem({ + CR.clearITUzIgnoreMainMenu = new nw.MenuItem({ type: "normal", label: "Clear ITU Zone Ignore", enabled: false, click: function () { - g_blockedITUz = Object(); + CR.blockedITUz = Object(); storeBlocks(); window.opener.goProcessRoster(); } }); - g_ITUzMenu.append(g_clearITUzIgnoreMainMenu); + CR.ITUzMenu.append(CR.clearITUzIgnoreMainMenu); - g_clearITUzIgnore = new nw.MenuItem({ + CR.clearITUzIgnore = new nw.MenuItem({ type: "normal", label: "Clear Ignore", enabled: false, click: function () { - g_blockedITUz = Object(); + CR.blockedITUz = Object(); storeBlocks(); window.opener.goProcessRoster(); } }); - g_ITUzMenu.append(g_clearITUzIgnore); + CR.ITUzMenu.append(CR.clearITUzIgnore); item = new nw.MenuItem({ type: "normal", @@ -2170,48 +2168,48 @@ function addControls() } }); - g_ITUzMenu.append(item); + CR.ITUzMenu.append(item); - g_dxccMenu = new nw.Menu(); + CR.dxccMenu = new nw.Menu(); item = new nw.MenuItem({ type: "normal", label: "Ignore DXCC", click: function () { - g_blockedDxcc[g_targetDxcc] = true; + CR.blockedDxcc[CR.targetDxcc] = true; storeBlocks(); window.opener.goProcessRoster(); } }); - g_dxccMenu.append(item); + CR.dxccMenu.append(item); - g_clearDxccIgnoreMainMenu = new nw.MenuItem({ + CR.clearDxccIgnoreMainMenu = new nw.MenuItem({ type: "normal", label: "Clear DXCC Ignore", enabled: false, click: function () { - g_blockedDxcc = Object(); + CR.blockedDxcc = Object(); storeBlocks(); window.opener.goProcessRoster(); } }); - g_menu.append(g_clearDxccIgnoreMainMenu); + CR.menu.append(CR.clearDxccIgnoreMainMenu); - g_clearDxccIgnore = new nw.MenuItem({ + CR.clearDxccIgnore = new nw.MenuItem({ type: "normal", label: "Clear Ignore", enabled: false, click: function () { - g_blockedDxcc = Object(); + CR.blockedDxcc = Object(); storeBlocks(); window.opener.goProcessRoster(); } }); - g_dxccMenu.append(g_clearDxccIgnore); + CR.dxccMenu.append(CR.clearDxccIgnore); item = new nw.MenuItem({ type: "normal", @@ -2222,7 +2220,7 @@ function addControls() openIgnoreEdit(); } }); - g_menu.append(item); + CR.menu.append(item); item = new nw.MenuItem({ type: "normal", @@ -2233,7 +2231,7 @@ function addControls() openIgnoreEdit(); } }); - g_callMenu.append(item); + CR.callMenu.append(item); item = new nw.MenuItem({ type: "normal", @@ -2244,54 +2242,54 @@ function addControls() openIgnoreEdit(); } }); - g_dxccMenu.append(item); + CR.dxccMenu.append(item); - callsignNeed.value = g_rosterSettings.callsign; - huntMode.value = g_rosterSettings.hunting; - huntNeed.value = g_rosterSettings.huntNeed; - wantGrid.checked = g_rosterSettings.requireGrid; + callsignNeed.value = CR.rosterSettings.callsign; + huntMode.value = CR.rosterSettings.hunting; + huntNeed.value = CR.rosterSettings.huntNeed; + wantGrid.checked = CR.rosterSettings.requireGrid; - wantMaxDT.checked = g_rosterSettings.wantMaxDT; - wantMinDB.checked = g_rosterSettings.wantMinDB; - wantMinFreq.checked = g_rosterSettings.wantMinFreq; - wantMaxFreq.checked = g_rosterSettings.wantMaxFreq; - wantRRCQ.checked = g_rosterSettings.wantRRCQ; + wantMaxDT.checked = CR.rosterSettings.wantMaxDT; + wantMinDB.checked = CR.rosterSettings.wantMinDB; + wantMinFreq.checked = CR.rosterSettings.wantMinFreq; + wantMaxFreq.checked = CR.rosterSettings.wantMaxFreq; + wantRRCQ.checked = CR.rosterSettings.wantRRCQ; - maxDTView.innerHTML = maxDT.value = g_rosterSettings.maxDT; - minDbView.innerHTML = minDb.value = g_rosterSettings.minDb; - minFreqView.innerHTML = minFreq.value = g_rosterSettings.minFreq; - maxFreqView.innerHTML = maxFreq.value = g_rosterSettings.maxFreq; + maxDTView.innerHTML = maxDT.value = CR.rosterSettings.maxDT; + minDbView.innerHTML = minDb.value = CR.rosterSettings.minDb; + minFreqView.innerHTML = minFreq.value = CR.rosterSettings.minFreq; + maxFreqView.innerHTML = maxFreq.value = CR.rosterSettings.maxFreq; - maxLoTW.value = g_rosterSettings.maxLoTW; - maxLoTWView.innerHTML = maxLoTW.value < 27 ? Number(maxLoTW.value).toYM() : ""; + maxLoTW.value = CR.rosterSettings.maxLoTW; + maxLoTWView.innerHTML = maxLoTW.value < 27 ? toYM(Number(maxLoTW.value)) : ""; - cqOnly.checked = g_rosterSettings.cqOnly; - noMyDxcc.checked = g_rosterSettings.noMyDxcc; - onlyMyDxcc.checked = g_rosterSettings.onlyMyDxcc; + cqOnly.checked = CR.rosterSettings.cqOnly; + noMyDxcc.checked = CR.rosterSettings.noMyDxcc; + onlyMyDxcc.checked = CR.rosterSettings.onlyMyDxcc; - noMsg.checked = g_rosterSettings.noMsg; - onlyMsg.checked = g_rosterSettings.onlyMsg; - noMsgValue.value = g_rosterSettings.noMsgValue; - onlyMsgValue.value = g_rosterSettings.onlyMsgValue; + noMsg.checked = CR.rosterSettings.noMsg; + onlyMsg.checked = CR.rosterSettings.onlyMsg; + noMsgValue.value = CR.rosterSettings.noMsgValue; + onlyMsgValue.value = CR.rosterSettings.onlyMsgValue; - usesLoTW.checked = g_rosterSettings.usesLoTW; - useseQSL.checked = g_rosterSettings.useseQSL; - onlySpot.checked = g_rosterSettings.onlySpot; - usesOQRS.checked = g_rosterSettings.usesOQRS; + usesLoTW.checked = CR.rosterSettings.usesLoTW; + useseQSL.checked = CR.rosterSettings.useseQSL; + onlySpot.checked = CR.rosterSettings.onlySpot; + usesOQRS.checked = CR.rosterSettings.usesOQRS; - referenceNeed.value = g_rosterSettings.reference; - allOnlyNew.checked = g_rosterSettings.allOnlyNew; - useRegex.checked = g_rosterSettings.useRegex; - callsignRegex.value = g_rosterSettings.callsignRegex; - huntRegexValue.value = g_rosterSettings.huntRegexValue; + referenceNeed.value = CR.rosterSettings.reference; + allOnlyNew.checked = CR.rosterSettings.allOnlyNew; + useRegex.checked = CR.rosterSettings.useRegex; + callsignRegex.value = CR.rosterSettings.callsignRegex; + huntRegexValue.value = CR.rosterSettings.huntRegexValue; - noUnknownDXCC.checked = g_rosterSettings.noUnknownDXCC; + noUnknownDXCC.checked = CR.rosterSettings.noUnknownDXCC; - clearRosterOnBandChange.checked = g_rosterSettings.clearRosterOnBandChange; - rosterAlwaysOnTop.checked = g_rosterSettings.rosterAlwaysOnTop; - rosterDelayOnFocus.checked = g_rosterSettings.rosterDelayOnFocus; + clearRosterOnBandChange.checked = CR.rosterSettings.clearRosterOnBandChange; + rosterAlwaysOnTop.checked = CR.rosterSettings.rosterAlwaysOnTop; + rosterDelayOnFocus.checked = CR.rosterSettings.rosterDelayOnFocus; displayDelayOnFocus(); - rosterDelayTime.value = g_rosterSettings.rosterDelayTime; + rosterDelayTime.value = CR.rosterSettings.rosterDelayTime; rosterDelayTimeTd.innerHTML = rosterDelayTime.value + "ms"; setRosterTimeView(); @@ -2299,8 +2297,8 @@ function addControls() { if (column != "Callsign") { - var option = newOption(column, column); - if (column == g_rosterSettings.compactEntity) + let option = newOption(column, column); + if (column == CR.rosterSettings.compactEntity) { option.selected = true; } @@ -2312,33 +2310,33 @@ function addControls() document.addEventListener("keydown", onMyKeyDown, false); initDXCCSelector(); - g_timerInterval = nodeTimers.setInterval(realtimeRoster, 1000); + CR.timerInterval = nodeTimers.setInterval(realtimeRoster, 1000); updateInstances(); } function compactEntityChanged() { - g_rosterSettings.compactEntity = compactEntitySelect.value; + CR.rosterSettings.compactEntity = compactEntitySelect.value; viewRoster(); } function clearRosterOnBandChangeValueChanged(what) { - g_rosterSettings.clearRosterOnBandChange = clearRosterOnBandChange.checked; + CR.rosterSettings.clearRosterOnBandChange = clearRosterOnBandChange.checked; writeRosterSettings(); } function rosterDelayOnFocusValueChanged(what) { - g_rosterSettings.rosterDelayOnFocus = rosterDelayOnFocus.checked; + CR.rosterSettings.rosterDelayOnFocus = rosterDelayOnFocus.checked; displayDelayOnFocus(); writeRosterSettings(); } function displayDelayOnFocus() { - if (g_rosterSettings.rosterDelayOnFocus) + if (CR.rosterSettings.rosterDelayOnFocus) { rosterDelayTimeTd.style.display = "block"; rosterDelayTime.style.display = "block"; @@ -2352,14 +2350,14 @@ function displayDelayOnFocus() function changeRosterDelayTime() { - g_rosterSettings.rosterDelayTime = rosterDelayTime.value; + CR.rosterSettings.rosterDelayTime = rosterDelayTime.value; rosterDelayTimeTd.innerHTML = rosterDelayTime.value + "ms"; writeRosterSettings(); } function changeRosterTime() { - g_rosterSettings.rosterTime = rosterTime.value; + CR.rosterSettings.rosterTime = rosterTime.value; setRosterTimeView(); writeRosterSettings(); viewRoster(); @@ -2367,19 +2365,19 @@ function changeRosterTime() function changeRosterTop(butt) { - g_rosterSettings.rosterAlwaysOnTop = butt.checked; + CR.rosterSettings.rosterAlwaysOnTop = butt.checked; setRosterTop(); } function setRosterTop() { - nw.Window.get().setAlwaysOnTop(g_rosterSettings.rosterAlwaysOnTop); + nw.Window.get().setAlwaysOnTop(CR.rosterSettings.rosterAlwaysOnTop); } function setRosterTimeView() { - rosterTime.value = g_rosterSettings.rosterTime; - rosterTimeTd.innerHTML = Number(rosterTime.value).toDHMS(); + rosterTime.value = CR.rosterSettings.rosterTime; + rosterTimeTd.innerHTML = toDHMS(Number(rosterTime.value)); } function handleContextMenu(ev) @@ -2389,96 +2387,96 @@ function handleContextMenu(ev) let mouseX = Math.round(ev.x); let mouseY = Math.round(ev.y); - let len = Object.keys(g_blockedCalls).length; + let len = Object.keys(CR.blockedCalls).length; if (len > 0) { - g_clearIgnores.enabled = true; - g_clearIgnores.label = + CR.clearIgnores.enabled = true; + CR.clearIgnores.label = "Clear Call Ignore" + (len > 1 ? "s (" + len + ")" : ""); - g_clearIgnoresCall.enabled = true; - g_clearIgnoresCall.label = + CR.clearIgnoresCall.enabled = true; + CR.clearIgnoresCall.label = "Clear Ignore" + (len > 1 ? "s (" + len + ")" : ""); } else { - g_clearIgnores.label = "Clear Call Ignore"; - g_clearIgnores.enabled = false; - g_clearIgnoresCall.label = "Clear Ignore"; - g_clearIgnoresCall.enabled = false; + CR.clearIgnores.label = "Clear Call Ignore"; + CR.clearIgnores.enabled = false; + CR.clearIgnoresCall.label = "Clear Ignore"; + CR.clearIgnoresCall.enabled = false; } - len = Object.keys(g_blockedDxcc).length; + len = Object.keys(CR.blockedDxcc).length; if (len > 0) { - g_clearDxccIgnoreMainMenu.enabled = true; - g_clearDxccIgnoreMainMenu.label = + CR.clearDxccIgnoreMainMenu.enabled = true; + CR.clearDxccIgnoreMainMenu.label = "Clear DXCC Ignore" + (len > 1 ? "s (" + len + ")" : ""); - g_clearDxccIgnore.enabled = true; - g_clearDxccIgnore.label = + CR.clearDxccIgnore.enabled = true; + CR.clearDxccIgnore.label = "Clear Ignore" + (len > 1 ? "s (" + len + ")" : ""); } else { - g_clearDxccIgnoreMainMenu.label = "Clear DXCC Ignore"; - g_clearDxccIgnoreMainMenu.enabled = false; - g_clearDxccIgnore.label = "Clear Ignore"; - g_clearDxccIgnore.enabled = false; + CR.clearDxccIgnoreMainMenu.label = "Clear DXCC Ignore"; + CR.clearDxccIgnoreMainMenu.enabled = false; + CR.clearDxccIgnore.label = "Clear Ignore"; + CR.clearDxccIgnore.enabled = false; } - len = Object.keys(g_blockedCQ).length; + len = Object.keys(CR.blockedCQ).length; if (len > 0) { - g_clearCQIgnoreMainMenu.enabled = true; - g_clearCQIgnoreMainMenu.label = + CR.clearCQIgnoreMainMenu.enabled = true; + CR.clearCQIgnoreMainMenu.label = "Clear CQ Ignore" + (len > 1 ? "s (" + len + ")" : ""); - g_clearCQIgnore.enabled = true; - g_clearCQIgnore.label = "Clear Ignore" + (len > 1 ? "s (" + len + ")" : ""); + CR.clearCQIgnore.enabled = true; + CR.clearCQIgnore.label = "Clear Ignore" + (len > 1 ? "s (" + len + ")" : ""); } else { - g_clearCQIgnoreMainMenu.label = "Clear CQ Ignore"; - g_clearCQIgnoreMainMenu.enabled = false; - g_clearCQIgnore.label = "Clear Ignore"; - g_clearCQIgnore.enabled = false; + CR.clearCQIgnoreMainMenu.label = "Clear CQ Ignore"; + CR.clearCQIgnoreMainMenu.enabled = false; + CR.clearCQIgnore.label = "Clear Ignore"; + CR.clearCQIgnore.enabled = false; } - len = Object.keys(g_blockedCQz).length; + len = Object.keys(CR.blockedCQz).length; if (len > 0) { - g_clearCQzIgnoreMainMenu.enabled = true; - g_clearCQzIgnoreMainMenu.label = + CR.clearCQzIgnoreMainMenu.enabled = true; + CR.clearCQzIgnoreMainMenu.label = "Clear CQ Zone Ignore" + (len > 1 ? "s (" + len + ")" : ""); - g_clearCQzIgnore.enabled = true; - g_clearCQzIgnore.label = "Clear Ignore" + (len > 1 ? "s (" + len + ")" : ""); + CR.clearCQzIgnore.enabled = true; + CR.clearCQzIgnore.label = "Clear Ignore" + (len > 1 ? "s (" + len + ")" : ""); } else { - g_clearCQzIgnoreMainMenu.label = "Clear CQ Zone Ignore"; - g_clearCQzIgnoreMainMenu.enabled = false; - g_clearCQzIgnore.label = "Clear Ignore"; - g_clearCQzIgnore.enabled = false; + CR.clearCQzIgnoreMainMenu.label = "Clear CQ Zone Ignore"; + CR.clearCQzIgnoreMainMenu.enabled = false; + CR.clearCQzIgnore.label = "Clear Ignore"; + CR.clearCQzIgnore.enabled = false; } - len = Object.keys(g_blockedITUz).length; + len = Object.keys(CR.blockedITUz).length; if (len > 0) { - g_clearITUzIgnoreMainMenu.enabled = true; - g_clearITUzIgnoreMainMenu.label = + CR.clearITUzIgnoreMainMenu.enabled = true; + CR.clearITUzIgnoreMainMenu.label = "Clear ITU Zone Ignore" + (len > 1 ? "s (" + len + ")" : ""); - g_clearITUzIgnore.enabled = true; - g_clearITUzIgnore.label = "Clear Ignore" + (len > 1 ? "s (" + len + ")" : ""); + CR.clearITUzIgnore.enabled = true; + CR.clearITUzIgnore.label = "Clear Ignore" + (len > 1 ? "s (" + len + ")" : ""); } else { - g_clearITUzIgnoreMainMenu.label = "Clear ITU Zone Ignore"; - g_clearITUzIgnoreMainMenu.enabled = false; - g_clearITUzIgnore.label = "Clear Ignore"; - g_clearITUzIgnore.enabled = false; + CR.clearITUzIgnoreMainMenu.label = "Clear ITU Zone Ignore"; + CR.clearITUzIgnoreMainMenu.enabled = false; + CR.clearITUzIgnore.label = "Clear Ignore"; + CR.clearITUzIgnore.enabled = false; } if (typeof ev.target != "undefined") { - if (g_developerMode) + if (CR.developerMode) { if ((ev.target.id === "ShowMoreControlsLink") || (ev.target.id === "ShowFewerControlsLink") || @@ -2490,78 +2488,78 @@ function handleContextMenu(ev) } let name = ""; - if (ev.target.tagName == "TD" || (g_rosterSettings.compact && ev.target.tagName == "DIV")) + if (ev.target.tagName == "TD" || (CR.rosterSettings.compact && ev.target.tagName == "DIV")) { name = ev.target.getAttribute("name"); } if (name == "Callsign") { - g_targetHash = ev.target.parentNode.id; - g_callMenu.popup(mouseX, mouseY); + CR.targetHash = ev.target.parentNode.id; + CR.callMenu.popup(mouseX, mouseY); } else if (name == "Calling") { - g_targetHash = ev.target.parentNode.id; - g_callingMenu.popup(mouseX, mouseY); + CR.targetHash = ev.target.parentNode.id; + CR.callingMenu.popup(mouseX, mouseY); } else if (name == "CQ") { - if (callRoster[ev.target.parentNode.id].DXcall != "CQ") + if (CR.callRoster[ev.target.parentNode.id].DXcall != "CQ") { - g_targetCQ = ev.target.parentNode.id; - g_CQMenu.popup(mouseX, mouseY); + CR.targetCQ = ev.target.parentNode.id; + CR.CQMenu.popup(mouseX, mouseY); } } else if (name == "CQz") { - g_targetCQz = ev.target.parentNode.id; - g_CQzMenu.popup(mouseX, mouseY); + CR.targetCQz = ev.target.parentNode.id; + CR.CQzMenu.popup(mouseX, mouseY); } else if (name == "ITUz") { - g_targetITUz = ev.target.parentNode.id; - g_ITUzMenu.popup(mouseX, mouseY); + CR.targetITUz = ev.target.parentNode.id; + CR.ITUzMenu.popup(mouseX, mouseY); } else if (name && name.startsWith("DXCC")) { let dxcca = name.split("("); let dxcc = parseInt(dxcca[1]); - g_targetDxcc = dxcc; - g_dxccMenu.popup(mouseX, mouseY); + CR.targetDxcc = dxcc; + CR.dxccMenu.popup(mouseX, mouseY); } else { - if (g_rosterSettings.compact) + if (CR.rosterSettings.compact) { - g_compactMenu.popup(mouseX, mouseY); + CR.compactMenu.popup(mouseX, mouseY); } else { if (ev.target.tagName == "TH" && ev.target.getAttribute("name")) { - g_menuItemForCurrentColumn.enabled = true; - g_currentColumnName = ev.target.getAttribute("name"); + CR.menuItemForCurrentColumn.enabled = true; + CR.currentColumnName = ev.target.getAttribute("name"); } else { - g_menuItemForCurrentColumn.enabled = false; - g_currentColumnName = null; + CR.menuItemForCurrentColumn.enabled = false; + CR.currentColumnName = null; } - g_menu.popup(mouseX, mouseY); + CR.menu.popup(mouseX, mouseY); } } } else { - if (g_rosterSettings.compact == false) + if (CR.rosterSettings.compact == false) { - g_menu.popup(mouseX, mouseY); + CR.menu.popup(mouseX, mouseY); } else { - g_compactMenu.popup(mouseX, mouseY); + CR.compactMenu.popup(mouseX, mouseY); } } @@ -2572,10 +2570,10 @@ function handleContextMenu(ev) function getTypeFromMode(mode) { - if (mode in g_modes) + if (mode in CR.modes) { - if (g_modes[mode] == true) return "Digital"; - else if (g_modes_phone[mode] == true) return "Phone"; + if (CR.modes[mode] == true) return "Digital"; + else if (CR.modes_phone[mode] == true) return "Phone"; } return ""; } @@ -2583,49 +2581,49 @@ function getTypeFromMode(mode) function testAward(awardName, obj, baseHash) { if ( - g_awardTracker[awardName].test.dxcc && - g_awardTracker[awardName].rule.dxcc.indexOf(obj.dxcc) == -1 + CR.awardTracker[awardName].test.dxcc && + CR.awardTracker[awardName].rule.dxcc.indexOf(obj.dxcc) == -1 ) { return false; } if ( - g_awardTracker[awardName].test.mode && - g_awardTracker[awardName].rule.mode.indexOf(obj.mode) == -1 + CR.awardTracker[awardName].test.mode && + CR.awardTracker[awardName].rule.mode.indexOf(obj.mode) == -1 ) { return false; } if ( - g_awardTracker[awardName].test.band && - g_awardTracker[awardName].rule.band.indexOf(obj.band) == -1 + CR.awardTracker[awardName].test.band && + CR.awardTracker[awardName].rule.band.indexOf(obj.band) == -1 ) { return false; } if ( - g_awardTracker[awardName].test.DEcall && - g_awardTracker[awardName].rule.call.indexOf(obj.DEcall) == -1 + CR.awardTracker[awardName].test.DEcall && + CR.awardTracker[awardName].rule.call.indexOf(obj.DEcall) == -1 ) { return false; } if ( - g_awardTracker[awardName].test.cont && - g_awardTracker[awardName].rule.cont.indexOf(obj.cont) == -1 + CR.awardTracker[awardName].test.cont && + CR.awardTracker[awardName].rule.cont.indexOf(obj.cont) == -1 ) { return false; } if ( - g_awardTracker[awardName].test.prop && - g_awardTracker[awardName].rule.propMode != obj.propMode + CR.awardTracker[awardName].test.prop && + CR.awardTracker[awardName].rule.propMode != obj.propMode ) { return false; } if ( - g_awardTracker[awardName].test.sat && - g_awardTracker[awardName].rule.satName.indexOf(obj.satName) == -1 + CR.awardTracker[awardName].test.sat && + CR.awardTracker[awardName].rule.satName.indexOf(obj.satName) == -1 ) { return false; } - return g_awardTypes[g_awardTracker[awardName].rule.type].test( - g_awardTracker[awardName], + return CR.awardTypes[CR.awardTracker[awardName].rule.type].test( + CR.awardTracker[awardName], obj, baseHash ); @@ -2634,11 +2632,11 @@ function testAward(awardName, obj, baseHash) function processAward(awardName) { let award = - g_awards[g_awardTracker[awardName].sponsor].awards[ - g_awardTracker[awardName].name + CR.awards[CR.awardTracker[awardName].sponsor].awards[ + CR.awardTracker[awardName].name ]; - g_awardTracker[awardName].rule = award.rule; - let test = (g_awardTracker[awardName].test = {}); + CR.awardTracker[awardName].rule = award.rule; + let test = (CR.awardTracker[awardName].test = {}); let mode = award.rule.mode.slice(); let Index = mode.indexOf("Mixed"); @@ -2651,9 +2649,9 @@ function processAward(awardName) if (Index > -1) mode.splice(Index, 1); test.mode = mode.length > 0; - test.confirmed = "qsl_req" in g_awards[g_awardTracker[awardName].sponsor].awards[g_awardTracker[awardName].name].rule ? g_awards[g_awardTracker[awardName].sponsor].awards[g_awardTracker[awardName].name].rule.qsl_req == "confirmed" : g_awards[g_awardTracker[awardName].sponsor].qsl_req == "confirmed"; + test.confirmed = "qsl_req" in CR.awards[CR.awardTracker[awardName].sponsor].awards[CR.awardTracker[awardName].name].rule ? CR.awards[CR.awardTracker[awardName].sponsor].awards[CR.awardTracker[awardName].name].rule.qsl_req == "confirmed" : CR.awards[CR.awardTracker[awardName].sponsor].qsl_req == "confirmed"; test.look = "confirmed"; - test.qsl_req = "qsl_req" in g_awards[g_awardTracker[awardName].sponsor].awards[g_awardTracker[awardName].name].rule ? g_awards[g_awardTracker[awardName].sponsor].awards[g_awardTracker[awardName].name].rule.qsl_req : g_awards[g_awardTracker[awardName].sponsor].qsl_req; + test.qsl_req = "qsl_req" in CR.awards[CR.awardTracker[awardName].sponsor].awards[CR.awardTracker[awardName].name].rule ? CR.awards[CR.awardTracker[awardName].sponsor].awards[CR.awardTracker[awardName].name].rule.qsl_req : CR.awards[CR.awardTracker[awardName].sponsor].qsl_req; test.DEcall = "call" in award.rule; test.band = "band" in award.rule && award.rule.band.indexOf("Mixed") == -1; test.dxcc = "dxcc" in award.rule; @@ -2661,11 +2659,11 @@ function processAward(awardName) test.prop = "propMode" in award.rule; test.sat = "satName" in award.rule; - g_awardTracker[awardName].stat = {}; + CR.awardTracker[awardName].stat = {}; - for (const i in window.opener.g_QSOhash) + for (const i in window.opener.GT.QSOhash) { - let obj = window.opener.g_QSOhash[i]; + let obj = window.opener.GT.QSOhash[i]; if (test.confirmed && !obj.confirmed) continue; @@ -2685,14 +2683,14 @@ function processAward(awardName) if (test.sat && award.rule.satName.indexOf(obj.satName) == -1) continue; - g_awardTypes[award.rule.type].score(g_awardTracker[awardName], obj); + CR.awardTypes[award.rule.type].score(CR.awardTracker[awardName], obj); } - g_awardTracker[awardName].comp = g_awardTypes[award.rule.type].compile( - g_awardTracker[awardName], - g_awardTracker[awardName].stat + CR.awardTracker[awardName].comp = CR.awardTypes[award.rule.type].compile( + CR.awardTracker[awardName], + CR.awardTracker[awardName].stat ); - g_awardTracker[awardName].stat = {}; + CR.awardTracker[awardName].stat = {}; } function newAwardCountObject() @@ -2739,7 +2737,7 @@ function workAwardObject(obj, band, mode, isDigital, isPhone, unique = null) function buildAwardTypeHandlers() { - g_awardTypes = { + CR.awardTypes = { IOTA: { name: "Islands On The Air" }, call: { name: "Callsign" }, callarea: { name: "Call Area" }, @@ -2763,71 +2761,71 @@ function buildAwardTypeHandlers() states2band: { name: "States per Band" } }; - g_awardTypes.IOTA.score = scoreAIOTA; - g_awardTypes.call.score = scoreAcall; - g_awardTypes.callarea.score = scoreAcallarea; - g_awardTypes.calls2dxcc.score = scoreAcalls2dxcc; - g_awardTypes.cnty.score = scoreAcnty; - g_awardTypes.cont.score = scoreAcont; - g_awardTypes.cont5.score = scoreAcont5; - g_awardTypes.cont52band.score = scoreAcont52band; - g_awardTypes.cqz.score = scoreAcqz; - g_awardTypes.dxcc.score = scoreAdxcc; - g_awardTypes.grids.score = scoreAgrids; - g_awardTypes.numsfx.score = scoreAnumsfx; - g_awardTypes.px.score = scoreApx; - g_awardTypes.pxa.score = scoreApxa; - g_awardTypes.pxplus.score = scoreApxplus; - g_awardTypes.sfx.score = scoreAsfx; - g_awardTypes.states.score = scoreAstates; - g_awardTypes.cont2band.score = scoreAcont2band; - g_awardTypes.calls2band.score = scoreAcalls2band; - g_awardTypes.dxcc2band.score = scoreAdxcc2band; - g_awardTypes.states2band.score = scoreAstates2band; + CR.awardTypes.IOTA.score = scoreAIOTA; + CR.awardTypes.call.score = scoreAcall; + CR.awardTypes.callarea.score = scoreAcallarea; + CR.awardTypes.calls2dxcc.score = scoreAcalls2dxcc; + CR.awardTypes.cnty.score = scoreAcnty; + CR.awardTypes.cont.score = scoreAcont; + CR.awardTypes.cont5.score = scoreAcont5; + CR.awardTypes.cont52band.score = scoreAcont52band; + CR.awardTypes.cqz.score = scoreAcqz; + CR.awardTypes.dxcc.score = scoreAdxcc; + CR.awardTypes.grids.score = scoreAgrids; + CR.awardTypes.numsfx.score = scoreAnumsfx; + CR.awardTypes.px.score = scoreApx; + CR.awardTypes.pxa.score = scoreApxa; + CR.awardTypes.pxplus.score = scoreApxplus; + CR.awardTypes.sfx.score = scoreAsfx; + CR.awardTypes.states.score = scoreAstates; + CR.awardTypes.cont2band.score = scoreAcont2band; + CR.awardTypes.calls2band.score = scoreAcalls2band; + CR.awardTypes.dxcc2band.score = scoreAdxcc2band; + CR.awardTypes.states2band.score = scoreAstates2band; - g_awardTypes.IOTA.test = testAIOTA; - g_awardTypes.call.test = testAcall; - g_awardTypes.callarea.test = testAcallarea; - g_awardTypes.calls2dxcc.test = testAcalls2dxcc; - g_awardTypes.cnty.test = testAcnty; - g_awardTypes.cont.test = testAcont; - g_awardTypes.cont5.test = testAcont5; - g_awardTypes.cont52band.test = testAcont52band; - g_awardTypes.cqz.test = testAcqz; - g_awardTypes.dxcc.test = testAdxcc; - g_awardTypes.grids.test = testAgrids; - g_awardTypes.numsfx.test = testAnumsfx; - g_awardTypes.px.test = testApx; - g_awardTypes.pxa.test = testApxa; - g_awardTypes.pxplus.test = testApxplus; - g_awardTypes.sfx.test = testAsfx; - g_awardTypes.states.test = testAstates; - g_awardTypes.cont2band.test = testAcont2band; - g_awardTypes.calls2band.test = testAcalls2band; - g_awardTypes.dxcc2band.test = testAdxcc2band; - g_awardTypes.states2band.test = testAstates; + CR.awardTypes.IOTA.test = testAIOTA; + CR.awardTypes.call.test = testAcall; + CR.awardTypes.callarea.test = testAcallarea; + CR.awardTypes.calls2dxcc.test = testAcalls2dxcc; + CR.awardTypes.cnty.test = testAcnty; + CR.awardTypes.cont.test = testAcont; + CR.awardTypes.cont5.test = testAcont5; + CR.awardTypes.cont52band.test = testAcont52band; + CR.awardTypes.cqz.test = testAcqz; + CR.awardTypes.dxcc.test = testAdxcc; + CR.awardTypes.grids.test = testAgrids; + CR.awardTypes.numsfx.test = testAnumsfx; + CR.awardTypes.px.test = testApx; + CR.awardTypes.pxa.test = testApxa; + CR.awardTypes.pxplus.test = testApxplus; + CR.awardTypes.sfx.test = testAsfx; + CR.awardTypes.states.test = testAstates; + CR.awardTypes.cont2band.test = testAcont2band; + CR.awardTypes.calls2band.test = testAcalls2band; + CR.awardTypes.dxcc2band.test = testAdxcc2band; + CR.awardTypes.states2band.test = testAstates; - g_awardTypes.IOTA.compile = singleCompile; - g_awardTypes.call.compile = singleCompile; - g_awardTypes.callarea.compile = singleCompile; - g_awardTypes.calls2dxcc.compile = doubleCompile; - g_awardTypes.cnty.compile = singleCompile; - g_awardTypes.cont.compile = singleCompile; - g_awardTypes.cont5.compile = singleCompile; - g_awardTypes.cont52band.compile = doubleCompile; - g_awardTypes.cqz.compile = singleCompile; - g_awardTypes.dxcc.compile = singleCompile; - g_awardTypes.grids.compile = singleCompile; - g_awardTypes.numsfx.compile = singleCompile; - g_awardTypes.px.compile = singleCompile; - g_awardTypes.pxa.compile = singleCompile; - g_awardTypes.pxplus.compile = singleCompile; - g_awardTypes.sfx.compile = singleCompile; - g_awardTypes.states.compile = singleCompile; - g_awardTypes.cont2band.compile = doubleCompile; - g_awardTypes.calls2band.compile = doubleCompile; - g_awardTypes.dxcc2band.compile = doubleCompile; - g_awardTypes.states2band.compile = doubleCompile; + CR.awardTypes.IOTA.compile = singleCompile; + CR.awardTypes.call.compile = singleCompile; + CR.awardTypes.callarea.compile = singleCompile; + CR.awardTypes.calls2dxcc.compile = doubleCompile; + CR.awardTypes.cnty.compile = singleCompile; + CR.awardTypes.cont.compile = singleCompile; + CR.awardTypes.cont5.compile = singleCompile; + CR.awardTypes.cont52band.compile = doubleCompile; + CR.awardTypes.cqz.compile = singleCompile; + CR.awardTypes.dxcc.compile = singleCompile; + CR.awardTypes.grids.compile = singleCompile; + CR.awardTypes.numsfx.compile = singleCompile; + CR.awardTypes.px.compile = singleCompile; + CR.awardTypes.pxa.compile = singleCompile; + CR.awardTypes.pxplus.compile = singleCompile; + CR.awardTypes.sfx.compile = singleCompile; + CR.awardTypes.states.compile = singleCompile; + CR.awardTypes.cont2band.compile = doubleCompile; + CR.awardTypes.calls2band.compile = doubleCompile; + CR.awardTypes.dxcc2band.compile = doubleCompile; + CR.awardTypes.states2band.compile = doubleCompile; } function scoreAstates(award, obj) @@ -2850,7 +2848,7 @@ function scoreAstates(award, obj) function testAstates(award, obj, baseHash) { // calls with empty state will not match anything in the hash map. so filter those out - if (!obj.state || obj.state + baseHash in g_tracker[award.test.look].state) + if (!obj.state || obj.state + baseHash in CR.tracker[award.test.look].state) { return false; } @@ -2888,7 +2886,7 @@ function scoreAdxcc(award, obj) function testAdxcc(award, obj, baseHash) { - if (String(obj.dxcc) + "|" + baseHash in g_tracker[award.test.look].dxcc) + if (String(obj.dxcc) + "|" + baseHash in CR.tracker[award.test.look].dxcc) { return false; } @@ -2920,7 +2918,7 @@ function testAcont(award, obj, baseHash) let cont = obj.cont; if (cont == "AN") cont = "OC"; - if (cont + baseHash in g_tracker[award.test.look].cont) + if (cont + baseHash in CR.tracker[award.test.look].cont) { return false; } @@ -2956,7 +2954,7 @@ function testAcont5(award, obj, baseHash) if (cont == "NA" || cont == "SA") cont = "AM"; if (cont == "AN") cont = "OC"; - if (cont + baseHash in g_tracker[award.test.look].cont) + if (cont + baseHash in CR.tracker[award.test.look].cont) { return false; } @@ -2985,7 +2983,7 @@ function testAcont2band(award, obj, baseHash) let cont = obj.cont; if (cont == "AN") cont = "OC"; - if (cont + baseHash in g_tracker[award.test.look].cont) + if (cont + baseHash in CR.tracker[award.test.look].cont) { return false; } @@ -3022,7 +3020,7 @@ function testAcont52band(award, obj, baseHash) if (cont == "NA" || cont == "SA") cont = "AM"; if (cont == "AN") cont = "OC"; - if (cont + baseHash in g_tracker[award.test.look].cont) + if (cont + baseHash in CR.tracker[award.test.look].cont) { return false; } @@ -3050,7 +3048,7 @@ function scoreAgrids(award, obj) function testAgrids(award, obj, baseHash) { - if (obj.grid && obj.grid + baseHash in g_tracker[award.test.look].grid) + if (obj.grid && obj.grid + baseHash in CR.tracker[award.test.look].grid) { return false; } @@ -3079,7 +3077,7 @@ function scoreAcnty(award, obj) function testAcnty(award, obj, baseHash) { - if (obj.cnty && obj.cnty + baseHash in g_tracker[award.test.look].cnty) + if (obj.cnty && obj.cnty + baseHash in CR.tracker[award.test.look].cnty) { return false; } @@ -3110,7 +3108,7 @@ function testAcall(award, obj, baseHash) { if (obj.DEcall.indexOf("/") > -1 && obj.DEcall.endsWith("/MM")) return false; - if (obj.DEcall + baseHash in g_tracker[award.test.look].call) + if (obj.DEcall + baseHash in CR.tracker[award.test.look].call) { return false; } @@ -3121,7 +3119,7 @@ function scoreAIOTA(award, obj) { if (obj.IOTA) { - let test = g_awards[award.sponsor].awards[award.name]; + let test = CR.awards[award.sponsor].awards[award.name]; if ("IOTA" in test.rule && test.rule.IOTA.indexOf(obj.IOTA) == -1) { return false; } @@ -3143,7 +3141,7 @@ function testAIOTA(award, obj, baseHash) { /* if ( obj.IOTA ) { - let test = g_awards[award.sponsor].awards[award.name]; + let test = CR.awards[award.sponsor].awards[award.name]; if ( "IOTA" in test.rule && test.rule.IOTA.indexOf(obj.IOTA) == -1 ) return false; @@ -3157,7 +3155,7 @@ function scoreAcallarea(award, obj) { if (obj.zone != null) { - let test = g_awards[award.sponsor].awards[award.name]; + let test = CR.awards[award.sponsor].awards[award.name]; if ("zone" in test.rule && test.rule.zone.indexOf(obj.zone) == -1) { return false; } @@ -3178,7 +3176,7 @@ function testAcallarea(award, obj, baseHash) { if (obj.zone != null) { - let test = g_awards[award.sponsor].awards[award.name]; + let test = CR.awards[award.sponsor].awards[award.name]; if ("zone" in test.rule && test.rule.zone.indexOf(obj.zone) == -1) { return false; } @@ -3190,7 +3188,7 @@ function scoreApx(award, obj) { if (obj.px) { - let test = g_awards[award.sponsor].awards[award.name]; + let test = CR.awards[award.sponsor].awards[award.name]; let px = obj.px; if ("px" in test.rule) { @@ -3214,7 +3212,7 @@ function testApx(award, obj, baseHash) { if (obj.px) { - let test = g_awards[award.sponsor].awards[award.name]; + let test = CR.awards[award.sponsor].awards[award.name]; let px = obj.px; if ("px" in test.rule) { @@ -3222,7 +3220,7 @@ function testApx(award, obj, baseHash) if (test.rule.px.indexOf(px) == -1) return false; } - if (String(obj.px) + baseHash in g_tracker[award.test.look].px) + if (String(obj.px) + baseHash in CR.tracker[award.test.look].px) { return false; } @@ -3234,7 +3232,7 @@ function scoreApxa(award, obj) { if (obj.px) { - let test = g_awards[award.sponsor].awards[award.name]; + let test = CR.awards[award.sponsor].awards[award.name]; for (const i in test.rule.pxa) { if (test.rule.pxa[i].indexOf(obj.px) > -1) @@ -3257,12 +3255,12 @@ function testApxa(award, obj, baseHash) { if (obj.px) { - let test = g_awards[award.sponsor].awards[award.name]; + let test = CR.awards[award.sponsor].awards[award.name]; for (const i in test.rule.pxa) { if (test.rule.pxa[i].indexOf(obj.px) > -1) { - if (String(obj.px) + baseHash in g_tracker[award.test.look].px) + if (String(obj.px) + baseHash in CR.tracker[award.test.look].px) { return false; } @@ -3278,7 +3276,7 @@ function testApxa(award, obj, baseHash) function scoreAsfx(award, obj) { - let test = g_awards[award.sponsor].awards[award.name]; + let test = CR.awards[award.sponsor].awards[award.name]; let suf = obj.DEcall.replace(obj.px, ""); for (const i in test.rule.sfx) { @@ -3303,7 +3301,7 @@ function scoreAsfx(award, obj) function testAsfx(award, obj, baseHash) { - let test = g_awards[award.sponsor].awards[award.name]; + let test = CR.awards[award.sponsor].awards[award.name]; let suf = obj.DEcall.replace(obj.px, ""); for (const i in test.rule.sfx) { @@ -3335,7 +3333,7 @@ function scoreAcalls2dxcc(award, obj) function testAcalls2dxcc(award, obj, baseHash) { - if (obj.DEcall + baseHash in g_tracker[award.test.look].call) + if (obj.DEcall + baseHash in CR.tracker[award.test.look].call) { return false; } @@ -3358,7 +3356,7 @@ function scoreAcalls2band(award, obj) function testAcalls2band(award, obj, baseHash) { - if (obj.DEcall + baseHash in g_tracker[award.test.look].call) + if (obj.DEcall + baseHash in CR.tracker[award.test.look].call) { return false; } @@ -3381,7 +3379,7 @@ function scoreAdxcc2band(award, obj) function testAdxcc2band(award, obj, baseHash) { - if (String(obj.dxcc) + "|" + baseHash in g_tracker[award.test.look].dxcc) + if (String(obj.dxcc) + "|" + baseHash in CR.tracker[award.test.look].dxcc) { return false; } @@ -3408,7 +3406,7 @@ function scoreAcqz(award, obj) function testAcqz(award, obj, baseHash) { // calls with empty cqz will not match anything in the hash map. so filter those out - if (!obj.cqz || obj.cqz + "|" + baseHash in g_tracker[award.test.look].cqz) + if (!obj.cqz || obj.cqz + "|" + baseHash in CR.tracker[award.test.look].cqz) { return false; } @@ -3419,7 +3417,7 @@ function scoreAnumsfx(award, obj) { if (obj.px) { - let test = g_awards[award.sponsor].awards[award.name]; + let test = CR.awards[award.sponsor].awards[award.name]; let px = obj.px.substr(0, obj.px.length - 1); let suf = obj.DEcall.replace(px, ""); suf = suf.substr(0, test.rule.numsfx[0][0].length); @@ -3448,7 +3446,7 @@ function testAnumsfx(award, obj) { if (obj.px) { - let test = g_awards[award.sponsor].awards[award.name]; + let test = CR.awards[award.sponsor].awards[award.name]; let px = obj.px.substr(0, obj.px.length - 1); let suf = obj.DEcall.replace(px, ""); suf = suf.substr(0, test.rule.numsfx[0][0].length); @@ -3469,7 +3467,7 @@ function testAnumsfx(award, obj) function scoreApxplus(award, obj) { - let test = g_awards[award.sponsor].awards[award.name]; + let test = CR.awards[award.sponsor].awards[award.name]; if (test.rule.pxplus) { @@ -3493,7 +3491,7 @@ function scoreApxplus(award, obj) function testApxplus(award, obj) { - let test = g_awards[award.sponsor].awards[award.name]; + let test = CR.awards[award.sponsor].awards[award.name]; if (test.rule.pxplus) { @@ -3510,46 +3508,46 @@ function testApxplus(award, obj) function loadAwardJson() { - g_awards = {}; + CR.awards = {}; let fs = require("fs"); if (fs.existsSync("./data/awards.json")) { fileBuf = fs.readFileSync("./data/awards.json"); try { - g_awards = JSON.parse(fileBuf); - // fs.writeFileSync("./data/awards.json", JSON.stringify(g_awards,null,2)); + CR.awards = JSON.parse(fileBuf); + // fs.writeFileSync("./data/awards.json", JSON.stringify(CR.awards,null,2)); - for (const sp in g_awards) + for (const sp in CR.awards) { - for (const aw in g_awards[sp].awards) + for (const aw in CR.awards[sp].awards) { - if (!("unique" in g_awards[sp].awards[aw].rule)) - { g_awards[sp].awards[aw].rule.unique = 1; } + if (!("unique" in CR.awards[sp].awards[aw].rule)) + { CR.awards[sp].awards[aw].rule.unique = 1; } - if (g_awards[sp].awards[aw].rule.band[0] == "Mixed") + if (CR.awards[sp].awards[aw].rule.band[0] == "Mixed") { - g_awards[sp].awards[aw].rule.band.shift(); + CR.awards[sp].awards[aw].rule.band.shift(); } - if (g_awards[sp].awards[aw].rule.band.length == 0) + if (CR.awards[sp].awards[aw].rule.band.length == 0) { - g_awards[sp].awards[aw].rule.band = []; - for (let key in g_awards[sp].mixed) + CR.awards[sp].awards[aw].rule.band = []; + for (let key in CR.awards[sp].mixed) { - g_awards[sp].awards[aw].rule.band.push(g_awards[sp].mixed[key]); + CR.awards[sp].awards[aw].rule.band.push(CR.awards[sp].mixed[key]); } } if ( - g_awards[sp].awards[aw].rule.endorse.length == 1 && - g_awards[sp].awards[aw].rule.endorse[0] == "Mixed" + CR.awards[sp].awards[aw].rule.endorse.length == 1 && + CR.awards[sp].awards[aw].rule.endorse[0] == "Mixed" ) { - g_awards[sp].awards[aw].rule.endorse = []; - for (let key in g_awards[sp].mixed) + CR.awards[sp].awards[aw].rule.endorse = []; + for (let key in CR.awards[sp].mixed) { - g_awards[sp].awards[aw].rule.endorse.push( - g_awards[sp].mixed[key] + CR.awards[sp].awards[aw].rule.endorse.push( + CR.awards[sp].mixed[key] ); } } @@ -3561,7 +3559,7 @@ function loadAwardJson() catch (e) { alert("Core awards.json : " + e); - g_awards = {}; + CR.awards = {}; } } else alert("Missing core awards.json"); @@ -3569,21 +3567,21 @@ function loadAwardJson() function processAllAwardTrackers() { - for (let tracker in g_awardTracker) + for (let tracker in CR.awardTracker) { - if (!(g_awardTracker[tracker].sponsor in g_awards)) + if (!(CR.awardTracker[tracker].sponsor in CR.awards)) { - delete g_awardTracker[tracker]; + delete CR.awardTracker[tracker]; continue; } if ( !( - g_awardTracker[tracker].name in - g_awards[g_awardTracker[tracker].sponsor].awards + CR.awardTracker[tracker].name in + CR.awards[CR.awardTracker[tracker].sponsor].awards ) ) { - delete g_awardTracker[tracker]; + delete CR.awardTracker[tracker]; continue; } processAward(tracker); @@ -3597,9 +3595,9 @@ function newAwardTrackerObject(sponsor, award, enable) newAward.sponsor = sponsor; newAward.name = award; newAward.enable = enable; - newAward.mode = g_awards[sponsor].awards[award].rule.mode[0]; - newAward.band = g_awards[sponsor].awards[award].rule.band[0]; - newAward.count = g_awards[sponsor].awards[award].rule.count[0]; + newAward.mode = CR.awards[sponsor].awards[award].rule.mode[0]; + newAward.band = CR.awards[sponsor].awards[award].rule.band[0]; + newAward.count = CR.awards[sponsor].awards[award].rule.count[0]; newAward.stat = {}; newAward.comp = {}; newAward.test = {}; @@ -3608,16 +3606,16 @@ function newAwardTrackerObject(sponsor, award, enable) function addAllAwards() { - for (let sponsor in g_awards) + for (let sponsor in CR.awards) { - for (let award in g_awards[sponsor].awards) + for (let award in CR.awards[sponsor].awards) { let awardToAdd = newAwardTrackerObject(sponsor, award, true); let hash = awardToAdd.name + "-" + awardToAdd.sponsor; - if (!(hash in g_awardTracker)) + if (!(hash in CR.awardTracker)) { - g_awardTracker[hash] = awardToAdd; + CR.awardTracker[hash] = awardToAdd; processAward(hash); storeAwardTracker(); } @@ -3629,7 +3627,7 @@ function addAllAwards() function delAllAwards() { - g_awardTracker = {}; + CR.awardTracker = {}; storeAwardTracker(); updateAwardList(); window.opener.goProcessRoster(); @@ -3647,7 +3645,7 @@ function newCompileCountObject() function singleCompile(award, obj) { - let test = g_awards[award.sponsor].awards[award.name]; + let test = CR.awards[award.sponsor].awards[award.name]; let rule = test.rule; let comp = newCompileCountObject(); for (let mode in rule.mode) @@ -3707,7 +3705,7 @@ function singleCompile(award, obj) function doubleCompile(award, firstLevel) { - let test = g_awards[award.sponsor].awards[award.name]; + let test = CR.awards[award.sponsor].awards[award.name]; let rule = test.rule; for (let k in firstLevel) @@ -3753,11 +3751,11 @@ function doubleCompile(award, firstLevel) function listShortInstances() { let shortInstances = []; - if (typeof window.opener.g_instancesIndex != "undefined" && typeof window.opener.g_instances != "undefined") + if (typeof window.opener.GT.instancesIndex != "undefined" && typeof window.opener.GT.instances != "undefined") { - if (window.opener.g_instancesIndex.length > 1) + if (window.opener.GT.instancesIndex.length > 1) { - let instances = window.opener.g_instances; + let instances = window.opener.GT.instances; let keys = Object.keys(instances).sort(); for (let key in keys) { diff --git a/package.nw/lib/roster/prepareRosterSettings.js b/package.nw/lib/roster/prepareRosterSettings.js index 0b7b9ce..8ddf0cc 100644 --- a/package.nw/lib/roster/prepareRosterSettings.js +++ b/package.nw/lib/roster/prepareRosterSettings.js @@ -3,7 +3,7 @@ function prepareRosterSettings() let rosterSettings = { bands: {}, modes: {}, - callMode: g_rosterSettings.callsign, + callMode: CR.rosterSettings.callsign, onlyHits: false, isAwardTracker: false, now: timeNowSec() @@ -19,24 +19,24 @@ function prepareRosterSettings() rosterSettings.callMode = "all"; rosterSettings.onlyHits = false; rosterSettings.isAwardTracker = true; - g_rosterSettings.huntNeed = "confirmed"; + CR.rosterSettings.huntNeed = "confirmed"; } // this appears to be determine if we should show the OAMS column // if the user is not in offline mode and has OAMS enabled, this could // be it's own function maybe? rosterSettings.canMsg = - window.opener.g_mapSettings.offlineMode == false && - window.opener.g_appSettings.gtShareEnable == true && - window.opener.g_appSettings.gtMsgEnable == true; + window.opener.GT.mapSettings.offlineMode == false && + window.opener.GT.appSettings.gtShareEnable == true && + window.opener.GT.appSettings.gtMsgEnable == true; // The following 3 sections deal with QSLing, do we break them out // individually or lump them into a qslUser function that sets // all three at the same time? // this section is for LoTW users, can be a function - if (window.opener.g_callsignLookups.lotwUseEnable == true) + if (window.opener.GT.callsignLookups.lotwUseEnable == true) { usesLoTWDiv.style.display = ""; - if (g_rosterSettings.usesLoTW == true) + if (CR.rosterSettings.usesLoTW == true) { maxLoTW.style.display = ""; maxLoTWView.style.display = ""; @@ -54,22 +54,22 @@ function prepareRosterSettings() maxLoTWView.style.display = "none"; } - if (g_rosterSettings.huntNeed == "mixed") + if (CR.rosterSettings.huntNeed == "mixed") { - rosterSettings.huntIndex = g_confirmed; - rosterSettings.workedIndex = g_worked; - rosterSettings.layeredMode = LAYERED_MODE_FOR[String(g_rosterSettings.reference)]; + rosterSettings.huntIndex = CR.confirmed; + rosterSettings.workedIndex = CR.worked; + rosterSettings.layeredMode = LAYERED_MODE_FOR[String(CR.rosterSettings.reference)]; } - else if (g_rosterSettings.huntNeed == "worked") + else if (CR.rosterSettings.huntNeed == "worked") { - rosterSettings.huntIndex = g_worked; + rosterSettings.huntIndex = CR.worked; rosterSettings.workedIndex = false; rosterSettings.layeredMode = false; } - else if (g_rosterSettings.huntNeed == "confirmed") + else if (CR.rosterSettings.huntNeed == "confirmed") { - rosterSettings.huntIndex = g_confirmed; - rosterSettings.workedIndex = g_worked; + rosterSettings.huntIndex = CR.confirmed; + rosterSettings.workedIndex = CR.worked; rosterSettings.layeredMode = false; } else diff --git a/package.nw/lib/roster/processRosterFiltering.js b/package.nw/lib/roster/processRosterFiltering.js index d860fd3..4fa4355 100644 --- a/package.nw/lib/roster/processRosterFiltering.js +++ b/package.nw/lib/roster/processRosterFiltering.js @@ -24,9 +24,9 @@ function processRosterFiltering(callRoster, rosterSettings) // this whole section is full of individual if's that could be broken out for (const callHash in callRoster) { - var entry = callRoster[callHash]; - var callObj = entry.callObj; - var call = entry.DEcall; + let entry = callRoster[callHash]; + let callObj = entry.callObj; + let call = entry.DEcall; entry.tx = true; callObj.shouldAlert = false; @@ -40,7 +40,7 @@ function processRosterFiltering(callRoster, rosterSettings) continue; } - if (rosterSettings.now - callObj.age > g_rosterSettings.rosterTime) + if (rosterSettings.now - callObj.age > CR.rosterSettings.rosterTime) { entry.tx = false; entry.alerted = false; @@ -53,44 +53,44 @@ function processRosterFiltering(callRoster, rosterSettings) entry.tx = false; continue; } - if (g_rosterSettings.noUnknownDXCC && callObj.dxcc === -1) + if (CR.rosterSettings.noUnknownDXCC && callObj.dxcc === -1) { entry.tx = false; continue; } - if (window.opener.g_instances[callObj.instance].crEnable == false) + if (window.opener.GT.instances[callObj.instance].crEnable == false) { entry.tx = false; continue; } - if (call in g_blockedCalls) + if (call in CR.blockedCalls) { entry.tx = false; continue; } - if (entry.DXcall + " from All" in g_blockedCQ || entry.DXcall + " from " + window.opener.g_dxccToAltName[callObj.dxcc] in g_blockedCQ) + if (entry.DXcall + " from All" in CR.blockedCQ || entry.DXcall + " from " + window.opener.GT.dxccToAltName[callObj.dxcc] in CR.blockedCQ) { entry.tx = false; continue; } - if (callObj.ituz in g_blockedITUz) + if (callObj.ituz in CR.blockedITUz) { entry.tx = false; continue; } - if (callObj.cqz in g_blockedCQz) + if (callObj.cqz in CR.blockedCQz) { entry.tx = false; continue; } - if (callObj.dxcc in g_blockedDxcc) + if (callObj.dxcc in CR.blockedDxcc) { entry.tx = false; continue; } - if (g_rosterSettings.cqOnly == true) + if (CR.rosterSettings.cqOnly == true) { - if (g_rosterSettings.wantRRCQ) + if (CR.rosterSettings.wantRRCQ) { if (callObj.RR73 == false && callObj.CQ == false) { @@ -104,10 +104,9 @@ function processRosterFiltering(callRoster, rosterSettings) continue; } } - if (g_rosterSettings.useRegex && g_rosterSettings.callsignRegex.length > 0) + if (CR.rosterSettings.useRegex && CR.rosterSettings.callsignRegex.length > 0) { - var regexObj = regexObj || new RegExp(g_rosterSettings.callsignRegex, "i") - + var regexObj = regexObj || new RegExp(CR.rosterSettings.callsignRegex, "i") try { if (!call.match(regexObj)) @@ -118,37 +117,37 @@ function processRosterFiltering(callRoster, rosterSettings) } catch (e) {} } - if (g_rosterSettings.requireGrid == true && callObj.grid.length != 4) + if (CR.rosterSettings.requireGrid == true && callObj.grid.length != 4) { entry.tx = false; continue; } - if (g_rosterSettings.wantMinDB == true && entry.message.SR < g_rosterSettings.minDb) + if (CR.rosterSettings.wantMinDB == true && entry.message.SR < CR.rosterSettings.minDb) { entry.tx = false; continue; } - if (g_rosterSettings.wantMaxDT == true && Math.abs(entry.message.DT) > g_rosterSettings.maxDT) + if (CR.rosterSettings.wantMaxDT == true && Math.abs(entry.message.DT) > CR.rosterSettings.maxDT) { entry.tx = false; continue; } - if (g_rosterSettings.wantMinFreq == true && entry.message.DF < g_rosterSettings.minFreq) + if (CR.rosterSettings.wantMinFreq == true && entry.message.DF < CR.rosterSettings.minFreq) { entry.tx = false; continue; } - if (g_rosterSettings.wantMaxFreq == true && entry.message.DF > g_rosterSettings.maxFreq) + if (CR.rosterSettings.wantMaxFreq == true && entry.message.DF > CR.rosterSettings.maxFreq) { entry.tx = false; continue; } - if (g_rosterSettings.noMsg == true) + if (CR.rosterSettings.noMsg == true) { try { - if (callObj.msg.match(g_rosterSettings.noMsgValue)) + if (callObj.msg.match(CR.rosterSettings.noMsgValue)) { entry.tx = false; continue; @@ -156,11 +155,11 @@ function processRosterFiltering(callRoster, rosterSettings) } catch (e) {} } - if (g_rosterSettings.onlyMsg == true) + if (CR.rosterSettings.onlyMsg == true) { try { - if (!callObj.msg.match(g_rosterSettings.onlyMsgValue)) + if (!callObj.msg.match(CR.rosterSettings.onlyMsgValue)) { entry.tx = false; continue; @@ -169,31 +168,31 @@ function processRosterFiltering(callRoster, rosterSettings) catch (e) {} } - if (callObj.dxcc == window.opener.g_myDXCC) + if (callObj.dxcc == window.opener.GT.myDXCC) { - if (g_rosterSettings.noMyDxcc == true) + if (CR.rosterSettings.noMyDxcc == true) { entry.tx = false; continue; } } - else if (g_rosterSettings.onlyMyDxcc == true) + else if (CR.rosterSettings.onlyMyDxcc == true) { entry.tx = false; continue; } - if (window.opener.g_callsignLookups.lotwUseEnable == true && g_rosterSettings.usesLoTW == true) + if (window.opener.GT.callsignLookups.lotwUseEnable == true && CR.rosterSettings.usesLoTW == true) { - if (!(call in window.opener.g_lotwCallsigns)) + if (!(call in window.opener.GT.lotwCallsigns)) { entry.tx = false; continue; } - if (g_rosterSettings.maxLoTW < 27) + if (CR.rosterSettings.maxLoTW < 27) { - var months = (g_day - window.opener.g_lotwCallsigns[call]) / 30; - if (months > g_rosterSettings.maxLoTW) + let months = (CR.day - window.opener.GT.lotwCallsigns[call]) / 30; + if (months > CR.rosterSettings.maxLoTW) { entry.tx = false; continue; @@ -201,18 +200,18 @@ function processRosterFiltering(callRoster, rosterSettings) } } - if (window.opener.g_callsignLookups.eqslUseEnable == true && g_rosterSettings.useseQSL == true) + if (window.opener.GT.callsignLookups.eqslUseEnable == true && CR.rosterSettings.useseQSL == true) { - if (!(call in window.opener.g_eqslCallsigns)) + if (!(call in window.opener.GT.eqslCallsigns)) { entry.tx = false; continue; } } - if (window.opener.g_callsignLookups.oqrsUseEnable == true && g_rosterSettings.usesOQRS == true) + if (window.opener.GT.callsignLookups.oqrsUseEnable == true && CR.rosterSettings.usesOQRS == true) { - if (!(call in window.opener.g_oqrsCallsigns)) + if (!(call in window.opener.GT.oqrsCallsigns)) { entry.tx = false; continue; @@ -221,28 +220,28 @@ function processRosterFiltering(callRoster, rosterSettings) if (rosterSettings.callMode != "all") { - if (entry.DXcall == "CQ DX" && callObj.dxcc == window.opener.g_myDXCC) + if (entry.DXcall == "CQ DX" && callObj.dxcc == window.opener.GT.myDXCC) { entry.tx = false; continue; } - var hash = hashMaker(call, callObj, g_rosterSettings.reference); - if (rosterSettings.callMode == "worked" && hash in g_worked.call) + let hash = hashMaker(call, callObj, CR.rosterSettings.reference); + if (rosterSettings.callMode == "worked" && hash in CR.worked.call) { entry.tx = false; continue; } - if (rosterSettings.callMode == "confirmed" && hash in g_confirmed.call) + if (rosterSettings.callMode == "confirmed" && hash in CR.confirmed.call) { entry.tx = false; continue; } - if (g_rosterSettings.hunting == "grid") + if (CR.rosterSettings.hunting == "grid") { - var hash = hashMaker(callObj.grid.substr(0, 4), - callObj, g_rosterSettings.reference); + let hash = hashMaker(callObj.grid.substr(0, 4), + callObj, CR.rosterSettings.reference); if (rosterSettings.huntIndex && hash in rosterSettings.huntIndex.grid) { entry.tx = false; @@ -255,9 +254,9 @@ function processRosterFiltering(callRoster, rosterSettings) } continue; } - if (g_rosterSettings.hunting == "dxcc") + if (CR.rosterSettings.hunting == "dxcc") { - let hash = hashMaker(String(callObj.dxcc) + "|", callObj, g_rosterSettings.reference); + let hash = hashMaker(String(callObj.dxcc) + "|", callObj, CR.rosterSettings.reference); if (rosterSettings.huntIndex && (hash in rosterSettings.huntIndex.dxcc)) { @@ -267,24 +266,24 @@ function processRosterFiltering(callRoster, rosterSettings) continue; } - if (g_rosterSettings.hunting == "dxccs" && r_currentDXCCs != -1) + if (CR.rosterSettings.hunting == "dxccs" && CR.currentDXCCs != -1) { - if (callObj.dxcc != r_currentDXCCs) + if (callObj.dxcc != CR.currentDXCCs) { entry.tx = false; continue; } } - if (g_rosterSettings.hunting == "wpx") + if (CR.rosterSettings.hunting == "wpx") { if (String(callObj.px) == null) { entry.tx = false; continue; } - var hash = hashMaker(String(callObj.px), - callObj, g_rosterSettings.reference); + let hash = hashMaker(String(callObj.px), + callObj, CR.rosterSettings.reference); if (rosterSettings.huntIndex && (hash in rosterSettings.huntIndex.px)) { @@ -295,7 +294,7 @@ function processRosterFiltering(callRoster, rosterSettings) continue; } - if (g_rosterSettings.hunting == "cq") + if (CR.rosterSettings.hunting == "cq") { if (callObj.cqz == null || !rosterSettings.huntIndex) { @@ -303,7 +302,7 @@ function processRosterFiltering(callRoster, rosterSettings) continue; } - var hash = hashMaker(callObj.cqz + "|", callObj, g_rosterSettings.reference); + let hash = hashMaker(callObj.cqz + "|", callObj, CR.rosterSettings.reference); if (hash in rosterSettings.huntIndex.cqz) { @@ -314,7 +313,7 @@ function processRosterFiltering(callRoster, rosterSettings) continue; } - if (g_rosterSettings.hunting == "itu") + if (CR.rosterSettings.hunting == "itu") { if (callObj.ituz == null || !rosterSettings.huntIndex) { @@ -322,7 +321,7 @@ function processRosterFiltering(callRoster, rosterSettings) continue; } - var hash = hashMaker(callObj.ituz + "|", callObj, g_rosterSettings.reference); + let hash = hashMaker(callObj.ituz + "|", callObj, CR.rosterSettings.reference); if (hash in rosterSettings.huntIndex.ituz) { @@ -333,15 +332,15 @@ function processRosterFiltering(callRoster, rosterSettings) continue; } - if (g_rosterSettings.hunting == "usstates" && window.opener.g_callsignLookups.ulsUseEnable == true) + if (CR.rosterSettings.hunting == "usstates" && window.opener.GT.callsignLookups.ulsUseEnable == true) { - var state = callObj.state; - var finalDxcc = callObj.dxcc; + let state = callObj.state; + let finalDxcc = callObj.dxcc; if (finalDxcc == 291 || finalDxcc == 110 || finalDxcc == 6) { - if (state in window.opener.g_StateData) + if (state in window.opener.GT.StateData) { - var hash = hashMaker(state, callObj, g_rosterSettings.reference); + let hash = hashMaker(state, callObj, CR.rosterSettings.reference); if (rosterSettings.huntIndex && hash in rosterSettings.huntIndex.state) { @@ -356,9 +355,9 @@ function processRosterFiltering(callRoster, rosterSettings) continue; } - if (g_rosterSettings.hunting == "usstate" && g_currentUSCallsigns) + if (CR.rosterSettings.hunting == "usstate" && CR.currentUSCallsigns) { - if (call in g_currentUSCallsigns) + if (call in CR.currentUSCallsigns) { // Do Nothing } @@ -373,26 +372,26 @@ function processRosterFiltering(callRoster, rosterSettings) if (rosterSettings.isAwardTracker) { - var tx = false; - var baseHash = hashMaker("", callObj, g_rosterSettings.reference); + let tx = false; + let baseHash = hashMaker("", callObj, CR.rosterSettings.reference); - for (const award in g_awardTracker) + for (const award in CR.awardTracker) { - if (g_awardTracker[award].enable) + if (CR.awardTracker[award].enable) { tx = testAward(award, callObj, baseHash); if (tx) { - var x = g_awardTracker[award]; + let x = CR.awardTracker[award]; // TODO: Move award reason out of exclusions code? - callObj.awardReason = g_awards[x.sponsor].awards[x.name].tooltip + " (" + g_awards[x.sponsor].sponsor + ")"; + callObj.awardReason = CR.awards[x.sponsor].awards[x.name].tooltip + " (" + CR.awards[x.sponsor].sponsor + ")"; callObj.shouldAlert = true; break; } } } - let didWork = (baseHash in g_worked.call); + let didWork = (baseHash in CR.worked.call); if (allOnlyNew.checked && didWork && !callObj.qrz) { callObj.shouldAlert = false; diff --git a/package.nw/lib/roster/processRosterHunting.js b/package.nw/lib/roster/processRosterHunting.js index b556836..42977c0 100644 --- a/package.nw/lib/roster/processRosterHunting.js +++ b/package.nw/lib/roster/processRosterHunting.js @@ -15,7 +15,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) const currentYear = new Date().getFullYear(); const currentYearSuffix = `’${currentYear - 2000}`; - const potaEnabled = (window.opener.g_appSettings.potaEnabled === 1); + const potaEnabled = (window.opener.GT.appSettings.potaEnabled === 1); // TODO: Hunting results might be used to filter, based on the "Callsigns: Only Wanted" option, // so maybe we can move this loop first, and add a check to the filtering loop? @@ -29,14 +29,14 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) if (callObj.qrz == true && entry.tx == false) { // The instance has to be enabled - if (window.opener.g_instances[callObj.instance].crEnable == true) + if (window.opener.GT.instances[callObj.instance].crEnable == true) { // Calling us, but we wouldn't normally display // If they are not ignored or we're in a QSO with them, let it through // TODO: This is here because it's after the filtering stage - if ((!(entry.DEcall in g_blockedCalls) && !(callObj.dxcc in g_blockedDxcc)) || - window.opener.g_instances[callObj.instance].status.DXcall == entry.DEcall) + if ((!(entry.DEcall in CR.blockedCalls) && !(callObj.dxcc in CR.blockedDxcc)) || + window.opener.GT.instances[callObj.instance].status.DXcall == entry.DEcall) { entry.tx = true; } @@ -52,11 +52,11 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) if (rosterSettings.layeredMode) { workHashSuffix = hashMaker("", callObj, rosterSettings.layeredMode); - layeredHashSuffix = hashMaker("", callObj, g_rosterSettings.reference); + layeredHashSuffix = hashMaker("", callObj, CR.rosterSettings.reference); } else { - workHashSuffix = hashMaker("", callObj, g_rosterSettings.reference); + workHashSuffix = hashMaker("", callObj, CR.rosterSettings.reference); layeredHashSuffix = false } let workHash = workHashSuffix; // TODO: Remove after replacing all occurrences with Suffix @@ -102,13 +102,13 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) let layeredHash = layeredHashSuffix && (callsign + layeredHashSuffix) // Call worked in current logbook settings, regardless of hunting mode - if (hash in g_worked.call) + if (hash in CR.worked.call) { callObj.callFlags.worked = true; didWork = true; callConf = `${unconf}${call}${inversionAlpha};`; - if (hash in g_confirmed.call) + if (hash in CR.confirmed.call) { callObj.callFlags.confirmed = true; callPointer = "text-decoration: line-through; "; @@ -117,12 +117,12 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) } // Calls that have OAMS chat support - if (callsign in window.opener.g_gtCallsigns) + if (callsign in window.opener.GT.gtCallsigns) { callObj.gt = 0; - for (const cid in window.opener.g_gtCallsigns[callsign]) + for (const cid in window.opener.GT.gtCallsigns[callsign]) { - if (cid in window.opener.g_gtFlagPins && window.opener.g_gtFlagPins[cid].canmsg == true) + if (cid in window.opener.GT.gtFlagPins && window.opener.GT.gtFlagPins[cid].canmsg == true) { // found the first one we can message, break now callObj.callFlags.oams = true; @@ -157,9 +157,9 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) } // Entries currently calling or being called by us - if (callObj.DEcall == window.opener.g_instances[callObj.instance].status.DXcall) + if (callObj.DEcall == window.opener.GT.instances[callObj.instance].status.DXcall) { - if (window.opener.g_instances[callObj.instance].status.TxEnabled == 1) + if (window.opener.GT.instances[callObj.instance].status.TxEnabled == 1) { callObj.hunting.call = "calling"; callObj.style.call = "class='dxCalling'"; @@ -182,7 +182,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) px: false, cont: false }; - if (g_rosterSettings.reference == LOGBOOK_AWARD_TRACKER) + if (CR.rosterSettings.reference == LOGBOOK_AWARD_TRACKER) { for (let key in awardTracker) { @@ -252,9 +252,9 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) } } - if (huntRegex.checked == true && g_rosterSettings.huntRegexValue.length > 0) + if (huntRegex.checked == true && CR.rosterSettings.huntRegexValue.length > 0) { - var huntRegexObj = huntRegexObj || new RegExp(g_rosterSettings.huntRegexValue, "gi") + var huntRegexObj = huntRegexObj || new RegExp(CR.rosterSettings.huntRegexValue, "gi") try { if (callsign.match(huntRegexObj)) @@ -410,13 +410,13 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) } // Hunting for US States - if ((huntState.checked || awardTrackerOverrides.states) && window.opener.g_callsignLookups.ulsUseEnable == true) + if ((huntState.checked || awardTrackerOverrides.states) && window.opener.GT.callsignLookups.ulsUseEnable == true) { let stateSearch = callObj.state; let finalDxcc = callObj.dxcc; if (finalDxcc == 291 || finalDxcc == 110 || finalDxcc == 6) { - if (stateSearch in window.opener.g_StateData) + if (stateSearch in window.opener.GT.StateData) { let hash = stateSearch + workHashSuffix; let layeredHash = rosterSettings.layeredMode && (stateSearch + layeredHashSuffix) @@ -467,7 +467,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) } // Hunting for US Counties - if ((huntCounty.checked || awardTrackerOverrides.cnty) && window.opener.g_callsignLookups.ulsUseEnable == true) + if ((huntCounty.checked || awardTrackerOverrides.cnty) && window.opener.GT.callsignLookups.ulsUseEnable == true) { let finalDxcc = callObj.dxcc; if ( @@ -482,7 +482,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) { if (callObj.qual == false) { - let counties = window.opener.g_zipToCounty[callObj.zipcode]; + let counties = window.opener.GT.zipToCounty[callObj.zipcode]; let foundHit = false; for (const cnt in counties) { @@ -527,7 +527,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) let huntTotal = 1; let workedFound = 0; - let hash = g_dayAsString + callsign + callObj.pota + (rosterSettings.layeredMode ? layeredHashSuffix : workHashSuffix); + let hash = CR.dayAsString + callsign + callObj.pota + (rosterSettings.layeredMode ? layeredHashSuffix : workHashSuffix); if (rosterSettings.workedIndex && hash in rosterSettings.workedIndex.pota) workedFound++; @@ -782,12 +782,12 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) callingBg = "#0000FF" + inversionAlpha; calling = "#FFFF00;text-shadow: 0px 0px 2px #FFFF00"; } - else if ((callObj.CQ == true || (g_rosterSettings.wantRRCQ && callObj.RR73 == true)) && !g_rosterSettings.cqOnly) + else if ((callObj.CQ == true || (CR.rosterSettings.wantRRCQ && callObj.RR73 == true)) && !CR.rosterSettings.cqOnly) { callingBg = calling + inversionAlpha; calling = bold; // If treating RR73/73 as CQ, soften highlighting to help differentiate foreshadow from an actual CQ - if (g_rosterSettings.wantRRCQ && callObj.RR73 == true) + if (CR.rosterSettings.wantRRCQ && callObj.RR73 == true) { callingConf = `${unconf}#90EE90${inversionAlpha};`; calling = `#90EE90${inversionAlpha};` @@ -822,7 +822,7 @@ function processRosterHunting(callRoster, rosterSettings, awardTracker) callObj.style = colorObject; - if (g_rosterSettings.columns.Spot) + if (CR.rosterSettings.columns.Spot) { callObj.spot = window.opener.getSpotTime(callObj.DEcall + callObj.mode + callObj.band + callObj.grid); if (callObj.spot == null) diff --git a/package.nw/lib/roster/renderCompactRoster.js b/package.nw/lib/roster/renderCompactRoster.js index acdb94b..ad75258 100644 --- a/package.nw/lib/roster/renderCompactRoster.js +++ b/package.nw/lib/roster/renderCompactRoster.js @@ -1,27 +1,27 @@ // Because the County is clickable we do not allow the whole compact div to trigger an initiateQSO -g_isCompactCounty = false; +CR.isCompactCounty = false; function renderCompactRosterHeaders() { - g_isCompactCounty = (g_rosterSettings.compactEntity == "County"); + CR.isCompactCounty = (CR.rosterSettings.compactEntity == "County"); return "
"; } function renderCompactRosterRow(callObj, showBand) { - var title = callObj.RSTsent + "㏈, " + parseInt(callObj.dt * 100) + "ms, " + callObj.delta + "hz" + (callObj.grid.length ? ", " + callObj.grid : "") + ", " + (timeNowSec() - callObj.age).toDHMS(); - var bandView = showBand ? "
" + callObj.band + "
" : ""; - if (g_rosterSettings.compactEntity == "Band") + let title = callObj.RSTsent + "㏈, " + parseInt(callObj.dt * 100) + "ms, " + callObj.delta + "hz" + (callObj.grid.length ? ", " + callObj.grid : "") + ", " + toDHMS(timeNowSec() - callObj.age); + let bandView = showBand ? "
" + callObj.band + "
" : ""; + if (CR.rosterSettings.compactEntity == "Band") { bandView = ""; } - var onClick = " onClick='initiateQso(\"" + callObj.hash + "\")' id='" + callObj.hash + "' title='" + title + "' "; - var wholeClick = (g_isCompactCounty ? "" : onClick); - var callsignClick = (g_isCompactCounty ? onClick : ""); - var worker = "
"; - worker += "
" + callObj.DEcall.formatCallsign() + bandView + "
"; + let onClick = " onClick='initiateQso(\"" + callObj.hash + "\")' id='" + callObj.hash + "' title='" + title + "' "; + let wholeClick = (CR.isCompactCounty ? "" : onClick); + let callsignClick = (CR.isCompactCounty ? onClick : ""); + let worker = "
"; + worker += "
" + formatCallsign(callObj.DEcall) + bandView + "
"; worker += "
"; - worker += renderEntryForColumn(g_rosterSettings.compactEntity, callObj, "div"); + worker += renderEntryForColumn(CR.rosterSettings.compactEntity, callObj, "div"); worker += "
"; return worker; } diff --git a/package.nw/lib/roster/renderRoster.js b/package.nw/lib/roster/renderRoster.js index f75702b..9705751 100644 --- a/package.nw/lib/roster/renderRoster.js +++ b/package.nw/lib/roster/renderRoster.js @@ -4,7 +4,7 @@ function renderRoster(callRoster, rosterSettings) Callsign: true } - if (window.opener.g_callsignLookups.eqslUseEnable == true) + if (window.opener.GT.callsignLookups.eqslUseEnable == true) { useseQSLDiv.style.display = ""; } @@ -14,7 +14,7 @@ function renderRoster(callRoster, rosterSettings) useseQSLDiv.style.display = "none"; } - if (window.opener.g_callsignLookups.oqrsUseEnable == true) + if (window.opener.GT.callsignLookups.oqrsUseEnable == true) { usesOQRSDiv.style.display = ""; } @@ -24,7 +24,7 @@ function renderRoster(callRoster, rosterSettings) usesOQRSDiv.style.display = "none"; } - if (window.opener.g_callsignLookups.lotwUseEnable == true) + if (window.opener.GT.callsignLookups.lotwUseEnable == true) { // Do nothing } @@ -43,7 +43,7 @@ function renderRoster(callRoster, rosterSettings) columnOverrides.OAMS = false; } - if (window.opener.g_appSettings.potaEnabled === 1) + if (window.opener.GT.appSettings.potaEnabled === 1) { huntingMatrixPotaDiv.style.display = ""; } @@ -58,7 +58,7 @@ function renderRoster(callRoster, rosterSettings) columnOverrides.Wanted = true; } // dealing with spots - if (g_rosterSettings.columns.Spot == true) onlySpotDiv.style.display = ""; + if (CR.rosterSettings.columns.Spot == true) onlySpotDiv.style.display = ""; else onlySpotDiv.style.display = "none"; // callmode (all or only new) @@ -104,23 +104,23 @@ function renderRoster(callRoster, rosterSettings) multiInstance = true; } let multiBand = Object.keys(rosterSettings.bands).length > 1; - let showBands = multiBand || g_rosterSettings.columns.Band; - let showModes = (Object.keys(rosterSettings.modes).length > 1) || g_rosterSettings.columns.Mode; + let showBands = multiBand || CR.rosterSettings.columns.Band; + let showModes = (Object.keys(rosterSettings.modes).length > 1) || CR.rosterSettings.columns.Mode; columnOverrides.Band = showBands; columnOverrides.Mode = showModes; - const rosterColumns = rosterColumnList(g_rosterSettings.columns, columnOverrides); + const rosterColumns = rosterColumnList(CR.rosterSettings.columns, columnOverrides); - if (g_rosterSettings.compact) + if (CR.rosterSettings.compact) { sortCallList(visibleCallList, "Age", false, rosterColumns); } else { - sortCallList(visibleCallList, g_rosterSettings.sortColumn, g_rosterSettings.sortReverse); + sortCallList(visibleCallList, CR.rosterSettings.sortColumn, CR.rosterSettings.sortReverse); } - let worker = g_rosterSettings.compact ? renderCompactRosterHeaders() : renderNormalRosterHeaders(rosterColumns); + let worker = CR.rosterSettings.compact ? renderCompactRosterHeaders() : renderNormalRosterHeaders(rosterColumns); // Third loop: render all rows for (let x in visibleCallList) @@ -133,9 +133,9 @@ function renderRoster(callRoster, rosterSettings) if (callObj.DEcall.match("^[KNW][0-9][A-W|Y|Z](/w+)?$")) { callObj.style.call = "class='oneByOne'"; } - if (callObj.DEcall == window.opener.g_instances[callObj.instance].status.DXcall) + if (callObj.DEcall == window.opener.GT.instances[callObj.instance].status.DXcall) { - if (window.opener.g_instances[callObj.instance].status.TxEnabled == 1) + if (window.opener.GT.instances[callObj.instance].status.TxEnabled == 1) { callObj.style.call = "class='dxCalling'"; } @@ -145,10 +145,10 @@ function renderRoster(callRoster, rosterSettings) } } - worker += g_rosterSettings.compact ? renderCompactRosterRow(callObj, multiInstance || multiBand) : renderNormalRosterRow(rosterColumns, callObj); + worker += CR.rosterSettings.compact ? renderCompactRosterRow(callObj, multiInstance || multiBand) : renderNormalRosterRow(rosterColumns, callObj); } - worker += g_rosterSettings.compact ? renderCompactRosterFooter() : renderNormalRosterFooter(); + worker += CR.rosterSettings.compact ? renderCompactRosterFooter() : renderNormalRosterFooter(); RosterTable.innerHTML = worker; } diff --git a/package.nw/lib/roster/rosterColumnFunctions.js b/package.nw/lib/roster/rosterColumnFunctions.js index 0603c1f..27522be 100644 --- a/package.nw/lib/roster/rosterColumnFunctions.js +++ b/package.nw/lib/roster/rosterColumnFunctions.js @@ -1,6 +1,6 @@ function rosterColumnList(settings = {}, overrides = {}) { - return g_rosterSettings.columnOrder.filter(column => + return CR.rosterSettings.columnOrder.filter(column => { return column && (settings[column] || overrides[column]) && !(overrides[column] === false) }) @@ -21,9 +21,9 @@ function renderHeaderForColumn(column) attrs.onClick = `setRosterSorting('${column}');` } - if (g_rosterSettings.sortColumn == column) + if (CR.rosterSettings.sortColumn == column) { - attrs.html += "
 " + (g_rosterSettings.sortReverse == false ? "▲" : "▼") + "
"; + attrs.html += "
 " + (CR.rosterSettings.sortReverse == false ? "▲" : "▼") + "
"; } return renderRosterTableHTML("th", attrs) @@ -53,14 +53,14 @@ function renderRosterTableHTML(tag, attrs) function setRosterSorting(column) { - if (g_rosterSettings.sortColumn === column) + if (CR.rosterSettings.sortColumn === column) { - g_rosterSettings.sortReverse = !g_rosterSettings.sortReverse + CR.rosterSettings.sortReverse = !CR.rosterSettings.sortReverse } else { - g_rosterSettings.sortColumn = column - g_rosterSettings.sortReverse = false + CR.rosterSettings.sortColumn = column + CR.rosterSettings.sortReverse = false } writeRosterSettings(); @@ -124,14 +124,14 @@ function validateRosterColumnOrder(columns) function changeRosterColumnOrder(columns) { - g_rosterSettings.columnOrder = validateRosterColumnOrder(columns); + CR.rosterSettings.columnOrder = validateRosterColumnOrder(columns); writeRosterSettings(); window.opener.goProcessRoster(); } function moveColumnLeft(column) { - const columns = rosterColumnList(g_rosterSettings.columns, { Callsign: true, Grid: true }); + const columns = rosterColumnList(CR.rosterSettings.columns, { Callsign: true, Grid: true }); const pos = columns.indexOf(column); if (pos > 1) { diff --git a/package.nw/lib/roster/rosterColumns.js b/package.nw/lib/roster/rosterColumns.js index d81aa45..3837108 100644 --- a/package.nw/lib/roster/rosterColumns.js +++ b/package.nw/lib/roster/rosterColumns.js @@ -60,10 +60,10 @@ const ROSTER_COLUMNS = { align: "left", onClick: `initiateQso("${callObj.hash}")`, rawAttrs: callObj.style.call, - html: html = (callObj.DEcallHTML || callObj.DEcall).formatCallsign() + html: html = formatCallsign((callObj.DEcallHTML || callObj.DEcall)) } - let acks = window.opener.g_acknowledgedCalls || {}; + let acks = window.opener.GT.acknowledgedCalls || {}; if (acks[callObj.DEcall]) { attrs.html = `${attrs.html} ` @@ -77,7 +77,7 @@ const ROSTER_COLUMNS = { Band: { compare: callObjSimpleComparer("band"), tableData: (callObj) => ({ - style: `color: #${window.opener.g_pskColors[callObj.band]};`, + style: `color: #${window.opener.GT.pskColors[callObj.band]};`, html: callObj.band }) }, @@ -85,7 +85,7 @@ const ROSTER_COLUMNS = { Mode: { compare: callObjSimpleComparer("mode"), tableData: (callObj) => ({ - style: `color: #${g_modeColors[callObj.mode] || "888888"};`, + style: `color: #${CR.modeColors[callObj.mode] || "888888"};`, html: callObj.mode }) }, @@ -104,7 +104,7 @@ const ROSTER_COLUMNS = { tableData: (callObj) => ({ rawAttrs: callObj.style.calling, name: callObj.CQ ? "CQ" : "Calling", - html: (g_rosterSettings.wantRRCQ && callObj.RR73) ? "RR73" : callObj.DXcall.formatCallsign() + html: (CR.rosterSettings.wantRRCQ && callObj.RR73) ? "RR73" : formatCallsign(callObj.DXcall) }) }, @@ -116,10 +116,10 @@ const ROSTER_COLUMNS = { DXCC: { compare: (a, b) => window.opener.myDxccCompare(a.callObj, b.callObj), tableData: (callObj) => ({ - title: window.opener.g_dxccInfo[callObj.dxcc].pp, + title: window.opener.GT.dxccInfo[callObj.dxcc].pp, name: `DXCC (${callObj.dxcc})`, rawAttrs: callObj.style.dxcc, - html: (callObj.dxccSuffix ? [window.opener.g_dxccToAltName[callObj.dxcc], callObj.dxccSuffix].join(" ") : window.opener.g_dxccToAltName[callObj.dxcc]) + html: (callObj.dxccSuffix ? [window.opener.GT.dxccToAltName[callObj.dxcc], callObj.dxccSuffix].join(" ") : window.opener.GT.dxccToAltName[callObj.dxcc]) }) }, @@ -128,7 +128,7 @@ const ROSTER_COLUMNS = { tableData: (callObj) => ({ align: "center", style: "margin:0; padding:0;", - html: `` + html: `` }) }, @@ -150,13 +150,13 @@ const ROSTER_COLUMNS = { let attrs = { align: "center", rawAttrs: callObj.style.cnty, - html: callObj.cnty ? window.opener.g_cntyToCounty[callObj.cnty] : " " + html: callObj.cnty ? window.opener.GT.cntyToCounty[callObj.cnty] : " " } if (callObj.cnty && callObj.qual == false) { attrs.title = $.i18n("rosterColumns.County.title") attrs.onClick = `window.opener.lookupCallsign("${callObj.DEcall}", "${callObj.grid}")` - attrs.html = attrs.html + " +" + String(window.opener.g_zipToCounty[callObj.zipcode].length - 1) + attrs.html = attrs.html + " +" + String(window.opener.GT.zipToCounty[callObj.zipcode].length - 1) attrs.style = "cursor: pointer; color: cyan;" } return attrs @@ -243,17 +243,17 @@ const ROSTER_COLUMNS = { compare: false, tableData: (callObj) => { - if (callObj.DEcall in window.opener.g_lotwCallsigns) + if (callObj.DEcall in window.opener.GT.lotwCallsigns) { - if (g_rosterSettings.maxLoTW < 27) + if (CR.rosterSettings.maxLoTW < 27) { - let months = (g_day - window.opener.g_lotwCallsigns[callObj.DEcall]) / 30; - if (months > g_rosterSettings.maxLoTW) + let months = (CR.day - window.opener.GT.lotwCallsigns[callObj.DEcall]) / 30; + if (months > CR.rosterSettings.maxLoTW) { return { style: "color: yellow;", align: "center", - title: `${$.i18n("rosterColumns.LoTW.NoUpdate")} ${Number(months).toYM()}`, + title: `${$.i18n("rosterColumns.LoTW.NoUpdate")} ${toYM(Number(months))}`, html: "?" } } @@ -263,7 +263,7 @@ const ROSTER_COLUMNS = { style: "color: #0F0;", align: "center", title: `${$.i18n("rosterColumns.LoTW.LastUpdate")}${ - window.opener.userDayString(window.opener.g_lotwCallsigns[callObj.DEcall] * 86400000) + window.opener.userDayString(window.opener.GT.lotwCallsigns[callObj.DEcall] * 86400000) }`, html: "✔" } @@ -275,7 +275,7 @@ const ROSTER_COLUMNS = { style: "color: #0F0;", align: "center", title: `${$.i18n("rosterColumns.LoTW.LastUpdate")}${ - window.opener.userDayString(window.opener.g_lotwCallsigns[callObj.DEcall] * 86400000) + window.opener.userDayString(window.opener.GT.lotwCallsigns[callObj.DEcall] * 86400000) }`, html: "✔" } @@ -295,7 +295,7 @@ const ROSTER_COLUMNS = { tableData: (callObj) => ({ style: "color: #0F0;", align: "center", - html: (callObj.DEcall in window.opener.g_eqslCallsigns ? "✔" : " ") + html: (callObj.DEcall in window.opener.GT.eqslCallsigns ? "✔" : " ") }) }, @@ -304,7 +304,7 @@ const ROSTER_COLUMNS = { tableData: (callObj) => ({ style: "color: #0F0;", align: "center", - html: (callObj.DEcall in window.opener.g_oqrsCallsigns ? "✔" : " ") + html: (callObj.DEcall in window.opener.GT.oqrsCallsigns ? "✔" : " ") }) }, @@ -314,7 +314,7 @@ const ROSTER_COLUMNS = { style: "color: #EEE;", class: "lifeCol", id: `lm${callObj.hash}`, - html: (timeNowSec() - callObj.life).toDHMS() + html: toDHMS(timeNowSec() - callObj.life) }) }, @@ -359,14 +359,14 @@ const ROSTER_COLUMNS = { style: "color: #EEE;", class: "timeCol", id: `tm${callObj.hash}`, - html: (timeNowSec() - callObj.age).toDHMS() + html: toDHMS(timeNowSec() - callObj.age) }) }, Spot: { compare: (a, b) => { - let cutoff = timeNowSec() - window.opener.g_receptionSettings.viewHistoryTimeSec; + let cutoff = timeNowSec() - window.opener.GT.receptionSettings.viewHistoryTimeSec; if (a.callObj.spot.when <= cutoff) return -1; if (b.callObj.spot.when <= cutoff) return 1; @@ -426,9 +426,9 @@ function potaColumnHover(callObj) { let value = ""; - if (callObj.pota in window.opener.g_pota.parks) + if (callObj.pota in window.opener.GT.pota.parks) { - value += callObj.pota + " - " + window.opener.g_pota.parks[callObj.pota].name + "\n"; + value += callObj.pota + " - " + window.opener.GT.pota.parks[callObj.pota].name + "\n"; } return value; diff --git a/package.nw/lib/roster/sendAlerts.js b/package.nw/lib/roster/sendAlerts.js index 9f532a2..0d77830 100644 --- a/package.nw/lib/roster/sendAlerts.js +++ b/package.nw/lib/roster/sendAlerts.js @@ -1,36 +1,36 @@ function sendAlerts(callRoster, rosterSettings) { - var dirPath = window.opener.g_scriptDir; - var scriptExists = false; - var script = "cr-alert.sh"; + let dirPath = window.opener.GT.scriptDir; + let scriptExists = false; + let script = "cr-alert.sh"; - var shouldAlert = 0; + let shouldAlert = 0; - for (entry in callRoster) + for (const entry in callRoster) { - var callObj = callRoster[entry].callObj; + let callObj = callRoster[entry].callObj; // chrbayer: what does the tx field mean? no alerts are generated (at all) if this is in place... // if it's "not visible in the roster, don't put it in the report!" if (callRoster[entry].tx == false) continue; - var call = callObj.DEcall; - g_scriptReport[call] = Object.assign({}, callObj); - g_scriptReport[call].dxccName = window.opener.g_dxccToAltName[callObj.dxcc]; - g_scriptReport[call].distance = (callObj.distance > 0) ? parseInt(callObj.distance * MyCircle.validateRadius(window.opener.distanceUnit.value)) : 0; + let call = callObj.DEcall; + CR.scriptReport[call] = Object.assign({}, callObj); + CR.scriptReport[call].dxccName = window.opener.GT.dxccToAltName[callObj.dxcc]; + CR.scriptReport[call].distance = (callObj.distance > 0) ? parseInt(callObj.distance * MyCircle.validateRadius(window.opener.distanceUnit.value)) : 0; - delete g_scriptReport[call].DEcall; - g_scriptReport[call].rect = null; - delete g_scriptReport[call].rect; - delete g_scriptReport[call].style; - delete g_scriptReport[call].wspr; - delete g_scriptReport[call].qso; - delete g_scriptReport[call].instance; + delete CR.scriptReport[call].DEcall; + CR.scriptReport[call].rect = null; + delete CR.scriptReport[call].rect; + delete CR.scriptReport[call].style; + delete CR.scriptReport[call].wspr; + delete CR.scriptReport[call].qso; + delete CR.scriptReport[call].instance; if (rosterSettings.callMode != "all") { - g_scriptReport[call].shouldAlert = true; - g_scriptReport[call].reason.push(g_rosterSettings.hunting); + CR.scriptReport[call].shouldAlert = true; + CR.scriptReport[call].reason.push(CR.rosterSettings.hunting); } if (callObj.alerted == false && rosterSettings.callMode == "all" && callObj.shouldAlert == true) @@ -52,7 +52,7 @@ function sendAlerts(callRoster, rosterSettings) { if (fs.existsSync(dirPath)) { - if (window.opener.g_platform == "windows") + if (window.opener.GT.platform == "windows") { script = "cr-alert.bat"; } @@ -61,7 +61,7 @@ function sendAlerts(callRoster, rosterSettings) scriptExists = true; scriptIcon.innerHTML = "
" + - (window.opener.g_crScript == 1 + (window.opener.GT.crScript == 1 ? `${$.i18n("sendAlerts.scriptEnabled")}` : `${$.i18n("sendAlerts.scriptDisabled")}`) + "
"; @@ -77,12 +77,12 @@ function sendAlerts(callRoster, rosterSettings) if (shouldAlert > 0) { - if (window.opener.g_classicAlerts.huntRoster == true) + if (window.opener.GT.classicAlerts.huntRoster == true) { - var notify = window.opener.huntRosterNotify.value; + let notify = window.opener.huntRosterNotify.value; if (notify == "0") { - var media = window.opener.huntRosterNotifyMedia.value; + let media = window.opener.huntRosterNotifyMedia.value; if (media != "none") window.opener.playAlertMediaFile(media); } else if (notify == "1") @@ -91,15 +91,15 @@ function sendAlerts(callRoster, rosterSettings) } } - if (scriptExists && window.opener.g_crScript == 1) + if (scriptExists && window.opener.GT.crScript == 1) { try { - fs.writeFileSync(dirPath + "cr-alert.json", JSON.stringify(g_scriptReport, null, 2)); + fs.writeFileSync(dirPath + "cr-alert.json", JSON.stringify(CR.scriptReport, null, 2)); - var thisProc = dirPath + script; - var cp = require("child_process"); - var child = cp.spawn(thisProc, [], { + let thisProc = dirPath + script; + let cp = require("child_process"); + let child = cp.spawn(thisProc, [], { detached: true, cwd: dirPath.slice(0, -1), stdio: ["ignore", "ignore", "ignore"] @@ -110,8 +110,8 @@ function sendAlerts(callRoster, rosterSettings) { conosle.log(e); } - g_scriptReport = Object(); + CR.scriptReport = Object(); } - else g_scriptReport = Object(); + else CR.scriptReport = Object(); } } diff --git a/package.nw/lib/screens.js b/package.nw/lib/screens.js index a125194..51aaace 100644 --- a/package.nw/lib/screens.js +++ b/package.nw/lib/screens.js @@ -1,5 +1,12 @@ const nodeTimers = require("timers"); +// GridTracker object +var GT = {}; +// CallRoster object +var CR = {}; + +var isShowing = false; + var s_title = null; var s_screenSettings = {}; var s_zoomLevel = 0; @@ -71,7 +78,7 @@ function saveScreenSettings() { setWindowInfo(); - var setting = { showing: g_isShowing, zoomLevel: s_zoomLevel, window: g_windowInfo }; + var setting = { showing: isShowing, zoomLevel: s_zoomLevel, window: g_windowInfo }; s_screenSettings = JSON.parse(localStorage.screenSettings); @@ -83,14 +90,12 @@ function saveScreenSettings() nw.Screen.on("displayAdded", screenCB.onDisplayAdded); nw.Screen.on("displayRemoved", screenCB.onDisplayRemoved); -var g_isShowing = false; - nw.Window.get().on("loaded", function () { // Use the first 12 bytes of the title(trimmed) as storage names // This cannot be changed as current installs (12,000+) use this naming convention s_title = document.title.substr(0, 12).trim(); - g_isShowing = false; + isShowing = false; if (typeof localStorage.screenSettings == "undefined") { localStorage.screenSettings = "{}"; @@ -109,7 +114,7 @@ nw.Window.get().on("loaded", function () { saveScreenSettings(); } - g_isShowing = s_screenSettings[s_title].showing; + isShowing = s_screenSettings[s_title].showing; nw.Window.get().zoomLevel = s_zoomLevel = s_screenSettings[s_title].zoomLevel; g_windowInfo = s_screenSettings[s_title].window; @@ -122,7 +127,7 @@ nw.Window.get().on("loaded", function () // Check the first part of the string, only one window has "GridTracker" in the name. // It is reserved to the main app window. - if (g_isShowing || s_title.indexOf("GridTracker") == 0) + if (isShowing || s_title.indexOf("GridTracker") == 0) { this.show(); } diff --git a/package.nw/lib/services/pstrotator.js b/package.nw/lib/services/pstrotator.js index 26e8bd0..d61f686 100644 --- a/package.nw/lib/services/pstrotator.js +++ b/package.nw/lib/services/pstrotator.js @@ -8,23 +8,23 @@ * https://groups.io/g/PstRotator/message/5825 * */ -var g_pstrotatorSettings = {}; +GT.pstrotatorSettings = {}; function pstrotatorServiceChanged() { - if (g_pstrotatorSettings.enabled != pstrotatorCheckBox.checked) + if (GT.pstrotatorSettings.enabled != pstrotatorCheckBox.checked) { // This setting toggles the presence of a contextual menu item in the roster, // which is constructed only during roster initialization. // // So when this setting is changed, we need to reload the entire roster window. // - g_pstrotatorSettings.enable = pstrotatorCheckBox.checked; - if (g_rosterInitialized) + GT.pstrotatorSettings.enable = pstrotatorCheckBox.checked; + if (GT.rosterInitialized) { try { - g_callRosterWindowHandle.window.location.reload(); + GT.callRosterWindowHandle.window.location.reload(); } catch (e) { @@ -33,8 +33,8 @@ function pstrotatorServiceChanged() } } - g_pstrotatorSettings.ip = pstrotatorIpInput.value; - g_pstrotatorSettings.port = pstrotatorPortInput.value; + GT.pstrotatorSettings.ip = pstrotatorIpInput.value; + GT.pstrotatorSettings.port = pstrotatorPortInput.value; saveLogSettings(); } @@ -44,9 +44,9 @@ function aimRotator(info) const { callObj } = info if ( - g_pstrotatorSettings.enable == true && - g_pstrotatorSettings.port > 0 && - g_pstrotatorSettings.ip.length > 4 && + GT.pstrotatorSettings.enable == true && + GT.pstrotatorSettings.port > 0 && + GT.pstrotatorSettings.ip.length > 4 && (callObj.distance > 0) ) { @@ -58,8 +58,8 @@ function aimRotator(info) sendUdpMessage( payload, payload.length, - parseInt(g_pstrotatorSettings.port), - g_pstrotatorSettings.ip + parseInt(GT.pstrotatorSettings.port), + GT.pstrotatorSettings.ip ); if (callObj.DEcall) { diff --git a/package.nw/lib/shadow.js b/package.nw/lib/shadow.js index 8c37cd3..559b4f3 100644 --- a/package.nw/lib/shadow.js +++ b/package.nw/lib/shadow.js @@ -292,7 +292,7 @@ var dayNight = { }), stroke: null }), - opacity: Number(g_mapSettings.shadow), + opacity: Number(GT.mapSettings.shadow), zIndex: 0 }); this.map.getLayers().insertAt(1, this.vectorLayer); @@ -305,7 +305,7 @@ var dayNight = { }) }); this.vectorLayer.setStyle(circleStyle); - this.vectorLayer.setOpacity(Number(g_mapSettings.shadow)); + this.vectorLayer.setOpacity(Number(GT.mapSettings.shadow)); this.vectorSource.clear(); this.vectorSource.addFeature( @@ -313,7 +313,7 @@ var dayNight = { featureProjection: "EPSG:3857" }) ); - var point = ol.proj.fromLonLat([g_myLon, g_myLat]); + var point = ol.proj.fromLonLat([GT.myLon, GT.myLat]); var arr = this.vectorSource.getFeaturesAtCoordinate(point); return arr.length > 0; }, @@ -422,10 +422,10 @@ var moonLayer = { refresh: function () { this.vectorSource.clear(); - if (g_appSettings.moonTrack == 1) + if (GT.appSettings.moonTrack == 1) { now = timeNowSec(); - if (g_appSettings.moonPath == 1) + if (GT.appSettings.moonPath == 1) { this.vectorSource.addFeature(this.future(now)); } this.pin = iconFeature( ol.proj.fromLonLat(subLunar(now).ll), diff --git a/package.nw/lib/stats.js b/package.nw/lib/stats.js index 672bb3c..9981ccb 100644 --- a/package.nw/lib/stats.js +++ b/package.nw/lib/stats.js @@ -136,9 +136,9 @@ function addTextToClipboard(data) function setClipboardFromLookup() { - if (window.opener.g_lastLookupAddress) + if (window.opener.GT.lastLookupAddress) { - addTextToClipboard(window.opener.g_lastLookupAddress); + addTextToClipboard(window.opener.GT.lastLookupAddress); } } diff --git a/package.nw/lib/third-party.js b/package.nw/lib/third-party.js index 95407ab..106e498 100644 --- a/package.nw/lib/third-party.js +++ b/package.nw/lib/third-party.js @@ -297,10 +297,10 @@ function flightFeature(line, opts, layer, canAnimate) { var dash = []; var dashOff = 0; - if ( canAnimate == true && g_mapSettings.animate == true ) + if ( canAnimate == true && GT.mapSettings.animate == true ) { - dash = g_flightPathLineDash; - dashOff = g_flightPathTotal - g_flightPathOffset; + dash = GT.flightPathLineDash; + dashOff = GT.flightPathTotal - GT.flightPathOffset; } var featureArrow = new ol.Feature(new ol.geom.Point(line[0])); @@ -324,8 +324,8 @@ function flightFeature(line, opts, layer, canAnimate) { featureArrow.setStyle(thisStle); feature.Arrow = featureArrow; - g_layerSources[layer].addFeature(featureArrow); - g_layerSources[layer].addFeature(feature); + GT.layerSources[layer].addFeature(featureArrow); + GT.layerSources[layer].addFeature(feature); return feature; }
ITU Zones