-
Notifications
You must be signed in to change notification settings - Fork 0
/
functions.min.js
9 lines (9 loc) · 88.8 KB
/
functions.min.js
1
2
3
4
5
6
7
8
9
/*
* Project: RXX - NDB Logging Database
* Homepage: https://rxx.classaxe.com
* Version: 2.57.4
* Date: 2023-07-31
* Licence: LGPL
* Copyright: 2023 Martin Francis
*/
var gridColor="#808080",gridOpacity=.5,highlight,layers={grid:[]},map,markers=[],all_sections=[],award={},cart=[],popWinSpecs={"countries_*":"width=860,height=630,resizable=1",countries_af:"width=640,height=630,resizable=1",countries_as:"width=780,height=590,resizable=1",countries_eu:"width=680,height=590,resizable=1",countries_na:"width=640,height=220,resizable=1",countries_oc:"width=680,height=500,resizable=1",countries_sa:"width=320,height=600,resizable=1","listeners_[id]":"width=1120,height=760,status=1,scrollbars=1,resizable=1","listeners_[id]_logs":"width=1120,height=760,status=1,scrollbars=1,resizable=1","listeners_[id]_logsessions":"width=1120,height=760,status=1,scrollbars=1,resizable=1","listeners_[id]_upload":"width=1120,height=760,status=1,scrollbars=1,resizable=1","listeners_[id]_signals":"width=1120,height=760,status=1,scrollbars=1,resizable=1","listeners_[id]_map":"width=1120,height=760,status=1,scrollbars=1,resizable=1","listeners_[id]_locatormap":"width=1120,height=800,status=1,scrollbars=1,resizable=1","listeners_[id]_remotelogs":"width=1120,height=760,status=1,scrollbars=1,resizable=1","listeners_[id]_remotelogsessions":"width=1120,height=760,status=1,scrollbars=1,resizable=1","[id]_signals_map":"width=1120,height=760,status=1,scrollbars=1,resizable=1","listeners_[id]_ndbweblog":"status=1,scrollbars=1,resizable=1","logs_[id]":"width=640,height=620,status=1,scrollbars=1,resizable=1","logsessions_[id]":"width=1120,height=620,status=1,scrollbars=1,resizable=1","logsessions_[id]_logs":"width=1120,height=620,status=1,scrollbars=1,resizable=1","logsessions_[id]_signals":"width=1120,height=620,status=1,scrollbars=1,resizable=1",maps_af:"width=646,height=652,resizable=1",maps_alaska:"width=600,height=620,resizable=1",maps_as:"width=856,height=645,resizable=1",maps_au:"width=511,height=545,resizable=1",maps_eu:"width=704,height=760,resizable=1",maps_japan:"width=517,height=740,resizable=1",maps_na:"width=669,height=720,resizable=1",maps_pacific:"width=600,height=750,resizable=1",maps_polynesia:"width=500,height=525,resizable=1",maps_sa:"width=490,height=745,resizable=1",signals_new:"width=820,height=400,status=1,scrollbars=1,resizable=1","signals_[id]":"width=1040,height=800,status=1,scrollbars=1,resizable=1","signals_[id]_logs":"width=1040,height=800,status=1,scrollbars=1,resizable=1","signals_[id]_listeners":"width=1040,height=800,status=1,scrollbars=1,resizable=1","signals_[id]_map":"width=1040,height=800,status=1,scrollbars=1,resizable=1","signals_[id]_weather":"width=1040,height=800,status=1,scrollbars=1,resizable=1","states_*":"width=720,height=780,resizable=1",states_aus:"width=720,height=240,resizable=1",states_can_usa:"width=680,height=710,resizable=1",tools_coordinates:"width=900,height=195,resizable=1",tools_dgps:"width=720,height=345,resizable=1",tools_navtex:"width=420,height=580,resizable=1",tools_negativeKeyer:"width=800,height=560,resizable=1",tools_references:"width=520,height=130,resizable=1",tools_sunrise:"width=520,height=385,resizable=1","users_[id]":"width=1120,height=620,status=1,scrollbars=1,resizable=1",users_new:"width=1120,height=620,status=1,scrollbars=1,resizable=1","users_[id]_logsessions":"width=1120,height=620,status=1,scrollbars=1,resizable=1",weather_aurora_n:"width=520,height=580,resizable=1",weather_aurora_s:"width=520,height=580,resizable=1",weather_lightning:"width=620,height=620,resizable=1"},awards={all_sections:[],init:function(e){var t,s;for(t in awards.all_sections=e,awards.all_sections)s=awards.all_sections[t],$("#toggle_"+s).css({cursor:"pointer"}).prop("title",msg.show_hide).click(function(){$("#"+this.id.replace("toggle_","")).toggle(),$(this).find("span").toggle()}).find("span").css({"font-size":"120%"});$("#all_0").click(function(){return awards.toggleSections(0),!1}),$("#all_1").click(function(){return awards.toggleSections(1),!1}),$("#form_email").change(function(){isValidEmail($("#form_email").val())?$("#form_submit").removeAttr("disabled"):$("#form_submit").attr("disabled","disabled")}),$("#form_done").click(function(){location.replace(location.protocol+"//"+location.host+location.pathname)}),$("#form_body").val(msg.cart_none),$(".cart").each(function(){$(this).html('<span><img src="'+base_image+'/icon_cart.gif" alt="'+msg.no+'" title=""/><img style="display: none" src="'+base_image+'/icon_cart_added.gif" alt="'+msg.yes+'" /></span>')}),$(".cart span").click(function(){var e=$(this).parent(),t=e.attr("id");awards.toggleAward(t),e.find("img").toggle()}),$("#form_submit").click(function(){var e=msg.cart_conf_1+"\n"+msg.cart_conf_2+"\n\n"+msg.cart_conf_3+"\n"+msg.cart_conf_4;if(!confirm(e))return alert(msg.cancelled),!1})},toggleAward:function(e){var s,t,o,i;if(-1===(o=$.inArray(e,cart))?cart.push(e):cart.splice(o,1),cart=cart.sort(),i=msg.cart_none,cart.length){for(t in s=[],cart)s.push(cart[t].split("-")[0]);s=$.grep(s,function(e,t){return $.inArray(e,s)===t}),i=msg.cart_1+"\n"+msg.cart_2.padEnd(8," ")+award.admin+"\n"+msg.cart_3.padEnd(8," ")+award.from+"\n"+msg.cart_4.padEnd(8," ")+award.url+"/"+s.join(",")+"\n\n"+msg.cart_5+"\n"+msg.cart_6+"\n\n * "+cart.join("\n * ")+"\n\n"+msg.cart_7+"\n"+award.name}$("#form_awards").val(cart.join(",")),$("#form_filter").val(s.join(",")),$("#form_body").val(i),cart.length&&isValidEmail($("#form_email").val())?$("#form_submit").removeAttr("disabled"):$("#form_submit").attr("disabled","disabled")},toggleSections:function(e){var t,s,o;for(t in awards.all_sections)s=$("#"+awards.all_sections[t]),o=$("#toggle_"+awards.all_sections[t]),e?(s.show(),o.find("span:eq(0)").hide(),o.find("span:eq(1)").show()):(s.hide(),$sectionToggle.find("span:eq(0)").show(),o.find("span:eq(1)").hide())}},cle={init:function(){$("#toggle_editor").css({cursor:"pointer"}).prop("title",msg.show_hide).click(function(){$("#"+this.id.replace("toggle_","")).toggle(),$(this).find("span").toggle()}).find("span").css({"font-size":"120%"}),$.datepicker.setDefaults({changeMonth:!0,changeYear:!0,dateFormat:"yy-mm-dd",yearRange:"2010:+1"}),$(".js-datepicker").datepicker({}),tinymce.init({selector:"textarea",height:150,menubar:!1,plugins:["advlist autolink lists link image charmap print preview anchor textcolor colorpicker","searchreplace visualblocks code fullscreen","insertdatetime media table contextmenu paste code wordcount"],toolbar:"insert | undo redo | formatselect | bold italic forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | code | help"}),$('td input[type="checkbox"]').click(function(){var t=[],e=$(this).parent().parent().find("input:hidden");$(this).parent().parent().find("input:checkbox:checked").each(function(){var e="type_"+$(this).parent().prop("className").split("_")[1].toUpperCase()+"=1";t.push(e)}),e.val(t.join("&"))}),cle.setTypes(),setExternalLinks()},setTypes:function(){var e,t,s,o;for(e in t=["#form_worldRange1Type","#form_worldRange2Type","#form_europeRange1Type","#form_europeRange2Type"])void 0!==(o=$(t[e]).val())&&(s=o.split("&"),$(t[e]).parent().find("input:checkbox").each(function(){var e,t;for($(this).prop("checked",!1),e=0;e<s.length;e++)t="type_"+s[e].split("_")[1].split("=")[0].toLowerCase(),$(this).parent().prop("className")===t&&$(this).prop("checked","checked")}))},checkCleActive:function(e){var t,s,o,i;(i=new Date)>=e.start&&i<=e.end?($(".cle").show(),t=e.end-i,o="(Ends in "+(0<(s=Math.floor(t/864e5))?s+" days, ":"")+Math.floor(t%864e5/36e5)+" hrs and "+Math.floor(t%864e5%36e5/6e4)+" mins<sup>*</sup>)",$("#cleEnds").html(o)):$(".cle").hide(),setTimeout(function(){cle.checkCleActive(e)},5e3)}},COMMON_FORM={setCountryAction:function(e){(e=void 0===e||e)?$("select#form_country").change(function(){formSubmit()}):$("select#form_country").off("change")},setDatePickerActions:function(){$.datepicker.setDefaults({changeMonth:!0,changeYear:!0,dateFormat:"yy-mm-dd",yearRange:"1970:+0"}),$(".js-datepicker").datepicker({})},initListenersSelector:function(e,t,s,o,i){var n,a,r,l,c;for(a in c=(n=$("#"+e)).val(),r='<select id="'+e+'" name="'+t+'"'+(s?' required="required"':"")+" "+("number"==typeof i?' size="'+i+'"':"")+">\n",s||(r+="<option"+(""===c?' selected="selected"':"")+' style="font-weight: bold;color:red;text-align:center">(Only choose an operator with Multi-Op locations - e.g. Kiwi)</option>'),o)r+="<option value='"+(l=o[a].split("|"))[0]+"' data-gsq='"+l[4]+"' data-tz='"+l[9]+"' class='"+("Y"===l[5]?"primaryQth":"secondaryQth")+"'"+(l[0]===c?" selected='selected'":"")+">"+pad(l[2]+" ["+l[0]+"] "+l[6],"Y"===l[5]?55:53," ")+(l[7]?" "+l[7]:" ")+" "+l[8]+"</option>";r+="</select>",n.replaceWith(r),$("#form_listenerId").on("change",function(){LOG_EDIT.getDx(),LOG_EDIT.getDaytime()})},initSignalsSelector:function(e){var t,s,o,i,n;for(s in n=(t=$("#form_signalId")).val(),o='<select id="form_signalId" name="form[signalId]" required="required" size="10">\n',e)o+="<option value='"+(i=e[s].split("|"))[0]+"'"+("0"===i[5]?" title='"+msg.inactive+"'":"")+" class='type_"+i[3]+("0"===i[5]?" inactive":"")+"' data-gsq='"+i[4]+"'"+(i[0]===n?" selected='selected'":"")+">"+pad(parseFloat(i[2]),10," ")+pad(i[1],10," ")+pad(i[6],41," ")+pad(i[7],3," ")+i[8]+" </option>";o+="</select>",t.replaceWith(o),$("#form_signalId").on("change",function(){LOG_EDIT.getDx()})},initTimeControl:function(){element=$("#form_time"),element.on("change",function(){LOG_EDIT.getDaytime()})},setPagingStatus:function(e,t){$("#form_paging_status").html(e.replace("%s",t.toLocaleString()))},setCleHideShowActions:function(){COMMON_FORM.setSectionToggleWithCookie("section_clebanner")},setCreditsHideShowActions:function(){COMMON_FORM.setSectionToggleWithCookie("section_credits")},setTipsHideShowActions:function(){COMMON_FORM.setSectionToggleWithCookie("section_tips")},setLogSessionLogsActions:function(){COMMON_FORM.setSectionToggleWithCookie("section_logsessionlogs")},setPagingControls:function(){var e=$("#form_filter"),t=$("#form_prev"),s=$("#form_next"),n=$("#form_prevbottom"),a=$("#form_nextbottom"),o=$("#form_limit"),r=$("#form_page");o.length&&(o[0].outerHTML='<select id="form_limit" name="form[limit]" required="required">'+getLimitOptions(paging.total,o.val(),paging.limit)+"</select>",o=$("#form_limit")),r.length&&(r[0].outerHTML='<label class="sr-only" for="form_page">Page Control</label>\n<select id="form_page" name="form[page]" style="display:none">'+getPagingOptions(paging.total,o.val(),paging.page)+"</select>",r=$("#form_page"));var i=$("#form_page option");"-1"!==o.val()&&(t.show(),s.show(),r.show(),n.length&&(n.show(),a.show())),o.change(function(){var e=$('form[name="form"]'),t=$("#form_limit"),s=$("#form_page option"),o=$("#form_prev"),i=$("#form_next");s.eq(0).prop("selected",!0),r.prop("selectedIndex",0),"-1"!==t.val()?(o.show(),i.show(),r.show(),s.eq(0).prop("text","1-"+t.val()),o.prop("disabled","disabled"),i.prop("disabled","disabled"),n.length&&(n.prop("disabled","disabled"),a.prop("disabled","disabled"),n.show(),a.show())):(r.hide(),o.hide(),i.hide(),n.length&&(n.hide(),a.hide())),r.prop("selectedIndex",0),e.submit()}),0<paging.page?(t.prop("disabled",!1),t.click(function(){var e=$('form[name="form"]'),t=$("#form_page"),s=$("#form_page option"),o=$("#form_prev"),i=$("#form_next"),n=$("#form_prevbottom"),a=$("#form_nextbottom");return o.prop("disabled","disabled"),i.prop("disabled","disabled"),s.eq(paging.page-1).prop("selected",!0),t.prop("selectedIndex",paging.page-1),n.length&&(n.prop("disabled","disabled"),a.prop("disabled","disabled")),e.submit(),!1})):(t.prop("disabled","disabled"),n.length&&n.prop("disabled","disabled")),paging.page+1<i.length?(s.prop("disabled",!1),a.prop("disabled",!1),s.click(function(){var e=$('form[name="form"]'),t=$("#form_page"),s=$("#form_page option"),o=$("#form_prev"),i=$("#form_next"),n=$("#form_prevbottom"),a=$("#form_nextbottom");return o.prop("disabled","disabled"),i.prop("disabled","disabled"),s.eq(paging.page+1).prop("selected",!0),t.prop("selectedIndex",paging.page+1),n.length&&(n.prop("disabled","disabled"),a.prop("disabled","disabled")),e.submit(),!1})):(s.prop("disabled","disabled"),n.length&&a.prop("disabled","disabled")),r.change(function(){var e=$('form[name="form"]'),t=$("#form_prev"),s=$("#form_next"),o=$("#form_prev"),i=$("#form_next");t.prop("disabled","disabled"),s.prop("disabled","disabled"),o.length&&(o.prop("disabled","disabled"),i.prop("disabled","disabled")),e.submit()}),e.change(function(){var e=$('form[name="form"]'),t=$("#form_page"),s=$("#form_page option"),o=$("#form_prev"),i=$("#form_next"),n=$("#form_prevbottom"),a=$("#form_nextbottom");s.eq(0).prop("selected",!0),t.prop("selectedIndex",0),o.prop("disabled","disabled"),i.prop("disabled","disabled"),n.length&&(n.prop("disabled","disabled"),a.prop("disabled","disabled")),e.submit()})},setRegionAction:function(e){(e=void 0===e||e)?$("select#form_region").change(function(){formSubmit()}):$("select#form_region").off("change")},setSectionToggleWithCookie:function(e){var t=$("#"+e),s=$("#"+e+"_hide"),o=$("#"+e+"_show");o.on("click",function(){COOKIE.set(e+"_hide","no"),$("#"+e).show(),$("#"+e+"_hide").show(),$(this).hide(),$(window).trigger("resize")}),s.on("click",function(){COOKIE.set(e+"_hide","yes"),$("#"+e).hide(),$("#"+e+"_show").show(),$(this).hide(),$(window).trigger("resize")}),"yes"===COOKIE.get(e+"_hide")?(t.hide(),s.hide(),o.show()):(t.show(),s.show(),o.hide())},setStatusDefault:function(){0===$("fieldset#form_status div :checkbox:checked").length&&$("fieldset#form_status div :checkbox[value=1]").prop("checked",!0)},setTypesAllAction:function(){$("fieldset#form_type div :checkbox[value=ALL]").click(function(){$("fieldset#form_type div :checkbox").prop("checked",$(this).prop("checked"))})},setTypesSubmitAction:function(){$("fieldset#form_type div :checkbox").click(function(){$("form").submit()})},setTypesDefault:function(){0===$("fieldset#form_type div :checkbox:checked").length&&$("fieldset#form_type div :checkbox[value=NDB]").prop("checked",!0)},setTypesStyles:function(){$("fieldset#form_type div input").each(function(){$(this).parent().attr("class","type_"+$(this).attr("class"))})}};function changeShowMode(e){$("#form_show").val(e),formSubmit()}function decodeHtmlEntities(e){return $("<div/>").html(e).text()}function encodeMorse(e){var t,s,o,i,n,a;for(s={Ch:"ч",Sh:"ш",Ya:"я",Yu:"ю"},i={0:"-----",1:".----",2:"..---",3:"...--",4:"....-",5:".....",6:"-....",7:"--...",8:"---..",9:"----.",a:".-",b:"-...",c:"-.-.",d:"-..",e:".",f:"..-.",g:"--.",h:"....",i:"..",j:".---",k:"-.-",l:".-..",m:"--",n:"-.",o:"---",p:".--.",q:"--.-",r:".-.",s:"...",t:"-",u:"..-",v:"...-",w:".--",x:"-..-",y:"-.--",z:"--..",".":".-.-.-",",":"--..--","?":"..--..","!":"-.-.--","-":"-....-","/":"-..-.","@":".--.-.","(":"-.--.",")":"-.--.-"," ":" ","ч":"---.","ш":"----","я":".-.-","ю":"..--"},a=new RegExp(Object.keys(s).join("|"),"gi"),t=(e=e.replace(a,function(e){return s[e]})).toLowerCase().split(""),n=[],o=0;o<t.length;o++)n.push(void 0!==i[t[o]]?i[t[o]]:"?");return n.join("/")}function getMetar(e){window.open("https://www.aviationweather.gov/metar/data?ids="+$("#form_icao").val()+"&format="+(e?"decoded":"raw")+"&taf=on&layout=off&hours="+$("#form_hours").val(),"popMETAR"+e,"scrollbars=1,resizable=1,location=1")}function isValidEmail(e){return/^([\w-.]+@([\w-]+\.)+[\w-]{2,4})?$/.test(e)}function popup(e){var t,s,o,i,n,a,r=[];for(a=e.split("/").reverse(),s=0;s<=2;s++)$.isNumeric(a[s])?(o=a[s],r.push("[id]")):r.push(a[s]);return-1!==["rna","reu","rww"].indexOf(r[2])&&r.pop(),r.reverse(),i=r.join("_").replace(",","_").split("?")[0],void 0===popWinSpecs[i]?(alert("Unhandled mode "+i),!1):(n=i.replace("[id]",o),(t=window.open(e,n,popWinSpecs[i]))?t.focus():alert("ERROR:\n\nThis site tried to open a popup window\nbut was prevented from doing so.\n\nPlease disable any popup blockers you may\nhave enabled for this site."),!1)}function scrollToResults(){""!==$("#form_show").val()&&$([document.documentElement,document.body]).animate({scrollTop:$("#tabs").offset().top-20},500)}function setClippedCellTitles(){$("td.clipped").each(function(){$(this).attr("title",$(this).text().trim())})}function setColumnSortActions(){$("table.results thead tr th[id]").each(function(){$(this).click(function(){var e=this.id.split("|")[0],t=this.id.split("|")[1],s=$("#form_order");$(this).hasClass("sorted")&&(t="a"===s.val()?"d":"a"),$("#form_sort").val(e),s.val(t),$('form[name="form"]').submit()})})}function setColumnSortedClass(){$("table.results thead tr th").each(function(){this.id.split("|")[0]===$("#form_sort").val()&&($(this).append("d"===$("#form_order").val()?" ▾":" ▴"),$(this).addClass("sorted"))})}function setEmailLinks(){$("a[data-contact]").each(function(){var e=$(this).attr("data-contact").split("").reverse().join("").trim().replace("#","@");$(this).attr("href",e),$(this).removeAttr("data-contact")})}function setEqualHeight(e,t){if(!$(e).height())return window.setTimeout(function(){setEqualHeight(e,t)},100);$(t).height($(e).height()),$(t).show(),$(t).height($(e).height())}function setExternalLinks(){$('a[rel="external"]').attr("target","_blank"),$("a[data-popup]").click(function(){if(1===$(this).data("popup"))return popup(this.href);var e=$(this).data("popup").split("|");return window.open(this.href,e[0],e[1]),!1}),$("a[data-append]").click(function(){var t,e,s,o;return t=$(this).find("span").html(),e="itu"===$(this).data("append")?"#form_countries":"#form_states",o=(s=window.opener.$(e)).val().split(" "),-1!==$.inArray(t,o)?o=o.filter(function(e){return e!==t}):o.push(t),s.val(Array.from(new Set(o)).sort().join(" ").trim()),!1}).attr("title",msg.data_append),$("a[data-set]").click(function(){var e,t,s,o;switch(e=$(this).text(),$(this).data("set")){case"khz":t=["#form_khz_1","#form_khz_2"];break;case"itu":t=["#form_countries"];break;case"sp":t=["#form_states"]}for(o in t)(s=$(t[o])).val()===e?s.val(""):s.val(e);return $('form[name="form"]').submit(),!1}).attr("title",msg.data_set),$("a.close").click(function(){$(this).parent().hide()}),$("a[data-gsq]").click(function(){var e="map_"+$(this).data("gsq");return window.open(this.href,e,"scrollbars=1,resizable=1,width=1024,height=800"),!1}).each(function(){$(this).attr("href","./signals/"+$(this).data("gsq")+"/map")}).attr("title",msg.s_map_eu).attr("class","hover"),$("a[data-signal-map-eu]").click(function(){var e="map_"+$(this).data("signal-map-eu");return window.open(this.href,e,"scrollbars=1,resizable=1,width=1040,height=800"),!1}).each(function(){$(this).attr("href","./signals/"+$(this).data("signal-map-eu")+"/map/eu")}).attr("title",msg.s_map_eu).attr("class","hover"),$("a[data-signal-map-na]").click(function(){var e="map_"+$(this).data("signal-map-na");return window.open(this.href,e,"scrollbars=1,resizable=1,width=1040,height=800"),!1}).each(function(){$(this).attr("href","./signals/"+$(this).data("signal-map-na")+"/map/na")}).attr("title",msg.s_map_na).attr("class","hover")}function copyToClipboard(e){var t=$("<textarea>");$("body").append(t),t.val(e).select(),document.execCommand("copy"),t.remove()}function formSubmit(){$("#form_clear").prop("disabled","disabled"),$("#form_save").prop("disabled","disabled"),$("#form_submit").click().prop("disabled","disabled")}function strip_tags(e,s){return s=(((s||"")+"").toLowerCase().match(/<[a-z][a-z0-9]*>/g)||[]).join(""),e.replace(/<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi,"").replace(/<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,function(e,t){return-1<s.indexOf("<"+t.toLowerCase()+">")?e:""})}function lead(e,t){for(var s=String(e);s.length<(t||2);)s="0"+s;return s}function leadNbsp(e,t){for(var s=String(e);s.length<t;)s="*"+s;return s.replace(/\*/g," ")}function pad(e,t,s){var o=(String(e)+" ").substr(0,t);return"string"==typeof s?o.replace(/ /g,s):o}function setListenerActions(){$(document).ready(function(){function e(){return-1!==$.inArray($("#form_itu").val(),["AUS","CAN","USA"])&&""===$("#form_sp").val()?void $("#form_sp")[0].setCustomValidity("State / Prov is required for Australia, Canada and USA"):($("#form_sp")[0].setCustomValidity(""),1)}$("#form_timezone").selectmenu(),$("#coords_link").on("click",function(){popup(base_url+"tools/coordinates?args="+$("#form_gsq").val())}),$("#form_save").on("click",function(){e()}),$("#form_saveClose").on("click",function(){e(),$("#form__close").val(1)}),$("#form_itu").on("change",function(){e()}),$("#form_sp").on("change",function(){e()}),$("#btn_generate").on("click",function(){$("#form_wwsuKey").val($("#form_rxx_id").val()+"-"+Math.random().toString(36).substr(2,10))}),$("#btn_copy").on("click",function(){var e=$("#form_wwsuKey").val();e.length?(copyToClipboard(e),alert("SUCCESS\nCopied key to clipboard.\nNow please SAVE this listener profile to make the key live.")):alert("ERROR\nPlease generate a key first.")})})}Number.prototype.numberFormat=function(e,t,s){var o;return t=void 0!==t?t:".",s=void 0!==s?s:",",(o=this.toFixed(e).split("."))[0]=o[0].replace(/\B(?=(\d{3})+(?!\d))/g,s),o.join(t)};var LMap={markerGroups:null,init:function(){map=new google.maps.Map($("#map").get(0),{center:{lat:center.lat,lng:center.lon},scaleControl:!0,zoomControl:!0,zoom:7}),box[0].lat===box[1].lat&&box[0].lon===box[1].lon||map.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(box[0].lat,box[0].lon),new google.maps.LatLng(box[1].lat,box[1].lon))),LMap.drawGrid(),LMap.drawMarkers(),LMap.setActions(),setExternalLinks(),setClippedCellTitles(),nite.init(map),setInterval(function(){nite.refresh()},1e4)},drawGrid:function(){return drawGrid(map,layers)},drawMarkers:function(){var e,t,s,o,i,n;if(listeners){for(t in LMap.markerGroups=new google.maps.MVCObject,LMap.markerGroups.set("primary",map),LMap.markerGroups.set("secondary",map),LMap.markerGroups.set("highlight",map),o={url:base_image+"/map_point3.gif",origin:new google.maps.Point(0,0),anchor:new google.maps.Point(5,5)},i={url:base_image+"/map_point4.gif",origin:new google.maps.Point(0,0),anchor:new google.maps.Point(5,5)},s={url:base_image+"/map_point_here.gif",origin:new google.maps.Point(0,0),anchor:new google.maps.Point(6,6)},e="",listeners)l=listeners[t],e+='<tr id="listener_'+l.id+'" class="qth_'+(l.pri?"pri":"sec")+'" data-gmap="'+l.lat+"|"+l.lon+'"><td class="text-nowrap" data-val="'+l.name+'"><img style="display:block;float: left" src="'+base_image+"/map_point"+(l.pri?3:4)+'.gif" alt="'+(l.pri?msg.qth_pri:msg.qth_sec)+'" /><a href="'+base_url+"listeners/"+l.id+'" class="'+(l.pri?"pri":"sec")+'" data-popup="1">'+l.name+'</a></td><td data-val="'+l.qth+'">'+l.qth+'</td><td data-val="'+l.sp+'">'+l.sp+'</td><td data-val="'+l.itu+'">'+l.itu+"</td></tr>",(n=new google.maps.Marker({id:"point_"+l.id,icon:l.pri?o:i,position:new google.maps.LatLng(l.lat,l.lon),title:decodeHtmlEntities(l.name)+": "+decodeHtmlEntities(l.qth)+(l.sp?", "+l.sp:"")+", "+l.itu})).bindTo("map",LMap.markerGroups,l.pri?"primary":"secondary"),markers.push(n);for(t in markers)markers[t].addListener("mouseover",function(){$("#listener_"+this.id.split("_")[1]).css("background","#ffff00")}),markers[t].addListener("mouseout",function(){$("#listener_"+this.id.split("_")[1]).css("background","")}),markers[t].addListener("click",function(){$("#listener_"+this.id.split("_")[1]).find("a").trigger("click")});$("#markerlist tbody").append(e),$("tr[data-gmap]").mouseover(function(){var e=$(this).data("gmap").split("|");highlight=new google.maps.Marker({position:new google.maps.LatLng(e[0],e[1]),map:map,icon:s})}).mouseout(function(){highlight.setMap(null)}),$(".no-results").hide(),$("#markerlist").show()}},setActions:function(){$("#layer_grid").click(function(){var e,t;for(t in e=$("#layer_grid").prop("checked"),layers.grid)layers.grid[t].setMap(e?map:null)}),$("#layer_night").click(function(){$("#layer_night").prop("checked")?nite.show():nite.hide()}),$("#layer_primary").click(function(){var e=$("#layer_primary");LMap.markerGroups.set("primary",e.prop("checked")?map:null),e.prop("checked")?$("#markerlist .qth_pri").show():$("#markerlist .qth_pri").hide()}),$("#layer_secondary").click(function(){var e=$("#layer_secondary");LMap.markerGroups.set("secondary",e.prop("checked")?map:null),e.prop("checked")?$("#markerlist .qth_sec").show():$("#markerlist .qth_sec").hide()}),mapMarkerColSetActions()}},LISTENERS_FORM={init:function(s){$(document).ready(function(){var e=COMMON_FORM,t=LISTENERS_FORM;e.setPagingControls(),e.setTypesStyles(),e.setTypesDefault(),$("#form_timezone").selectmenu(),e.setTypesAllAction(),e.setCountryAction(),e.setRegionAction(),t.setHasLogsAction(),t.setHasMapPosAction(),t.setTimezoneAction(),t.setMultiopAction(),t.setLoctypeAction(),t.setStatusAction(),t.setSearchforAction(),t.setSaveAction(),t.setResetAction(),t.setFocusOnSearch(),t.setActions(),setColumnSortActions(),setColumnSortedClass(),setExternalLinks(),e.setPagingStatus(msg.paging_l,s),scrollToResults(),RT.init($("#wide"),$("#narrow"))})},setActions:function(){$("#btn_csv_fil").click(function(){var e=prompt("Filename",system+"_listeners.csv");if(null!==e){var t=$("#form_show"),s=$("#form_filename"),o=t.val();t.val("csv"),s.val(e),$("#form_submit").click(),t.val(o)}}),$("#btn_txt_fil").click(function(){var e=prompt("Filename",system+"_listeners.txt");if(null!==e){var t=$("#form_show"),s=$("#form_filename"),o=t.val();t.val("txt"),s.val(e),$("#form_submit").click(),t.val(o)}}),$("#btn_kml_fil").click(function(){var e=prompt("Filename",system+"_listeners.kml");if(null!==e){var t=$("#form_show"),s=$("#form_filename"),o=t.val();t.val("kml"),s.val(e),$("#form_submit").click(),t.val(o)}}),$("#btn_prt").click(function(){return window.print(),!1}),$("#btn_share").click(function(){return shareListeners(),!1}),$("#btn_new").click(function(){return window.open("./listeners/new","listener_new",popWinSpecs["listeners_[id]"]),!1}),$("#frm_rxxid").on("submit",function(e){return e.preventDefault(),$("#btn_rxxid_go").trigger("click"),!1}),$("#btn_rxxid_go").click(function(){return window.open("./listeners/"+$("#rxxid").val()+"/upload","_blank",popWinSpecs["listeners_[id]_upload"]),$("#rxxid").val(""),!1})},setFocusOnSearch:function(){var e=$("#form_q");e.focus(),e.select()},setHasLogsAction:function(e){(e=void 0===e||e)?$("input[type=radio][name='form[has_logs]']").change(function(){formSubmit()}):$("input[type=radio][name='form[has_logs]']").off("change")},setHasMapPosAction:function(e){(e=void 0===e||e)?$("input[type=radio][name='form[has_map_pos]']").change(function(){formSubmit()}):$("select#form_has_map_pos").off("change")},setLoctypeAction:function(e){(e=void 0===e||e)?$("input[type=radio][name='form[loctype]']").change(function(){formSubmit()}):$("input[type=radio][name='form[loctype]']").off("change")},setMultiopAction:function(e){(e=void 0===e||e)?$("input[type=radio][name='form[multiop]']").change(function(){formSubmit()}):$("input[type=radio][name='form[multiop]']").off("change")},setResetAction:function(){$('button[type="reset"]').click(function(){COOKIE.get("listenersForm")&&confirm(msg.cookie.reset)&&COOKIE.clear("listenersForm","/");var e=COMMON_FORM,t=LISTENERS_FORM;return $("fieldset#form_type div :checkbox").prop("checked",!1),$("fieldset#form_type div :checkbox[value=NDB]").prop("checked",!0),$("#form_q").val(""),$("#form_rxx_id").val(""),e.setCountryAction(!1),e.setRegionAction(!1),t.setHasLogsAction(!1),t.setHasMapPosAction(!1),t.setTimezoneAction(!1),t.setStatusAction(!1),t.setMultiopAction(!1),t.setLoctypeAction(!1),$("#form_equipment").val(""),$("#form_notes").val(""),$("#form_active").removeClass("inactive"),$("select#form_region").prop("selectedIndex",0),$("select#form_country").prop("selectedIndex",0),$("input[type=radio][name='form[has_map_pos]'][value='']").prop("checked",!0),$("input[type=radio][name='form[has_logs]'][value='']").prop("checked",!0),$("select#form_timezone").val("ALL").selectmenu("refresh"),$("select#form_status").prop("selectedIndex",0),$("input[type=radio][name='form[multiop]'][value='']").prop("checked",!0),$("input[type=radio][name='form[loctype]'][value='']").prop("checked",!0),e.setCountryAction(!0),e.setRegionAction(!0),t.setHasLogsAction(!0),t.setHasMapPosAction(!0),t.setTimezoneAction(!0),t.setStatusAction(!0),t.setMultiopAction(!0),t.setLoctypeAction(!0),formSubmit(),!1})},setSaveAction:function(){$("#form_save").click(function(){if(confirm(msg.cookie.save+"\n"+msg.cookie.usesCookie)){var e=shareableLink.listenersUrl().split("?")[1];COOKIE.set("listenersForm",e,"/"),alert(msg.cookie.saved)}})},setSearchforAction:function(e){var t=$("#form_q");$("#form_active").addClass(t.val()?"inactive":""),t.on("keyup",function(){t.val()?$("#form_active").addClass("inactive"):$("#form_active").removeClass("inactive")})},setStatusAction:function(e){(e=void 0===e||e)?$("select#form_status").change(function(){formSubmit()}):$("select#form_status").off("change")},setTimezoneAction:function(e){(e=void 0===e||e)?$("#form_timezone").on("selectmenuchange",function(){formSubmit()}):$("#form_timezone").off("selectmenuchange")}},LocatorMap={init:function(t,s){var e=$("#rx_map");if(!e.height())return window.setTimeout(function(){LocatorMap.init(t,s)},100);e.on("click",function(e){var t=parseInt(e.pageX-$(this).offset().left),s=parseInt(e.pageY-$(this).offset().top);LocatorMap.setPos(t,s),$("#form_mapX").val(t),$("#form_mapY").val(s)}),$("#form_mapX").change(function(){t=parseInt($("#form_mapX").val()),s=parseInt($("#form_mapY").val()),LocatorMap.setPos(t,s)}),$("#form_mapY").change(function(){t=parseInt($("#form_mapX").val()),s=parseInt($("#form_mapY").val()),LocatorMap.setPos(t,s)}),$("#x_sub").click(function(){var e=$("#form_mapX"),t=parseInt(e.val());0<t&&e.val(t-1).trigger("change")}),$("#x_add").click(function(){var e=$("#form_mapX"),t=parseInt(e.val());e.val(t+1).trigger("change")}),$("#y_sub").click(function(){var e=$("#form_mapY"),t=parseInt(e.val());0<t&&e.val(t-1).trigger("change")}),$("#y_add").click(function(){var e=$("#form_mapY"),t=parseInt(e.val());e.val(t+1).trigger("change")}),$("#form_reset").click(function(e){e.preventDefault(),form=e.toElement.form,form.reset(),t=$("#form_mapX").val(),s=$("#form_mapY").val(),LocatorMap.setPos(t,s)}),LocatorMap.setPos(t,s),$("#form").show()},setPos:function(e,t){0===e&&0===t||$("#cursor").css({left:e-10+"px",top:t-10+"px",display:"block"})}},LOG_EDIT={init:function(){$("#form_save").on("click",function(){$("#form_reload").val(1),setTimeout(function(){$("#form_save, #form_saveClose, #form_close").attr("disabled","disabled")},1)}),$("#form_saveClose").on("click",function(){$("#form_reload").val(1),$("#form__close").val(1),setTimeout(function(){$("#form_save, #form_saveClose, #form_close").attr("disabled","disabled")},1)}),COMMON_FORM.initListenersSelector("form_listenerId","form[listenerId]",!0,listeners,10),COMMON_FORM.initListenersSelector("form_operatorId","form[operatorId]",!1,operators,10),COMMON_FORM.initSignalsSelector(signals),COMMON_FORM.initTimeControl(),COMMON_FORM.setDatePickerActions(),setExternalLinks()},getDx:function(){var e,t,s,o,i;if(t=(s=document.getElementById("form_listenerId")).options[s.selectedIndex].getAttribute("data-gsq"),o=(i=document.getElementById("form_signalId")).options[i.selectedIndex].getAttribute("data-gsq"),""===t||""===o)return!1;e=CONVERT.gsq_gsq_dx(t,o),$("#form_dxKm").val(e?e.dx_km:""),$("#form_dxMiles").val(e?e.dx_miles:"")},getDaytime:function(){var e,t,s,o;s=(o=document.getElementById("form_listenerId")).options[o.selectedIndex].getAttribute("data-tz"),t=4===(e=$("#form_time").val()).length&&1e3<=(parseInt(e)+100*s+2400)%2400&&(parseInt(e)+100*s+2400)%2400<1400?1:0,$("#form_daytime").val(t)}},LOGSESSION_EDIT={init:function(){$("#form_save").on("click",function(){$("#form_reload").val(1),setTimeout(function(){$("#form_save, #form_saveClose, #form_close").attr("disabled","disabled")},1)}),$("#form_saveClose").on("click",function(){$("#form_reload").val(1),$("#form__close").val(1),setTimeout(function(){$("#form_save, #form_saveClose, #form_close").attr("disabled","disabled")},1)}),COMMON_FORM.initListenersSelector("form_listenerId","form[listenerId]",!0,listeners,10),COMMON_FORM.initListenersSelector("form_operatorId","form[operatorId]",!1,operators,10)}},logSessions={baseUrl:"",init:function(e,t,s){logSessions.baseUrl=e,$(document).ready(function(){setExternalLinks(),COMMON_FORM.setPagingControls(),setColumnSortActions(),setColumnSortedClass(),setClippedCellTitles(),$("#form_paging_status").html(t),$(window).on("resize",function(){var e="yes"!==COOKIE.get("credits_hide")?74:0;$("#list").height($(window).height()/2-s-e),$("#list2").height($(window).height()/2-s-e)}),$(window).trigger("resize"),$(".logsessions tbody tr").on("click",function(){var e=$(this).closest("tr").attr("id").split("_")[2],t=$(this).closest("tr").attr("id").split("_")[3];logSessions.getLogSessionLogs(e,t)}),$(".logsessions tbody").children("tr:first").trigger("click")})},initFS:function(e,t,o){logSessions.baseUrl=e,$(document).ready(function(){setExternalLinks(),COMMON_FORM.setPagingControls(),COMMON_FORM.setTypesStyles(),COMMON_FORM.setTypesSubmitAction(),setColumnSortActions(),setColumnSortedClass(),setClippedCellTitles(),$("#form_paging_status").html(t),$(window).on("resize",function(){var e="yes"!==COOKIE.get("credits_hide")?74:0,t="yes"!==COOKIE.get("logsessionlogs_hide")?$(window).height()/2:$(window).height()-115,s="yes"!==COOKIE.get("logsessionlogs_hide")?$(window).height()/2:30;$("#list").height(t-o-e),$("#list2").height(s-o-e)}),$(window).trigger("resize"),$(".logsessions tbody tr").on("click",function(){var e=$(this).closest("tr").attr("id").split("_")[2],t=$(this).closest("tr").attr("id").split("_")[3];logSessions.getLogSessionLogs(e,t)}),$(".logsessions tbody").children("tr:first").trigger("click"),COMMON_FORM.setLogSessionLogsActions()})},getLogSessionLogs:function(e,t){$(".logsessions tbody tr").removeClass("selected"),$("#list2").html("<div class='logsession_loader'><h2>"+msg.loading+"</h2></div>"),$(".logsessions tbody tr#log_session_"+e+"_"+t).addClass("selected");var s=logSessions.baseUrl.replace("XXX",e).replace("YYY",t);return $("#list2").load(s),!1}};function initListenersLogUploadForm(){var t={pskov:" DD-MM-YYYY hhmm KHZ ID LSB USB sec X ITU QTH",wwsu:"YYYY-MM-DD hh:mm KHZ ID X QTH",yand:"YYYYMMDD hhmm KHZ ID X QTH X",rxx:"YYYY-MM-DD hh:mm KHZ ID X X LSB USB sec fmt PWR X X GSQ X X X SP ITU QTH"},s=$("#form_format");for(var a in s.on("keyup",function(){$("#form_saveFormat").attr("disabled",$(this).val()===$("#formatOld").text())}),$("#clenum").click(function(){return $("#form_comment").val("CLE "+$(this).data("cle")),!1}),window.performance&&window.performance.navigation.type===window.performance.navigation.TYPE_BACK_FORWARD&&s.trigger("keyup"),t)!function(e){$("#format_"+e).on("click",function(){$("#form_format").val(t[e])})}(a);$("#form_saveFormat").on("click",function(){!1!==confirm(msg.log_upload.prompt.a)?$("#form_step").val("1b"):e.preventDefault()}),$("#form_tabs2spaces").on("click",function(){var e=$("#form_logs");e.val(e.val().replace(/\t/g," "))}),$("#form_lineUp").on("click",function(){var e,t,s,o,i,n,a,r,l,c;for(t in format=$("#form_format"),n=0,l=[],o=(i=$("#form_logs")).val().split("\n"))n<(c=(s=o[t].replace(/^\s+|\s+$/g,"").replace(/\s+/g," ")).split(" ").length)&&(n=c),o[t]=s;for(e=0;e<n;e++)l[e]=0;for(t in o)for(r in c=(s=o[t]).split(" "))(a=c[r]).length>l[r]&&(l[r]=a.length);for(t in o){for(r in c=(s=o[t]).split(" "))a=c[r],c[r]=a.padEnd(l[r]+1," ");o[t]=c.join("")}i.val(o.join("\r\n"))}),$("#form_parseLog").on("click",function(e){var t,s,o;for(t in o=[["#form_format",3,4],["#form_logs",5,6],["#form_YYYY",7,8],["#form_MM",9,10],["#form_DD",11,12]],logsRemoveBlankLines($("#form_logs")),o)if((s=$(o[t][0])).is(":visible")&&(""===s.val()||s.val()===msg["log_upload_"+o[t][2]]))return e.preventDefault(),s.val(msg["log_upload_"+o[t][2]]),alert(msg.error.toUpperCase()+"\n\n"+msg["log_upload_"+o[t][1]]),s.focus().select(),!1;$("#form_selected").val("UNSET"),$("#form_step").val(2)}),$("#form_back").on("click",function(){$("#form_step").val(1),$("#form_selected").val("UNSET")}),$(document).on("click",".tokensHelpLink",function(){return $(this).addClass("on"),$(this).tooltip({content:$("#tokensHelp").html(),items:".tokensHelpLink.on",position:{my:"left+15 top-20",at:"right center"},tooltipClass:"toolTipDetails"}),$(this).trigger("mouseenter"),$(".tokensHelp b").on("click",function(){var e=$(this).text();copyToClipboard(e),alert(msg.copied_x.replace("%s",e))}).attr("title",msg.copy_token),$(".tokensHelp #tokensHelpClose").on("click",function(){return $(".tokensHelpLink").removeClass("on").tooltip("close"),!1}),!1}),$(document).on("click",".tokensHelpLink.on",function(){return $(this).removeClass("on"),$(this).tooltip("close"),!1}),$(".tokensHelpLink").on("mouseout",function(e){e.stopImmediatePropagation()}),$("table.parse").on("click","tr td:gt(1)",function(e){e.stopImmediatePropagation();var t=$(this).parent().find("input:checkbox");t.prop("checked",!t.prop("checked")),t.trigger("change")}),$("table.parse input:checkbox").change(function(){$('input[data-idx="'+$(this).data().idx+'"]').not(this).prop("checked",!1),logsShowRemainder()}),$("#form_submitLog").on("click",function(e){var t=msg.log_upload.confirm,s=$("#remainder_logs").val(),o=0,i=[];if(""!==s)for(a in i=s.split("\n"))""!==i[a]&&"* "!==i[a].substr(0,2)&&o++;var n=o?t[1]+"\n"+t[2].replace("COUNT",o)+"\n\n"+t[3]:t[1];if(!confirm(n))return e.preventDefault(),!1;$("#form_back").attr("disabled","disabled"),$("#form_submitLog").attr("disabled","disabled"),$("#form_step").val(3),$("#form form").submit()}),$("#copyDetails").on("click",function(){var e=($("#remainder_format").val()+"\n"+$("#remainder_logs").val()).split("\n");return len=1+e.sort(function(e,t){return t.length-e.length})[0].length,copyToClipboard($("#logEmail").val()+"\n"+"-".repeat(len)+"\n"+$("#remainder_format").val()+"\n"+"-".repeat(len)+"\n"+$("#remainder_logs").val().trimEnd()+"\n"+"-".repeat(len)+"\n\n"),alert(msg.log_upload.copy_remaining),!1}),$("#copyEmail").on("click",function(){var e=($("#remainder_format").val()+"\n"+$("#remainder_logs").val()).split("\n");return len=1+e.sort(function(e,t){return t.length-e.length})[0].length,copyToClipboard("To: "+$("#logEmail").val()+"\nSubject: Issues seen for log upload for "+$("#logOwner").val()+"\n\n\nDear Listener,\n\nSome potential issues were encountered when attempting to upload a submitted log.\nWould you please check the following log entries?\n\n"+"-".repeat(len)+"\n"+$("#remainder_format").val()+"\n"+"-".repeat(len)+"\n"+$("#remainder_logs").val().trimEnd()+"\n"+"-".repeat(len)+"\n\n\n\nSincerely,\n\n\n"+$("#userName").val()),alert(msg.log_upload.prepare_email),!1}),$(".jump .up").on("click",function(){var e=parseInt($(this).parent().attr("id").split("_")[1]),t=$("#jump_"+(e-1)).parent().attr("id").split("_")[1];document.getElementById("row_"+(t-1)).scrollIntoView({behavior:"smooth",block:"start"})}),$(".jump .down").on("click",function(){var e=parseInt($(this).parent().attr("id").split("_")[1]),t=$("#jump_"+(e+1));if(t.length){var s=t.parent().attr("id").split("_")[1];document.getElementById("row_"+(s-1)).scrollIntoView({behavior:"smooth",block:"start"})}else alert(msg.log_upload.last_item)}),$("#check_good").on("click",function(){return $("table.parse .good input:checkbox").each(function(){$(this).prop("checked",!0)}),logsShowRemainder(),!1}),$("#check_warning").on("click",function(){return $("table.parse .warning input:checkbox").each(function(){$(this).prop("checked",!0)}),logsShowRemainder(),!1}),$("#check_choice").on("click",function(){var e,t,s;for(e=$("table.parse .choice input:checkbox"),s=[],t=0;t<e.length;t++){var o=$(e[t]).data("idx");void 0===s[o]&&(s[o]=0),$(e[t]).parent().parent().hasClass("inactive")||s[o]++}for(t=0;t<s.length;t++)1===s[t]&&$("tr:not(.inactive) input[type=checkbox][data-idx="+t+"]").prop("checked","checked");return logsShowRemainder(),!1}),$("#uncheck_warning").on("click",function(){return $("table.parse .warning input:checkbox").each(function(){$(this).prop("checked",!1)}),logsShowRemainder(),!1}),$("#uncheck_choice").on("click",function(){return $("table.parse .choice input:checkbox").each(function(){$(this).prop("checked",!1)}),logsShowRemainder(),!1}),$("#uncheck_all").on("click",function(){return $("table.parse input:checkbox").each(function(){$(this).prop("checked",!1)}),logsShowRemainder(),!1})}function logsRemoveBlankLines(e){var t,s,o;for(s=e.val().split("\n"),o=[],t=0;t<s.length;t++)""!==s[t].trim()&&o.push(s[t]);e.val(o.join("\n"))}function logsShowRemainder(){var e,t,s,o=$("#form_logs").val().split("\n"),i=[],n=[],a=[];for(e in $("table.parse input:checkbox").each(function(){$(this).is(":checked")&&(n.push($(this).val()),s=$(this).val().split("|")[0],i[s]=s)}),i)i.hasOwnProperty(e)&&(o[e]="");for(e in o)if(o.hasOwnProperty(e)){if(""===o[e])continue;if("* "===o[e].substr(0,2))continue;t=$("#row_"+e).data("issues"),a.push(o[e]+(t?"\n* ISSUES: "+t+"\n":""))}$("#remainder_format").val($("#form_format").val()),$("#remainder_logs").val(a.join("\r\n")),$("#form_selected").val(n.join(",")),$("#issueCount").text(a.length)}function drawGrid(e,t){var s,o,i;for(TxtOverlay=initMapsTxtOverlay(),o=0;o<180;o+=10)t.grid.push(new google.maps.Polyline({path:[{lat:o-90,lng:-180},{lat:o-90,lng:0},{lat:o-90,lng:180}],geodesic:!1,strokeColor:gridColor,strokeOpacity:gridOpacity,strokeWeight:.5}));for(i=0;i<360;i+=20)t.grid.push(new google.maps.Polyline({path:[{lat:85.05,lng:i},{lat:-85.05,lng:i}],geodesic:!1,strokeColor:gridColor,strokeOpacity:gridOpacity,strokeWeight:.5}));for(o=10;o<170;o+=10)for(i=0;i<360;i+=20)t.grid.push(new TxtOverlay(new google.maps.LatLng(o-90+5,i-180+10),String.fromCharCode(i/20+65)+String.fromCharCode(o/10+65),"gridLabel",e));for(s in t.grid)t.grid[s].setMap(e)}function initMapsTxtOverlay(){function e(e,t,s,o){this.pos=e,this.txt_=t,this.cls_=s,this.map_=o,this.div_=null,this.setMap(o)}return(e.prototype=new google.maps.OverlayView).onAdd=function(){var e,t;(e=document.createElement("DIV")).className=this.cls_,e.innerHTML=this.txt_,this.div_=e,t=this.getProjection().fromLatLngToDivPixel(this.pos),e.style.left=t.x+"px",e.style.top=t.y+"px",this.getPanes().floatPane.appendChild(e)},e.prototype.draw=function(){var e,t;t=this.getProjection().fromLatLngToDivPixel(this.pos),(e=this.div_).style.left=t.x+"px",e.style.top=t.y+"px"},e.prototype.onRemove=function(){this.div_.parentNode.removeChild(this.div_),this.div_=null},e}function mapMarkerColSetActions(){$("#markerlist thead th.sort").on("click",function(){var e,t,s,o,i;s=(e=(t=$(this)).attr("id").split("|"))[0],o=e[1],i=t.data("type"),s===SMap.sortBy?(o="a"===SMap.sortOrder?"d":"a",t.attr("id",s+"|"+SMap.sortOrder)):t.attr("id",s+"|a"),SMap.sortBy=s,SMap.sortOrder=o,console.log("idx "+s+" order "+o+" of type "+i),mapMarkerColSort(s,o,i)})}function mapMarkerColSort(i,n,a){var e=$("#markerlist thead tr th"),t=$("#markerlist thead tr th:eq("+i+")"),s=$("#markerlist tbody");e.removeClass("sorted"),t.addClass("sorted"),s.find("tr").sort(function(e,t){var s=$(e).find("td:eq("+i+")").data("val"),o=$(t).find("td:eq("+i+")").data("val");switch("number"===a&&(s=parseFloat(s),s=parseFloat(s)),n){case"a":return o<s?1:s<o?-1:0;case"d":return s<o?1:o<s?-1:0}}).appendTo(s)}function getLimitOptions(e,t,s){var o=[10,20,50,100,200,500,1e3,2e3,5e3,1e5,2e4,5e4,1e5],i="";for(var n in o)e<o[n]&&s<o[n]||(i+='<option value="'+o[n]+'"'+(parseInt(t)===o[n]?' selected="selected"':"")+">"+o[n]+" items</option>");return i+='<option value="'+(o[0]<e?-1:s)+'"'+(-1===parseInt(t)?' selected="selected"':"")+">All results</option>"}function getPagingOptions(e,t,s){var o="";pages=e/t;for(var i=0;i<pages;i++)o+='<option value="'+i+'"'+(parseInt(s)===i?' selected="selected"':"")+">"+(1+i*t)+"-"+(e<(i+1)*t?e:(i+1)*t)+"</option>";return o}var RT={classes:[],fields:[],preamble:"",rows:[],titles:[],init:function(e,t){this.source=e,this.destination=t,this.readSource(),this.drawMedium(),this.drawNarrow()},drawMedium:function(){var i,n=0;for(i in RT.fields)RT.fields[i].rowspan2?RT.preamble+="th"===RT.fields[i].type?"<th></th>":"<td></td>":n++;i=0,this.source.find("tbody tr").each(function(){var e,t,s,o=$(this);for(s in t='<table style="width:100%">',RT.fields)RT.rows[i][RT.fields[s].idx]&&RT.rows[i][RT.fields[s].idx].l2&&RT.rows[i][RT.fields[s].idx].html&&(e=RT.rows[i][RT.fields[s].idx].class.replace(/( )*l2/gi,""),t+="<tr><th>"+RT.fields[s].html+':</th><td class="'+e+'">'+RT.rows[i][RT.fields[s].idx].html+"</td></tr>");t+="</table>",o.after('<tr class="'+o.prop("class")+' l2_alt">'+RT.preamble+'<td colspan="'+n+'">'+t+"</td></tr>"),i++})},drawNarrow:function(){var e,t,s;for(t in e="",this.rows){for(s in e+='<table class="responsive"><tbody>\n',this.fields)this.rows[t][this.fields[s].idx]&&""!==this.rows[t][this.fields[s].idx].html&&(e+='<tr title="'+this.titles[t]+'"><th>'+this.fields[s].html+'</th><td class="'+this.rows[t][this.fields[s].idx].class+'">'+this.rows[t][this.fields[s].idx].html+"</td></tr>\n");e+="</tbody></table>\n\n"}this.destination.append(e)},readSource:function(){var t=0;this.source.find("thead tr th").each(function(){var e=$(this);e.hasClass("hidden")||(RT.fields.push({idx:t++,html:e.html().trim().split("<br>")[0],l2:e.hasClass("l2"),rowspan2:e.hasClass("rowspan2"),type:e.hasClass("th")?"th":"td"}),RT.classes.push(e.prop("title").trim()),RT.titles.push(e.prop("title").trim()))}),this.source.find("tbody tr").each(function(){var e=$(this),t={title:e.prop("title")},s=0;e.find("th,td").each(function(){var e=$(this);t[RT.fields[s++].idx]={class:e.prop("class"),l2:e.hasClass("l2"),html:e.html().trim()}}),RT.rows.push(t)})}},shareableLink={getBaseUrl:function(e){return window.location.protocol+"//"+window.location.host+base_url+e},getFromField:function(e,t,s){var o=$("#form_"+e).val();return void 0===o||""===o?"":("string"==typeof s&&-1!==$.inArray(s,["a","A"])&&(o="a"===s?o.toLowerCase():o.toUpperCase()),void 0===t||-1!==$.inArray(o,t)?"&"+e+"="+encodeURI(o):"")},getFromListeners:function(){var e=$("#form_listener");return void 0===e.val()||""===encodeURI(e.val())?"":"&listeners="+encodeURI(e.val())},getFromPagingControls:function(e){var t=$("#form_limit"),s=$("#form_page");return(e!==parseInt(t.val())?"&limit="+t.val():"")+(void 0!==s.val()&&null!==s.val()&&0!==parseInt(s.val())?"&page="+s.val():"")},getFromPair:function(e){var t=$("#form_"+e+"_1"),s=$("#form_"+e+"_2");return t.val()||s.val()?"&"+e+"="+encodeURI(t.val())+(t.val()!==s.val()?","+encodeURI(s.val()):""):""},getFromRadioGroup:function(e,t){var s=$("input[name='form["+e+"]']:checked");return void 0!==s.val()&&""!==s.val()&&(void 0===t||-1!==$.inArray(s.val(),t))?"&"+e+"="+encodeURI(s.val()):""},getFromSortingControls:function(e,t){var s=$("#form_sort"),o=$("#form_order");return(e!==s.val()?"&sort="+s.val():"")+(t!==o.val()?"&order="+o.val():"")},getFromStatus:function(){var e,t=[];return $("fieldset#form_status div input").each(function(){$(this).is(":checked")&&t.push($(this).prop("value"))}),0===t.length&&(t=[1]),"&status=1"==(e="&status="+$.uniqueSort(t).join(","))?"":e},getFromTypes:function(){var e,t=[];return $("fieldset#form_type div input").each(function(){$(this).is(":checked")&&"ALL"!==$(this).prop("value")&&t.push($(this).prop("value"))}),0===t.length&&(t=["NDB"]),7===t.length&&(t=["ALL"]),"&types=NDB"==(e="&types="+$.uniqueSort(t).join(","))?"":e},listenersUrl:function(e){var t=this.getBaseUrl("listeners"),s=this.getFromPagingControls(500)+this.getFromSortingControls("name","a")+this.getFromField("q")+this.getFromTypes()+this.getFromField("region")+this.getFromField("country")+("&timezone=ALL"!==this.getFromField("timezone")?this.getFromField("timezone"):"")+this.getFromField("status",["N","Y","1D","5D","10D","20D","30D","3M","6M","1Y","2Y","5Y"],"A")+this.getFromRadioGroup("loctype",["N","Y"])+this.getFromRadioGroup("multiop",["N","Y"])+this.getFromField("equipment")+this.getFromField("rxx_id")+this.getFromField("notes")+this.getFromRadioGroup("has_logs",["N","Y"])+this.getFromRadioGroup("has_map_pos",["N","Y"])+(void 0!==e?e:"");return t+("&"===s.substring(0,1)?"?"+s.substring(1):s)},signalsUrl:function(e){var t=this.getBaseUrl("signals"),s=this.getFromTypes()+this.getFromStatus()+this.getFromField("rww_focus")+this.getFromField("call")+this.getFromPair("khz")+this.getFromField("channels")+this.getFromField("states")+this.getFromField("sp_itu_clause",["or"])+this.getFromField("countries")+this.getFromField("region")+this.getFromField("gsq")+this.getFromField("notes")+this.getFromField("recently")+this.getFromField("within")+this.getFromListeners()+this.getFromRadioGroup("listener_invert",["1"])+this.getFromRadioGroup("listener_filter",["Y","N"])+this.getFromField("heard_in")+this.getFromRadioGroup("heard_in_mod",["all"])+this.getFromPair("logged_date")+this.getFromPair("logged_first")+this.getFromPair("logged_last")+this.getFromPagingControls(50)+this.getFromSortingControls("khz","a")+this.getFromField("personalise")+this.getFromRadioGroup("hidenotes")+this.getFromRadioGroup("morse")+this.getFromRadioGroup("offsets")+this.getFromField("range_gsq")+this.getFromField("range_min")+this.getFromField("range_max")+(this.getFromField("range_gsq")?this.getFromRadioGroup("range_units"):"")+this.getFromRadioGroup("paper",["a4","a4_l","lgl","lgl_l","ltr","ltr_l"])+this.getFromField("admin_mode")+(void 0!==e?e:"");return t+("&"===s.substring(0,1)?"?"+s.substring(1):s)}};function shareListeners(){$("#dialog").html("<p>"+msg.share.listeners.text1+"<br>"+msg.share.listeners.text2+'</p><ul><li><a style="color:#0000ff" href="'+shareableLink.listenersUrl()+'">'+msg.share.listeners.links.list+'</a></li><li><a style="color:#0000ff" href="'+shareableLink.listenersUrl("&show=map")+'">'+msg.share.listeners.links.map+'</a></li></ul><p style="margin:0"><strong>'+msg.share.listeners.links.export+'</strong></p><ul style="margin-bottom:0"><li><a style="color:#0000ff" href="'+shareableLink.listenersUrl("&show=csv")+'">listeners.csv</a></li></ul>').dialog({buttons:[{text:msg.close,click:function(){$(this).dialog("close")}}],open:function(){$(".ui-dialog-buttonpane button").focus()},modal:!0,title:msg.share.listeners.title})}function shareSignals(){$("#dialog").html('<p style="margin:0">'+msg.share.signals.text1+"<br>"+msg.share.signals.text2+'</p><ul><li><a style="color:#0000ff" href="'+shareableLink.signalsUrl()+'">'+msg.share.signals.links.list+'</a></li><li><a style="color:#0000ff" href="'+shareableLink.signalsUrl("&show=seeklist")+'">'+msg.share.signals.links.seeklist+'</a></li><li><a style="color:#0000ff" href="'+shareableLink.signalsUrl("&show=map")+'">'+msg.share.signals.links.map+'</a></li></ul><p style="margin:0"><strong>'+msg.share.signals.links.export+'</strong></p><ul style="margin-bottom:0"><li><a style="color:#0000ff" href="'+shareableLink.signalsUrl("&show=csv")+'">signals.csv</a></li><li><a style="color:#0000ff" href="'+shareableLink.signalsUrl("&show=txt")+'">signals.txt</a></li><li><a style="color:#0000ff" href="'+shareableLink.signalsUrl("&show=kml")+'">signals.kml</a></li></ul>').dialog({buttons:[{text:msg.close,click:function(){$(this).dialog("close")}}],open:function(){$(".ui-dialog-buttonpane button").focus()},modal:!0,title:msg.share.signals.title})}var SLMap={init:function(){var e,t,s="",o="";for(e in listeners)s+='<tr id="listener_'+(t=listeners[e]).id+'" data-map="'+t.x+"|"+t.y+"|"+t.id+'"'+(t.dt?' title="'+msg.daytime+'"':"")+'>\n<td>\n<img src="'+base_image+"/map_point"+(t.pri?1:2)+'.gif" alt="'+(t.pri?msg.qth_pri:msg.qth_sec)+'" />\n<a href="'+base_url+"listeners/"+t.id+'" class="'+(t.pri?"pri":"sec")+'">'+t.name+"</a>\n</td>\n<td>"+t.sp+"</td>\n<td>"+t.itu+'</td>\n<td class="txt_r personalise">'+(t.dt?"<b>"+t.km+"</b>":t.km)+'</td>\n<td class="txt_r personalise">'+(t.dt?"<b>"+t.mi+"</b>":t.mi)+"</td>\n</tr>\n",o+='<area alt="'+t.name+'" title="'+t.name+'" shape="circle" href="'+base_url+"listeners/"+t.id+'" coords="'+t.x+","+t.y+',4" data-map="'+t.id+'" />\n';$(".results tbody").html(s),$("#imgmap").html(o),SLMap.setActions()},setActions:function(){$("area[data-map]").mouseover(function(){$("#listener_"+$(this).data("map")).css({backgroundColor:"#ffff00"}).trigger("mouseenter")}).mouseout(function(){$("#listener_"+$(this).data("map")).css({backgroundColor:""}).trigger("mouseleave")}),$("tr[data-map]").mouseover(function(){var t=$(this).data("map").split("|"),e=$("#rx_map"),s=e.width()/e[0].naturalWidth;$("#point_here").show().css({left:t[0]*s-5+"px",top:t[1]*s-5+"px"}).unbind().click(function(e){return e.preventDefault(),$("#listener_"+t[2]+" a").trigger("click"),!1})}).mouseout(function(){$("#point_here").hide()}),$("tr[data-map] a").click(function(){var e="listeners_"+$(this).data("map");return window.open(this.href,e,popWinSpecs["listeners_[id]"]),!1})}},SMap={map:null,icons:{},infoWindow:null,markers:[],options:{},sortBy:"khz",sortOrder:"a",init:function(){var e=["dgps","dsc","hambcn","navtex","ndb","time","other"],t=[0,1];for(var s in e)for(var o in t){var i=base_image+"/pins/"+e[s]+"_"+t[o]+".png";SMap.icons[e[s]+"_"+t[o]]=new google.maps.MarkerImage(i,new google.maps.Size(12,20))}SMap.options={zoom:7,center:new google.maps.LatLng(center.lat,center.lon),mapTypeId:google.maps.MapTypeId.ROADMAP},SMap.map=new google.maps.Map($("#map").get(0),SMap.options),box[0].lat===box[1].lat&&box[0].lon===box[1].lon||SMap.map.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(box[0].lat,box[0].lon),new google.maps.LatLng(box[1].lat,box[1].lon))),SMap.infoWindow=new google.maps.InfoWindow,SMap.drawGrid(),SMap.drawMarkers(),SMap.drawQTH(),SMap.setActions(),setExternalLinks(),setClippedCellTitles(),nite.init(SMap.map),setInterval(function(){nite.refresh()},1e4)},drawGrid:function(){return drawGrid(SMap.map,layers)},drawMarkers:function(){var e,t,o,i;if(signals){for(t in SMap.markerGroups=new google.maps.MVCObject,types)SMap.markerGroups.set("type_"+types[t]+"_0",SMap.map),SMap.markerGroups.set("type_"+types[t]+"_1",SMap.map);for(t in SMap.markerGroups.set("highlight",SMap.map),o={url:base_image+"/map_point_here.gif",origin:new google.maps.Point(0,0),anchor:new google.maps.Point(6,7)},e="",signals)s=signals[t],e+='<tr class="type_'+s.typeId+" type_"+s.className+(s.decommissioned?" decommissioned":"")+(void 0!==s.logged?s.logged?" logged":" unlogged":"")+'" id="signal_'+s.id+'" data-gmap="'+s.lat+"|"+s.lon+'">'+(void 0!==s.logged?'<td class="personalise" data-val="'+(s.logged?"logged":"unlogged")+'">'+(s.logged?"✔":" ")+"</td>":"")+'<td data-val="'+s.khz+'">'+s.khz+'</td><td data-val="'+s.call+'" class="text-nowrap"><a href="'+base_url+"signals/"+s.id+'" data-popup="1">'+s.call+'</a></td><td data-val="'+s.qth+'" class="clipped">'+s.qth+'</td><td data-val="'+s.sp+'">'+s.sp+'</td><td data-val="'+s.itu+'">'+s.itu+"</td>"+(void 0!==s.km?'<td class="personalise num" data-val="'+s.km+'">'+s.km+"</td>":"")+(void 0!==s.mi?'<td class="personalise num" data-val="'+s.mi+'">'+s.mi+"</td>":"")+(void 0!==s.deg?'<td class="personalise num" data-val="'+s.deg+'">'+s.deg+"</td>":"")+"</tr>",i=new google.maps.Marker({id:"point_"+s.id,icon:SMap.icons[s.icon+"_"+(s.active?1:0)],position:new google.maps.LatLng(s.lat,s.lon),title:strip_tags(s.khz+" "+s.call)}),google.maps.event.addListener(i,"click",SMap.markerClickFunction(s)),i.bindTo("map",SMap.markerGroups,"type_"+s.typeId+"_"+(s.active?"1":"0")),markers.push(i);$(".results tbody").append(e),$("tr[data-gmap]").mouseover(function(){var e=$(this).data("gmap").split("|");highlight=new google.maps.Marker({position:new google.maps.LatLng(e[0],e[1]),map:SMap.map,icon:o})}).mouseout(function(){highlight.setMap(null)}),$(".no-results").hide(),$(".results").show()}},drawQTH:function(){"undefined"!=typeof listener&&(layers.qth=new google.maps.Marker({position:{lat:listener.lat,lng:listener.lng},map:SMap.map,icon:{scaledSize:new google.maps.Size(30,30),url:"//maps.google.com/mapfiles/kml/pushpin/red-pushpin.png"},title:listener.name,zIndex:100}),qthInfo=new google.maps.InfoWindow({content:"<h2>"+listener.name+"</h2><p>"+listener.qth+"</p>"}),layers.qth.addListener("click",function(){qthInfo.open(SMap.map,layers.qth)}))},markerClickFunction:function(s){return function(e){e.cancelBubble=!0,e.returnValue=!1,e.stopPropagation&&(e.stopPropagation(),e.preventDefault());var t='<div class="map_info"> <h3><a href="'+base_url+"signals/"+s.id+'" onclick="return popup(this.href);">'+s.khz+" "+s.call+'</a></h3> <table class="info-body">'+(void 0!==s.logged?" <tr><th>"+msg.logged+"</th><td>"+(s.logged?msg.yes:msg.no)+"</td></tr>":"")+" <tr><th>"+msg.id+"</th><td>"+s.call+"</td></tr> <tr><th>"+msg.khz+"</th><td>"+s.khz+"</td></tr> <tr><th>"+msg.type+"</th><td>"+s.type+"</td></tr>"+("0"!==s.pwr?" <tr><th>"+msg.power+"</th><td>"+s.pwr+"W</td></tr>":"")+" <tr><th>"+msg.name_qth+"</th><td>"+s.qth+(s.sp?", "+s.sp:"")+", "+s.itu+"</td></tr>"+(s.gsq?" <tr><th>"+msg.gsq+'</th><td><a href="'+base_url+"signals/"+s.id+'/map" onclick="return popup(this.href);" title="Show map (accuracy limited to nearest Grid Square)">'+s.gsq+"</a></td></tr>":"")+" <tr><th>"+msg.lat_lon+"</th><td>"+s.lat+", "+s.lon+"</td></tr>"+(s.usb||s.lsb?" <tr><th>"+msg.sidebands+"</th><td>"+(s.lsb?"LSB: "+s.lsb:"")+(s.usb?(s.lsb?", ":"")+" USB: "+s.usb:"")+"</td></tr>":"")+(s.sec||s.fmt?" <tr><th>"+msg.sec_format+"</th><td>"+(s.sec?s.sec+" sec":"")+(s.sec&&s.fmt?", ":"")+s.fmt+"</td></tr>":"")+" <tr><th>"+msg.last_logged+"</th><td>"+s.heard+"</td></tr> <tr><th>"+msg.heard_in+"</th><td>"+s.heard_in+"</td></tr> </table></div>";SMap.infoWindow.setContent(t),SMap.infoWindow.setPosition(new google.maps.LatLng(s.lat,s.lon)),SMap.infoWindow.open(SMap.map)}},setActions:function(){$("#layer_grid").click(function(){var e,t;for(t in e=$("#layer_grid").prop("checked"),layers.grid)layers.grid[t].setMap(e?SMap.map:null)}),$("#layer_night").click(function(){$("#layer_night").prop("checked")?nite.show():nite.hide()}),$("#layer_qth").click(function(){layers.qth.setMap($("#layer_qth").prop("checked")?SMap.map:null)}),$("#layer_active").click(function(){var e,t,s,o;for(e in types)o=types[e],t=$("#layer_active"),s=$("#layer_"+o),SMap.markerGroups.set("type_"+o+"_1",t.prop("checked")&&s.prop("checked")?SMap.map:null),s.prop("checked")&&t.prop("checked")?$(".results tbody .type_"+o+".active").show():$(".results tbody .type_"+o+".active").hide()}),$("#layer_inactive").click(function(){var e,t,s,o;for(e in types)o=types[e],t=$("#layer_inactive"),s=$("#layer_"+o),SMap.markerGroups.set("type_"+o+"_0",t.prop("checked")&&s.prop("checked")?SMap.map:null),s.prop("checked")&&t.prop("checked")?$(".results tbody .type_"+o+".inactive").show():$(".results tbody .type_"+o+".inactive").hide()}),types.forEach(function(t){$("#layer_"+t).click(function(){var e=$("#layer_"+t);SMap.markerGroups.set("type_"+t+"_0",$("#layer_inactive").prop("checked")&&e.prop("checked")?SMap.map:null),SMap.markerGroups.set("type_"+t+"_1",$("#layer_active").prop("checked")&&e.prop("checked")?SMap.map:null),e.prop("checked")?($("#layer_inactive").prop("checked")?$(".results tbody .type_"+t+".inactive").show():$(".results tbody .type_"+t+".inactive").hide(),$("#layer_active").prop("checked")?$(".results tbody .type_"+t+".active").show():$(".results tbody .type_"+t+".active").hide()):$(".results tbody .type_"+t).hide()})}),mapMarkerColSetActions()}},SIGNALS_FORM={init:function(s){$(document).ready(function(){var e=COMMON_FORM,t=SIGNALS_FORM;t.setPersonaliseAction(),t.setIdentAction(),t.setKhzAction(),t.setListenerFilterAction(),t.setShowNotesAction(),t.setShowMorseAction(),t.setShowOffsetsAction(),t.setRangeAction(),t.setRangeUnitsDefault(),t.setHeardIn(),t.setSortByAction(),t.setSortZaAction(),t.setPaperSizeAction(),t.setRwwFocusAction(),e.setStatusDefault(),e.setTypesStyles(),e.setTypesDefault(),e.setTypesAllAction(),t.setStatesLabelLink(),t.setCountriesLabelLink(),e.setRegionAction(),t.setAdminAction(),t.setListenerInvertDefault(),t.setHeardInModDefault(),t.setListenerOptionsStyle(),t.setCollapsableSections(),t.setSaveAction(),t.setResetAction(),e.setDatePickerActions(),!1!==s&&(e.setPagingControls(),e.setPagingStatus(msg.paging_s,s)),t.setActions(),t.setIdentTip(),t.setFocusOnCall(),t.showStats()})},ituSps:{AUS:"AT NN NW QD SA TA VI WE",CAN:"AB BC MB NB NL NS NT NU ON PE QC SK YT",USA:"AL AR AZ CA CO CT DC DE FL GA IA ID IL IN KS KY LA MA MD ME MI MN MO MS MT NC ND NE NH NJ NM NV NY OH OK OR PA RI SC SD TN TX UT VA VT WA WI WV WY"},setActions:function(){$("#btn_csv_all").click(function(){confirm(msg.export.replace(":system",system.toUpperCase()).replace(":format",".csv")+"\n"+msg.export2)&&window.location.assign(window.location+"/export/csv"+shareableLink.getFromTypes())}),$("#btn_kml_all").click(function(){confirm(msg.export.replace(":system",system.toUpperCase()).replace(":format",".kml")+"\n"+msg.export2)&&window.location.assign(window.location+"/export/kml"+shareableLink.getFromTypes())}),$("#btn_txt_all").click(function(){shareableLink.getFromTypes(),confirm(msg.export.replace(":system",system.toUpperCase()).replace(":format",".txt")+"\n"+msg.export2)&&window.location.assign(window.location+"/export/txt"+shareableLink.getFromTypes())}),$("#btn_psk_all").click(function(){confirm(msg.export.replace(":system",system.toUpperCase()).replace(":format","PSKOV")+"\n"+msg.export2+("RWW"===system.toUpperCase()?"":"\n\n"+msg.export3))&&window.location.assign(window.location+"/export/xls"+shareableLink.getFromTypes())}),$("#btn_csv_fil").click(function(){var e=prompt("Filename",system+"_signals.csv");if(null!==e){var t=$("#form_show"),s=$("#form_filename"),o=t.val();t.val("csv"),s.val(e),$("#form_submit").click(),t.val(o)}}),$("#btn_txt_fil").click(function(){var e=prompt("Filename",system+"_signals.txt");if(null!==e){var t=$("#form_show"),s=$("#form_filename"),o=t.val();t.val("txt"),s.val(e),$("#form_submit").click(),t.val(o)}}),$("#btn_kml_fil").click(function(){var e=prompt("Filename",system+"_signals.kml");if(null!==e){var t=$("#form_show"),s=$("#form_filename"),o=t.val();t.val("kml"),s.val(e),$("#form_submit").click(),t.val(o)}}),$("#btn_prt").click(function(){return window.print(),!1}),$("#btn_share").click(function(){return shareSignals(),!1}),$("#btn_new").click(function(){return window.open("./signals/new","signal_new",popWinSpecs["signals_[id]"]),!1}),$('form[name="form"]').on("submit",function(){$("#form_call").val($("#form_call").val().toUpperCase())})},setAdminAction:function(e){(e=void 0===e||e)?$("select#form_admin_mode").change(function(){formSubmit()}):$("select#form_admin_mode").off("change")},setCollapsableSections:function(){$("#section_loggings legend").click(function(){$(this).parent().find("fieldset").toggle(),$(this).parent().find("fieldset fieldset").toggle(),$(this).find("span").toggle()}),$("#section_customise legend").click(function(){$(this).parent().find("fieldset").toggle(),$(this).parent().find("fieldset fieldset").toggle(),$(this).find("span").toggle()})},setCountriesLabelLink:function(){var e=$('label[for="form_countries"]');e.html('<a href="countries/*" data-popup="1">'+e.html()+"</a>")},setFocusOnCall:function(){var e=$("#form_call");e.focus(),e.select()},setHeardIn:function(){$("#form_heard_in").on("keyup",function(){$("#form_heard_in").val(function(e,t){return t.toUpperCase()}),$.each(SIGNALS_FORM.ituSps,function(e,t){var s=$("#form_heard_in");0<=s.val().indexOf(e)&&(alert("Country code "+e+" will be expanded to show all states, provinces and territories"),s.val(s.val().replace(e,t)))})})},setHeardInModDefault:function(){0===$("fieldset#form_heard_in_mod div :radio:checked").length&&$('fieldset#form_heard_in_mod div :radio[value=""]').prop("checked",!0)},setIdentAction:function(){$("#form_call").on("blur",function(){var e=$(this).val().split("-");2===e.length&&(!isNaN(e[0])&&isNaN(e[1])&&e.reverse(),isNaN(e[0])&&!isNaN(e[1])&&($("#form_khz_1, #form_khz_2").val(e[1]),$(this).val(e[0])))}).on("keypress",function(e){13===e.which&&$("#form_call").trigger("blur")})},setIdentTip:function(){var e=$("#form_call");if(""!==e.val()){var t=$("#exact");t.html(t.html().replace("%s","<b>'"+e.val()+"'</b>")),t.show()}},setKhzAction:function(){$("#form_khz_1, #form_khz_2").on("blur",function(){$(this).val($(this).val().replace(",","."))})},setListenerInvertDefault:function(){0===$("fieldset#form_listener_invert div :radio:checked").length&&$("fieldset#form_listener_invert div :radio[value=0]").prop("checked",!0)},setListenerOptionsStyle:function(){$("#form_listener").children().each(function(){""===$(this).val()?$(this).addClass("all"):". "===$(this).text().substr(0,2)?$(this).text(" "+$(this).text().substr(1)).addClass("secondaryQth"):$(this).addClass("primaryQth"),"R|"===$(this).text().substr(0,2)&&$(this).text($(this).text().substr(2)).addClass("remote"),"|N"===$(this).text().slice(-2)&&$(this).text($(this).text().slice(0,-2)).addClass("inactive").attr("title","(Inactive)"),"N"===$("#form_listener_filter div :radio:checked").val()&&$(this).hasClass("remote")&&$(this).hide(),"Y"===$("#form_listener_filter div :radio:checked").val()&&($(this).hasClass("remote")||$(this).hide())})},setListenerFilterAction:function(e){(e=void 0===e||e)?$("#form_listener_filter").change(function(){var e=$("#form_listener_filter div :radio:checked").val();$("#form_listener").children().each(function(){switch(e){case"N":$(this).hasClass("remote")?$(this).hide():$(this).show();break;case"Y":$(this).hasClass("remote")?$(this).show():$(this).hide();break;default:$(this).show()}})}):$("#form_listener_filter").off("change")},setPersonaliseAction:function(e){(e=void 0===e||e)?$("#form_personalise").change(function(){var e=$("#form_personalise option:selected").text(),t=(2===e.split("|").length?e.split("|")[1]:"").trim(),s=$("#form_range_gsq");s.val(t),s.trigger("keyup"),$('form[name="form"]').submit()}):$("#form_personalise").off("change")},setRangeAction:function(){var e=$("#form_range_gsq"),t=$("#form_range_min");e.on("keyup",function(){var e=$("#form_range_gsq").val().length<6;$("#form_range_min").attr("disabled",e),$("#form_range_max").attr("disabled",e)}),t.on("keyup",function(){var e=0===$("#form_range_min").val().length&&0===$("#form_range_max").val().length;$("#form_range_units").attr("disabled",e)}),$("#form_dx_max").on("keyup",function(){var e=0===$("#form_range_min").val().length&&0===$("#form_range_max").val().length;$("#form_range_units").attr("disabled",e)}),e.trigger("keyup"),t.trigger("keyup")},setRangeUnitsDefault:function(){0===$("fieldset#form_range_units div :radio:checked").length&&$("fieldset#form_range_units div :radio[value=km]").prop("checked",!0)},setRwwFocusAction:function(e){(e=void 0===e||e)?$("select#form_rww_focus").change(function(){formSubmit()}):$("select#form_rww_focus").off("change")},setResetAction:function(){$('button[type="reset"]').click(function(){COOKIE.get("signalsForm")&&confirm(msg.cookie.reset)&&COOKIE.clear("signalsForm","/");var e=COMMON_FORM,t=SIGNALS_FORM,s=$("#form_range_gsq"),o=$("#form_range_min");return t.setAdminAction(!1),e.setRegionAction(!1),t.setRwwFocusAction(!1),t.setListenerFilterAction(!1),t.setShowNotesAction(!1),t.setShowMorseAction(!1),t.setShowOffsetsAction(!1),t.setPersonaliseAction(!1),$("#form_show").val(""),$("fieldset#form_type div :checkbox").prop("checked",!1),$("fieldset#form_type div :checkbox[value=NDB]").prop("checked",!0),$("fieldset#form_status div :checkbox").prop("checked",!1),$("fieldset#form_status div :checkbox[value=1]").prop("checked",!0),$("#form_call").val(""),$("#form_khz_1").val(""),$("#form_khz_2").val(""),$("#form_channels").prop("selectedIndex",0),$("#form_recently").prop("selectedIndex",0),$("#form_within").prop("selectedIndex",0),$("#form_personalise").prop("selectedIndex",0),$("#form_morse_0").prop("checked",1),$("#form_hidenotes_1").prop("checked",1),$("#form_offsets_0").prop("checked",1),$("#form_notes").val(""),$("#form_states").val(""),$("#form_sp_itu_clause").prop("selectedIndex",0),$("#form_countries").val(""),$("#form_region").prop("selectedIndex",0),$("#form_rww_focus").prop("selectedIndex",0),$("#form_gsq").val(""),s.val(""),o.val(""),$("#form_range_max").val(""),$("#form_range_units_0").prop("checked",1),s.trigger("keyup"),o.trigger("keyup"),$("#form_listener").val([]),$("#form_listener_invert_0").prop("checked",1),$("#form_listener_filter_0").prop("checked",1),$("#form_heard_in").val(""),$("#form_heard_in_mod_0").prop("checked",1),$("#form_logged_date_1").val(""),$("#form_logged_date_2").val(""),$("#form_logged_first_1").val(""),$("#form_logged_first_2").val(""),$("#form_logged_last_1").val(""),$("#form_logged_last_2").val(""),$("#form_admin_mode").prop("selectedIndex",0),t.setPersonaliseAction(!0),t.setShowMorseAction(!0),t.setShowNotesAction(!0),t.setShowOffsetsAction(!0),t.setAdminAction(!0),e.setRegionAction(!0),t.setListenerFilterAction(!0),t.setRwwFocusAction(!0),formSubmit(),!1})},setSaveAction:function(){$("#form_save").click(function(){if(confirm(msg.cookie.save+"\n"+msg.cookie.usesCookie)){var e=shareableLink.signalsUrl().split("?")[1];COOKIE.set("signalsForm",e,"/"),alert(msg.cookie.saved)}})},setShowMorseAction:function(e){(e=void 0===e||e)?$("#form_morse").change(function(){formSubmit()}):$("#form_morse").off("change")},setShowNotesAction:function(e){(e=void 0===e||e)?$("#form_hidenotes").change(function(){formSubmit()}):$("#form_hidenotes").off("change")},setShowOffsetsAction:function(e){(e=void 0===e||e)?$("#form_offsets").change(function(){formSubmit()}):$("#form_offsets").off("change")},setPaperSizeAction:function(){$("#seeklist_paper").change(function(){$("#form_paper").val($("#seeklist_paper option:selected").val()),formSubmit()})},setSortByAction:function(){$("select#form_sortby").change(function(){var e=$("#form_sortby option:selected").val();$("#form_sort").val(e.split("|")[0]),$("#form_order").val(e.split("|")[1]),$("#form_za").prop("checked","d"===e.split("|")[1]),formSubmit()})},setSortZaAction:function(){$("input#form_za").change(function(){$("#form_order").val($("input#form_za").prop("checked")?"d":"a"),formSubmit()})},setStatesLabelLink:function(){var e=$('label[for="form_states"]');e.html('<a href="states/*" data-popup="1">'+e.html()+"</a>")},showStats:function(){var e=$("#form_rww_focus");url=base_url+"signals/stats"+(void 0!==e.val()?"?rww_focus="+e.val():""),$.get(url,function(e){$.each(e.signals,function(e,t){$("#stats_"+e).text(t.numberFormat())}),$("#stats_focus").text(e.listeners.focus),$("#stats_locations").text(e.listeners.locations.numberFormat()),$("#stats_logs").text(e.listeners.logs.numberFormat()),$("#stats_first").text(e.listeners.first),$("#stats_last").text(e.listeners.last),$("#seeklist_last").text(e.listeners.last)})}},SIGNALS={loadList:function(m){var e=shareableLink.signalsUrl("&show=list");console.log(e),console.log(m),$.get(e,function(e){var t,s,o,i,n,a,r,l,c,d,p;for(o=[],paging=e.results,s=e.columns,SIGNALS.setHeadingTitle(e),SIGNALS.setHeadingPersonalise(e),COMMON_FORM.setPagingControls(),COMMON_FORM.setPagingStatus(msg.paging_s,paging.total),$("#signalDetails").addClass("line"),$("#paging").show(),o.push("<tr>"),e.personalise.id&&o.push('<th class="txt_vertical nosort rowspan2 th"><div>Logged</div></th>'),a=0;a<s.length;a++)!("morse"===(t=s[a]).key&&1!==m.morse||"notes"===t.key&&0!==m.hidenotes)?o.push(" <th"+(t.key&&t.order?' id="'+t.key+"|"+t.order+'"':"")+(t.th_class||t.sort?' class="'+t.th_class+(t.sort?" sort":"")+'"':"")+(t.tooltip?' title="'+t.tooltip+'"':"")+">"+("txt_vertical"===t.th_class?"<div>"+t.label+"</div>":t.label)+"</th>"):console.log(m);for(o.push("</tr>\n"),$(".signal.results thead").html(o.join("\n")),o=[],i=0;i<e.types.length;i++)$("#ref_type_"+e.types[i]).show();if(0!==e.signals.length){for(i=0;i<e.signals.length;i++){for(r='<tr class="'+("1"===(l=e.signals[i]).decommissioned?"decommissioned ":"")+("0"===l.active?"inactive ":"")+m.types[l.type].classname+(e.personalise.id?("0"===l.personalise?"":"un")+"logged":"")+'" title="'+m.types[l.type].title+("0"===l.active&&"1"!==l.decommissioned?" ("+msg.inactive+")":"")+("1"===l.decommissioned?" ("+msg.decommissioned+")":"")+'">'+(e.personalise.id?'<th title="'+("0"===l.personalise?msg.unlogged_by:msg.logged_by)+'" class="rowspan2">'+("1"===l.personalise?"✔":" ")+"</th>":""),a=0;a<s.length;a++)switch(p=l[(t=s[a]).key],n=l.ID,d="<td"+(t.td_class?' class="'+t.td_class+'"':"")+">",c="</td>",t.key){case"call":r+=d+'<a href="'+m.urls.profile.replace("*",n)+'" data-popup="1">'+p+"</a>"+c;break;case"delete":r+=d+'<a href="'+m.urls.delete.replace("*",n)+'" class="delete" onclick="return confirm(msg.del_signal)">X</a>'+c;break;case"GSQ":r+=d+(""!==p?'<a data-gsq="'+n+'">'+p+"</a>":"")+c;break;case"first_heard":case"last_heard":r+=d+(null!==p?p:"")+c;break;case"heard_in":r+=d+l.heard_in_html+c;break;case"ITU":r+=d+(""!==p?'<a data-set="itu">'+p+"</a>":"")+c;break;case"khz":r+=d+parseFloat(p)+c;break;case"listeners":r+=d+("0"!==p?'<a href="'+m.urls.listeners.replace("*",n)+'" data-popup="1">':"")+p+"</a>"+c;break;case"logs":r+=d+("0"!==p?'<a href="'+m.urls.logs.replace("*",n)+'" data-popup="1">':"")+p+"</a>"+c;break;case"LSB":case"USB":r+=d+(parseFloat(p)?e.args.offsets?parseFloat(p).toFixed(3):p:"")+c;break;case"merge":r+=d+'<a href="'+m.urls.merge.replace("*",n)+'" class="merge">M</a>'+c;break;case"morse":1===m.morse&&(r+=d+(""!==l.morse?encodeMorse(l.morse):"?")+c);break;case"notes":1!==m.hidenotes&&(r+=d+l.notes+c);break;case"pwr":r+=d+("0"!==p?p:"")+c;break;case"SP":r+=d+(""!==p?'<a data-set="sp">'+p+"</a>":"")+c;break;case"type":break;default:r+=d+p+c}r+="</tr>",o.push(r)}$("#signals_list").html(o.join("\n")),setColumnSortActions(),setColumnSortedClass(),setExternalLinks(),scrollToResults(),RT.init($("#wide"),$("#narrow"))}else $("#signals_list").html("<tr><th class='no-results' colspan='"+s.length+"'>No signals found matching your criteria</th></tr>")})},loadMap:function(){$("#signalDetails").addClass("line"),$("#paging").show()},loadSeeklist:function(){$("#signalDetails").removeClass("line"),$("#paging").hide()},setHeadingPersonalise:function(e){e.personalise.name&&$("#signals_personalise").html(msg.signals.personalise.replace("%s",'<a href="'+args.urls.listeners.replace("*",e.personalise.id)+'" data-popup="1">'+e.personalise.desc+"</a>"))},setHeadingTitle:function(e){switch(e.title){case 1:title=msg.signals.title.unlogged;break;case 2:title=msg.signals.title.both;break;default:title=msg.signals.title.normal.replace("%s",system.toUpperCase())}$("#signals_title").html(title)}},SIGNAL_MERGE={init:function(){$("#form_save").on("click",function(){$("#form_reload").val(1)}),$("#form_saveClose").on("click",function(){$("#form_reload").val(1),$("#form__close").val(1)}),SIGNAL_MERGE.initSignalsSelector(signals)},initSignalsSelector:function(e){var t,s,o,i,n;for(s in n=(t=$("#form_signalId")).val(),o='<select id="form_signalId" name="form[signalId]" required="required" size="10">\n',e)o+="<option value='"+(i=e[s].split("|"))[0]+"'"+("0"===i[5]?" title='"+msg.inactive+"'":"")+" class='type_"+i[3]+("0"===i[5]?" inactive":"")+"' data-gsq='"+i[4]+"'"+(i[0]===n?" selected='selected'":"")+">"+pad(parseFloat(i[2]),10," ")+pad(i[1],10," ")+pad(i[6],41," ")+pad(i[7],3," ")+i[8]+" </option>";o+="</select>",t.replaceWith(o),$("#form_signalId").on("change",function(){LOG_EDIT.getDx()})}},DGPS={init:function(){$("#frm_dgps").on("submit",function(){return $("#dgps_details").val(DGPS.lookup($("#dgps_ref").val())),!1}),$("a[data-dgps]").on("click",function(){return $("#dgps_ref").val($(this).data("dgps")),$("#dgps_go").trigger("click"),!1}),$("#dgps_ref").on("focus",function(){$(this).select()}),$("#close").on("click",function(){window.close()})},a:function(e,t,s,o,i,n,a,r,l){void 0===this.entries[e]&&(this.entries[e]=[]),this.entries[e].push([s,o,i,n,a,r,e,t,l]),void 0===this.entries[t]&&(this.entries[t]=[]),this.entries[t].push([s,o,i,n,a,r,e,t,l])},entries:[],lookup:function(e){var t=[];if(""===e)return"";if(void 0===this.entries[parseFloat(e)])return msg.tools.dgps.nomatch;e=parseFloat(e);for(var s=0;s<this.entries[e].length;s++){var o=this.entries[e][s];t.push(" Station "+o[0]+(0===o[8]?" "+msg.tools.dgps.inactive:"")+"\n "+o[1]+"KHz "+o[2]+"bps\n "+o[3]+" "+o[4]+" "+o[5]+"\n Reference ID(s): "+o[6]+(o[6]!==o[7]?", "+o[7]:""))}return 1<s?msg.tools.dgps.multiple+" ("+s+"):\n"+t.join("\n\n"):t.join("")}},CONVERT={deg_dms:function(e,t){var s,o,i,n,a,r,l,c,d;return!(!VALIDATE.dec_lat(e)||!VALIDATE.dec_lon(t))&&(i=0<e?"N":"S",s=Math.abs(e),o=Math.floor(s),n=lead(Math.floor(s%1*60)),a=lead(Math.floor(3600*(s-o-n/60))),c=0<t?"E":"W",r=Math.abs(t),{lat_dd_mm_ss:o+"."+n+"."+a+"."+i,lon_dd_mm_ss:(l=Math.floor(r))+"."+(d=lead(Math.floor(r%1*60)))+"."+lead(Math.floor(3600*(r-l-d/60)))+"."+c})},deg_gsq:function(e,t){var s,o,i,n,a,r="abcdefghijklmnopqrstuvwxyz";return!(!VALIDATE.dec_lat(e)||!VALIDATE.dec_lon(t))&&(s=parseFloat(e)+90,o=r.charAt(Math.floor(s/10)).toUpperCase(),i=Math.floor(s%10),n=r.charAt(Math.floor(s%1*24)),a=(parseFloat(t)+180)/2,r.charAt(Math.floor(a/10)).toUpperCase()+o+Math.floor(a%10)+i+r.charAt(Math.floor(a%1*24))+n)},dms_deg:function(e,t){var s,o,i,n,a,r,l;return a=/([0-9]+)[^0-9]([0-9]+)[^0-9]([0-9]+)[^0-9]([NS])/i,r=/([0-9]+)[^0-9]([0-9]+)[^0-9]([0-9]+)[^0-9]([EW])/i,s=e.match(a),i=parseFloat(s[1]),n=parseFloat(s[2]),l=""!==s[3]?parseFloat(s[3]):0,o=(void 0===s[4]||"N"===s[4]||"n"===s[4]?1:-1)*(i+Math.round(1e4*(l/3600+n/60))/1e4),s=t.match(r),i=parseFloat(s[1]),n=parseFloat(s[2]),l=""!==s[3]?parseFloat(s[3]):0,{lat:o,lon:(void 0===s[4]||"E"===s[4]||"e"===s[4]?1:-1)*(i+Math.round(1e4*(l/3600+n/60))/1e4)}},gsq_deg:function(e){var t,s,o,i,n,a,r,l;return!!VALIDATE.gsq(e)&&(l=6===(e=e.toUpperCase()).length?1/48:0,n=(e+=4===e.length?"MM":"").charCodeAt(0)-65,a=parseFloat(e.substr(2,1)),r=e.charCodeAt(4)-65,t=e.charCodeAt(1)-65,s=parseFloat(e.substr(3,1)),o=e.charCodeAt(5)-65,i=Math.round(1e4*(2*(10*n+a+r/24+l)-180))/1e4,{lat:Math.round(1e4*(10*t+s+o/24+l-90))/1e4,lon:i})},gsq_gsq_dx:function(e,t){var s,o,i,n,a;if(e=CONVERT.gsq_deg(e),t=CONVERT.gsq_deg(t),!e||!t)return!1;o=parseFloat(e.lat),n=parseFloat(e.lon),i=parseFloat(t.lat),a=parseFloat(t.lon);var r=(i*=s=Math.PI/180)-(o*=s),l=(a*=s)-(n*=s),c=(1-Math.cos(r)+(1-Math.cos(l))*Math.cos(o)*Math.cos(i))/2;return{dx_km:Math.round(12742*Math.asin(Math.sqrt(c))),dx_miles:Math.round(7917.5*Math.asin(Math.sqrt(c)))}}},VALIDATE={gsq:function(e){return e.match(/^([a-rA-R]{2})([0-9]{2})([a-xA-X]{2})?$/i)},dec_lat:function(e){return!(isNaN(e)||90<=e||e<=-90)},dec_lon:function(e){return!(isNaN(e)||180<=e||e<=-180)},dms_lat:function(e){return e.match(/^([0-9]{1,2})[^0-9]([0-5][0-9])[^0-9]([0-5][0-9])[^0-9]?([NS])?$/i)},dms_lon:function(e){return e.match(/^([0-9]{1,3})[^0-9]([0-5][0-9])[^0-9]([0-5][0-9])[^0-9]?([EW])?$/i)},float:function(e,t,s,o){var i="Please enter a number",n=parseFloat(e);return isNaN(n)?(alert(o+":\n"+i),!1):n<t?(alert(o+":\n"+i+" >= "+t),!1):!(s<n)||(alert(o+":\n"+i+" <= "+s),!1)},int:function(e,t,s,o){var i=parseInt(e),n="Please enter a number";return isNaN(i)?(alert(o+":\n"+n),!1):i<t?(alert(o+":\n"+n+" >= "+t),!1):!(s<i)||(alert(o+":\n"+n+" <= "+s),!1)}},COORDS={init:function(){var cmd_1,cmd_2,cmd_3,idx,modes;for(modes=[["dms_deg","deg_gsq","copy_dms"],["deg_dms","deg_gsq","copy_deg"],["gsq_deg","deg_dms","copy_gsq"]],idx=0;idx<modes.length;idx++)cmd_1="COORDS."+modes[idx][0]+"();",cmd_2="COORDS."+modes[idx][1]+"();",cmd_3="COORDS."+modes[idx][2]+"();",function(i,c1,c2,c3){$("#go_"+i).on("click",function(){return eval(c1)&&eval(c2),!1}),$("#map_"+i).on("click",function(){return eval(c1)&&(eval(c2),COORDS.map("map")),!1}),$("#photo_"+i).on("click",function(){return eval(c1)&&(eval(c2),COORDS.map("photo")),!1}),$("#copy_"+i).on("click",function(){return eval(c1)&&(eval(c2),eval(c3)),!1})}(idx+1,cmd_1,cmd_2,cmd_3);$("#close").on("click",function(){window.close()})},map:function(e){var t,s,o,i,n,a;t=$("#lat_dddd"),s=$("#lon_dddd"),t.val(t.val().trim()),s.val(s.val().trim()),i=t.val(),n=s.val(),""!==i&&""!==n&&(a=base_url+"maps/coords/"+i+"/"+n+"/"+e,o="_"+i+"_"+n,window.open(a,o,"scrollbars=1,resizable=1,location=1,width=860,height=630"))},copy_dms:function(){copyToClipboard($("#lat_dd_mm_ss").val()+", "+$("#lon_dd_mm_ss").val()),alert(msg.copied_x.replace("%s","DMS Coordinates"))},copy_deg:function(){copyToClipboard($("#lat_dddd").val()+", "+$("#lon_dddd").val()),alert(msg.copied_x.replace("%s","Decimal Coordinates"))},copy_gsq:function(){copyToClipboard($("#gsq").val()),alert(msg.copied_x.replace("%s","GSQ"))},deg_gsq:function(){var e,t,s,o;return e=$("#lat_dddd"),t=$("#lon_dddd"),e.val(e.val().trim()),t.val(t.val().trim()),s=e.val(),o=t.val(),VALIDATE.dec_lat(s)?VALIDATE.dec_lon(o)?void $("#gsq").val(CONVERT.deg_gsq(s,o)):(alert(msg.tools.coords.lon_dec),!1):(alert(msg.tools.coords.lat_dec),!1)},gsq_deg:function(){var e,t,s;return(e=$("#gsq")).val(e.val().trim()),t=e.val().trim(),VALIDATE.gsq(t)?(s=CONVERT.gsq_deg(t),$("#lat_dddd").val(s.lat),$("#lon_dddd").val(s.lon),!0):(alert(msg.tools.coords.gsq_format),!1)},deg_dms:function(){var e,t,s;return e=parseFloat($("#lat_dddd").val()),t=parseFloat($("#lon_dddd").val()),VALIDATE.dec_lat(e)?VALIDATE.dec_lon(t)?(s=CONVERT.deg_dms(e,t),$("#lat_dd_mm_ss").val(s.lat_dd_mm_ss),$("#lon_dd_mm_ss").val(s.lon_dd_mm_ss),!0):(alert(msg.tools.coords.lon_dec),!1):(alert(msg.tools.coords.lat_dec),!1)},dms_deg:function(){var e,t,s;return t=$("#lat_dd_mm_ss").val(),s=$("#lon_dd_mm_ss").val(),VALIDATE.dms_lat(t)?VALIDATE.dms_lon(s)?(e=CONVERT.dms_deg(t,s),$("#lat_dddd").val(e.lat),$("#lon_dddd").val(e.lon),!0):(alert(msg.tools.coords.lon_dms_1+"\n DDD°MM'SS\"H\n DDD.MM.SS.H\n DDD MM SS H\n DDD.MM.H\n DDD°MM.H\n DDD MM H\n\n"+msg.tools.coords.lon_dms_2),!1):(alert(msg.tools.coords.lat_dms_1+"\n DD°MM'SS\"H\n DD.MM.SS.H\n DD MM SS H\n DD°MM.H\n DD.MM.H\n DD MM H\n\n"+msg.tools.coords.lat_dms_2),!1)}},NAVTEX={init:function(){$("#frm_navtex").on("submit",function(){return!1}),$("#translateMumbo").on("click",function(){$("#navtex2").val(NAVTEX.mumboToText($("#navtex1").val()))}),$("#clearoutMumbo").on("click",function(){$("#navtex1").val("")}),$("#clearoutText").on("click",function(){$("#navtex2").val("")}),$("#clearoutAll").on("click",function(){$("#navtex1").val(""),$("#navtex2").val("")}),$("#translateText").on("click",function(){$("#navtex1").val(NAVTEX.textToMumbo($("#navtex2").val()))}),$("#close").on("click",function(){window.close()})},mumboChars:"-?:$3!*().,9014'57=2/6+",textChars:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",mumboChar:function(e){var t=NAVTEX.textChars.indexOf(e);return-1<t?NAVTEX.mumboChars.charAt(t):e},textChar:function(e){var t=NAVTEX.mumboChars.indexOf(e);return-1<t?NAVTEX.textChars.charAt(t):e},textToMumbo:function(e){var t,s="";for(t=0;t<e.length;t++)s+=NAVTEX.mumboChar(e.charAt(t).toUpperCase());return s},mumboToText:function(e){var t,s="";for(t=0;t<e.length;t++)s+=NAVTEX.textChar(e.charAt(t));return s}},COOKIE={clear:function(e,t){document.cookie=e+"=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path="+("string"==typeof t?t:"/")},get:function(e){var t=document.cookie,s=t.indexOf(e+"=");if(-1===s)return!1;var o=s+e.length+1,i=t.indexOf(";",o);return-1===i&&(i=t.length),unescape(t.substring(o,i))},set:function(e,t,s){var o=new Date;o.setFullYear(o.getFullYear()+1),document.cookie=e+"="+t+";expires="+o.toGMTString()+"; path="+("string"==typeof s?s:"/")}},SUNRISE={init:function(){var e=new Date,t=$("#sunrise_clear"),s=$("#sunrise_go"),o=$("#sunrise_gsq"),i=$("#sunrise_lat"),n=$("#sunrise_lon"),a=$("#sunrise_DD"),r=$("#sunrise_MM"),l=$("#sunrise_YYYY");if($("#close").on("click",function(){window.close()}),l.on("change",function(){VALIDATE.int(this,1901,2099,"Year")}).val(e.getUTCFullYear()),r.on("change",function(){VALIDATE.int(this,1,12,"Month")}).val(e.getUTCMonth()+1),a.on("change",function(){VALIDATE.int(this,1,31,"Date")}).val(e.getUTCDate()),o.on("change",function(){VALIDATE.gsq($(this).val())?SUNRISE.gsq_deg($(this).val()):alert(msg.tools.coords.gsq_format)}),i.on("change",function(){VALIDATE.float($(this).val(),-90,90,"Latitude")}),n.on("change",function(){VALIDATE.float($(this).val(),-180,180,"Longitude")}),s.on("click",function(){return $("#sunrise_result").val(SUNRISE.formValues()),SUNRISE.cookie_set(),!1}),t.on("click",function(){SUNRISE.cookie_clear()}),SUNRISE.cookie_get()){var c=SUNRISE.cookie_get("sunrise").split("|");o.val(c[0]),i.val(c[1]),n.val(c[2])}},cookie_clear:function(){COOKIE.clear("sunrise")},cookie_get:function(){return COOKIE.get("sunrise")},cookie_set:function(){var e=$("#sunrise_gsq").val()+"|"+$("#sunrise_lat").val()+"|"+$("#sunrise_lon").val();COOKIE.set("sunrise",e)},formValues:function(){var e=parseFloat($("#sunrise_lat").val()),t=parseFloat($("#sunrise_lon").val()),s=parseInt($("#sunrise_YYYY").val()),o=parseInt($("#sunrise_MM").val()),i=parseInt($("#sunrise_DD").val());if(VALIDATE.float(e,-90,90,"Latitude")&&VALIDATE.float(t,-180,180,"Longitude")&&VALIDATE.int(s,1901,2099,"Year")&&VALIDATE.int(o,1,12,"Month")){var n,a=Math.abs(e),r=Math.abs(t);if(n=2===o&&s%4==0?29:2===o?28:4===o||6===o||9===o||11===o?30:31,VALIDATE.int(i,1,n,"Date")){sunRiseSet(s,o,i,e,t),civTwilight(s,o,i,e,t);var l="On "+s+"-"+(o<10?"0":"")+o+"-"+(i<10?"0":"")+i+"\nAt "+a+(e<0?"S":"N")+" / "+r+(t<0?"W":"E")+"\n-----------------------\nSunrise / Sunset UTC\n-----------------------\n",c=Math.floor(twStartT),d=Math.floor(60*(twStartT-c)),p=Math.floor(sRiseT),m=Math.floor(60*(sRiseT-p)),h=Math.floor(sSetT),g=Math.floor(60*(sSetT-h)),f=Math.floor(twEndT),u=Math.floor(60*(twEndT-f));return 0==twStatus?(l+="Twilight starts: ",c<10&&(l+="0"),l+=c+".",d<10&&(l+="0"),l+=d+"\n"):l+=0<twStatus&&srStatus<=0?"Twilight all night\n":"No twilight this day\n",0==srStatus?(l+="Sunrise: ",p<10&&(l+="0"),l+=p+".",m<10&&(l+="0"),l+=m+"\n",l+="Sunset: ",h<10&&(l+="0"),l+=h+".",g<10&&(l+="0"),l+=g+"\n"):l+=0<srStatus?"Sun is up 24 hrs\n":"Sun is down 24 hrs\n",0==twStatus&&(l+="Twilight ends: ",f<10&&(l+="0"),l+=f+".",u<10&&(l+="0"),l+=u),l+="\n-----------------------",l+="\n(From "+document.title.substr(0,3)+")"}}},gsq_deg:function(){var e,t;return e=$("#sunrise_gsq").val(),VALIDATE.gsq(e)?(t=CONVERT.gsq_deg(e),$("#sunrise_lat").val(t.lat),$("#sunrise_lon").val(t.lon),!0):(alert(msg.tools.coords.gsq_format),!1)}},twAngle=-6,srAngle=-35/60,sRiseT,sSetT,srStatus,twStartT,twEndT,twStatus,sDIST,sRA,sDEC,sLON;function dayDiff2000(e,t,s){return 367*e-7*(e+(t+9)/12)/4+275*t/9+s-730530}var RADEG=180/Math.PI,DEGRAD=Math.PI/180;function sind(e){return Math.sin(e*DEGRAD)}function cosd(e){return Math.cos(e*DEGRAD)}function acosd(e){return RADEG*Math.acos(e)}function atan2d(e,t){var s=RADEG*Math.atan(e/t);return t<0&&e<0?s-=180:(t<0&&0<e&&(s+=180),s)}function sunRiseSet(e,t,s,o,i){return sunTimes(e,t,s,o,i,srAngle,1)}function civTwilight(e,t,s,o,i){return sunTimes(e,t,s,o,i,twAngle,0)}function sunTimes(e,t,s,o,i,n,a){var r,l,c,d,p,m=0;d=revolution(GMST0(r=dayDiff2000(e,t,s)+.5-i/360)+180+i),sunRaDec(r),c=12-rev180(d-sRA)/15,0!=a&&(n-=.2666/sDIST),l=1<=(p=(sind(n)-sind(o)*sind(sDEC))/(cosd(o)*cosd(sDEC)))?(m=-1,0):p<=-1?(m=1,12):acosd(p)/15,0!=a?((sRiseT=c-l)<0&&(sRiseT+=24),24<(sSetT=c+l)&&(sSetT-=24),srStatus=m):((twStartT=c-l)<0&&(twStartT+=24),24<(twEndT=c+l)&&(twEndT-=24),twStatus=m)}function sunRaDec(e){var t,s,o,i;sunPos(e),s=sDIST*cosd(sLON),i=(o=sDIST*sind(sLON))*sind(t=23.4393-3.563/1e7*e),o*=cosd(t),sRA=atan2d(o,s),sDEC=atan2d(i,Math.sqrt(s*s+o*o))}function sunPos(e){var t,s,o,i,n,a,r;s=282.9404+470935e-10*e,i=(t=revolution(356.047+.9856002585*e))+(o=.016709-1.151e-9*e)*RADEG*sind(t)*(1+o*cosd(t)),n=cosd(i)-o,a=Math.sqrt(1-o*o)*sind(i),sDIST=Math.sqrt(n*n+a*a),r=atan2d(a,n),360<=(sLON=r+s)&&(sLON-=360)}function revolution(e){return e-360*Math.floor(e*(1/360))}function rev180(e){return e-360*Math.floor(e*(1/360)+.5)}function GMST0(e){return revolution(818.9874+.985647352*e)}function initUsersForm(e,t){$(document).ready(function(){COMMON_FORM.setPagingControls(),setColumnSortActions(),setColumnSortedClass(),setExternalLinks(),COMMON_FORM.setPagingStatus(e,t),setUserActions()})}function setUserActions(){$("#btn_new").click(function(){return window.open("./users/new","user_new",popWinSpecs["users_[id]"]),!1})}var LIGHTNING={init:function(){var e=$("#lightning_clear"),s=$("#lightning_go"),t=$("#lightning_gsq"),o=$("#lightning_lat"),i=$("#lightning_lon"),n=$("#lightning_zoom"),a=$("#lightning_map"),r=$("#slider-range-max"),l=$("#lightning_zoom");if(r.slider({range:"max",min:1,max:10,value:l.val(),slide:function(e,t){n.val(t.value),o.val()&&i.val()&&s.trigger("click")}}),$("#close").on("click",function(){window.close()}),t.on("change, blur",function(){$(this).val()&&(VALIDATE.gsq($(this).val())?(LIGHTNING.gsq_deg($(this).val()),s.trigger("click"),LIGHTNING.cookie_set()):alert(msg.tools.coords.gsq_format))}),o.on("change",function(){VALIDATE.float($(this).val(),-90,90,"Latitude")}),i.on("change",function(){VALIDATE.float($(this).val(),-180,180,"Longitude")}),s.on("click",function(){var e=$("#lightning_lat").val(),t=$("#lightning_lon").val(),s=$("#lightning_zoom").val();return!!VALIDATE.float(e,-90,90,"Latitude")&&(!!VALIDATE.float(t,-180,180,"Longitude")&&void LIGHTNING.map_show(e,t,s))}),e.on("click",function(){LIGHTNING.cookie_clear(),t.val(""),o.val(""),i.val(""),a.prop("src",""),n.val(5),r.slider("option","value",5)}),LIGHTNING.cookie_get("lightning")){var c=LIGHTNING.cookie_get("lightning").split("|");t.val(c[0]),o.val(c[1]),i.val(c[2]),n.val(c[3]),r.slider("option","value",c[3])}$("a[data-coords]").click(function(){return c=$(this).data("coords").split("|"),t.val(""),o.val(c[0]),i.val(c[1]),n.val(c[2]),r.slider("option","value",c[2]),LIGHTNING.map_show(c[0],c[1],c[2]),LIGHTNING.cookie_clear(),!1})},cookie_clear:function(){COOKIE.clear("lightning")},cookie_get:function(){return COOKIE.get("lightning")},cookie_set:function(){var e=$("#lightning_gsq").val()+"|"+$("#lightning_lat").val()+"|"+$("#lightning_lon").val()+"|"+$("#lightning_zoom").val();COOKIE.set("lightning",e)},gsq_deg:function(e){var t=CONVERT.gsq_deg(e);return $("#lightning_lat").val(t.lat),$("#lightning_lon").val(t.lon),!0},map_show:function(e,t,s){var o="https://map.blitzortung.org?interactive=1&NavigationControl=0&FullScreenControl=1&Cookies=0&InfoDiv=0&MenuButtonDiv=1&ScaleControl=1&CountingRangeValue=3&CountingCheckboxChecked=1&DetectorsCheckboxChecked=0&DetectorsRange=0&AudioCheckboxChecked=0&LinksCheckboxChecked=0&LinksRangeValue=0&MapStyle=0&MapStyleRangeValue=0&Advertisment=0#"+s+"/"+e+"/"+t;$("#lightning_map").prop("src",o)}};