function ResultViewModel(n,t){var i,r,u,f;if(!n)throw"Parameter 'map' is null.";if(!t)throw"Parameter 'opts' is null.";i=this;i.range=ko.observable(t.range);i.range.subscribe(function(n){i.loadResults(i.origin._latestValue,n)});i.origin=ko.observable();i.origin.subscribe(function(n){i.loadResults(n,i.range)});r=null;i.sites=ko.observableArray([]);i.sites.subscribe(function(t){r=new google.maps.LatLngBounds;r.extend(new google.maps.LatLng(i.origin()));t.forEach(function(t){var u=t.value;t.status==="added"?(u._marker=new google.maps.Marker({position:{lat:parseFloat(u.SiteLatitude),lng:parseFloat(u.SiteLongitude)},map:n,animation:google.maps.Animation.DROP,icon:{path:google.maps.SymbolPath.CIRCLE,fillColor:"red",fillOpacity:1,scale:10,strokeColor:"black",strokeWeight:1},zIndex:1,label:u._mapKey}),r.extend(u._marker.getPosition()),function(n){n._marker.addListener("click",function(){i.selectedSite(n)})}(u)):t.status==="deleted"&&u._marker.setMap(null)});n.fitBounds(r)},null,"arrayChange");u=null;i.selectedSite=ko.observable();i.selectedSite.subscribe(function(t){if(u&&u.setMap(null),!t){r&&n.fitBounds(r);return}n.panTo(t._marker.position);u=new google.maps.Marker({position:t._marker.position,map:n,zIndex:2,optimized:!1,animation:google.maps.Animation.DROP})});i.locale=ko.observable();f=new google.maps.Marker({zIndex:2,optimized:!1});i.mouseIn=function(t){f.setOptions({position:{lat:parseFloat(t.SiteLatitude),lng:parseFloat(t.SiteLongitude)},map:n})};i.mouseOut=function(){f.setMap(null)};i.loadResults=function(r,u){if(i.sites.removeAll(),i.selectedSite(null),!t.sitesUrl){console.warn("'sitesUrl' option not provided. Skipping search.",t);return}t.onChange&&t.onChange();n.panTo(r);$.ajax({method:"POST",url:t.sitesUrl,data:{lat:r.lat,lon:r.lng,rangeM:u}}).done(function(n){for(var t=0;t<n.length;t++)n[t]._mapKey=(t+1).toString();ko.utils.arrayPushAll(i.sites,n)}).always(function(){t.onChangeComplete&&t.onChangeComplete()})};i.clearSelected=function(){i.selectedSite(null)};i.formatTime=function(n){var t=$.map(n.split(":"),function(n){return parseInt(n)});return(t[0]%12||12).toString()+":"+(t[1]<10?"0"+t[1]:t[1]).toString()+(t[0]<12?" AM":" PM")};i.formatString=function(n){for(var i=Array.prototype.slice.call(arguments,1),t=0;t<i.length;t++)n=n.replace("{"+t+"}",i[t]);return n};i.translateMe=function(n){if(t.onLocalize)t.onLocalize(n)}}function initApp(){var t=new google.maps.Map(document.getElementById("map"),{center:{lat:28.6282,lng:-82.4426},zoom:8}),i,r,n,u;if(google.maps.event.addListener(t,"idle",function(){t.panBy(0,0)}),i=$("#content-row"),n=new ResultViewModel(t,{range:$("#range-selector").val(),sitesUrl:i.data("sites-url"),onChange:function(){i.hasClass("invisible")&&(i.removeClass("invisible"),google.maps.event.trigger(t,"resize"));r=window.setTimeout(function(){$("#loadingAlert").fadeIn()},1e3)},onChangeComplete:function(){window.clearTimeout(r);$("#loadingAlert").hide()},onLocalize:function(n){var t=$("#locale-selector"),i=t.find("[selected]").val();t.val()!==i&&$(n).lwl10n({lang:t.val(),initLang:i,localeUrl:t.data("locale-url"),forceCache:!0})}}),ko.applyBindings(n,i[0]),u=new google.maps.places.Autocomplete($("#findASite")[0],{bounds:new google.maps.LatLngBounds(new google.maps.LatLng(24.3,-87.8),new google.maps.LatLng(31.1,-79.6)),componentRestrictions:{country:"us"},type:"address"}),u.addListener("place_changed",function(){var t=this.getPlace();t.geometry&&n.origin({lat:t.geometry.location.lat(),lng:t.geometry.location.lng()})}),navigator.geolocation&&navigator.geolocation.getCurrentPosition(function(t){n.origin({lat:t.coords.latitude,lng:t.coords.longitude})}),$("#findASite").removeAttr("disabled").focus(),$("#results-collapser").click(function(){$(this).children().first().toggleClass("fa-chevron-left fa-chevron-right");var n=$("#map-column");n.removeClass("col-md-12").addClass("col-md-8");$("#results-column").addClass("invisible").animate({width:"toggle"},350,null,function(){$(this).is(":visible")||n.removeClass("col-md-8").addClass("col-md-12");$(this).removeClass("invisible");google.maps.event.trigger(t,"resize")})}),$(document).ajaxError(function(){$("#error-dialog").modal()}),$("#fas-app-root").data("show-disclaimer"))$("#disclaimer-dialog").modal().on("hidden.bs.modal",function(){$("#findASite").focus()});$("#locale-selector").change(function(){n.locale($(this).val())});$("#range-selector").change(function(){n.range($(this).val())})}function initLocale(){if($("#locale-selector").removeClass("invisible").change(function(){var n=$(this).find("option:selected");$(document).lwl10n({lang:n.val(),initLang:$(this).find("[selected]").val(),localeUrl:$(this).data("locale-url")});$("html").attr("lang",n.val())}),navigator.language&&navigator.language.length>=2){var n=navigator.language.substr(0,2),t=$("#locale-selector");t.val()!==n&&$.inArray(n,t.children().map(function(){return $(this).attr("value")}))>=0&&t.val(n).change()}}(function(n){var t="l10n",i={};n.fn.lwl10n=function(r){var f,e,u;if(!r)throw"Parameter 'opts' is null";if(f=this,e=function(i){f.find("[data-"+t+"]").addBack("[data-"+t+"]").each(function(){n(this).text(i[n(this).data(t)])});f.find("[data-"+t+"-attrs]").addBack("[data-"+t+"]").each(function(){var r=n(this).data(""+t+"-attrs"),u;if(!n.isPlainObject(r)){console.warn("'data-"+t+"-attrs' attribute must be a JSON object",this);return}u=n(this);n.each(r,function(n,t){u.attr(n,i[t])})});r.finished&&r.finished()},r.initLang&&(r.forceCache||!i[r.initLang])&&(u=i[r.initLang]?i[r.initLang]:{},f.find("[data-"+t+"]").addBack("[data-"+t+"]").each(function(){u[n(this).data(t)]||(u[n(this).data(t)]=n(this).text())}),f.find("[data-"+t+"-attrs]").addBack("[data-"+t+"]").each(function(){var i=n(this).data(""+t+"-attrs"),r;if(!n.isPlainObject(i)){console.warn("'data-"+t+"-attrs' attribute must be a JSON object",this);return}r=n(this);n.each(i,function(n,t){u[t]||(u[t]=r.attr(n))})}),i[r.initLang]=u),!i[r.lang]){n.getJSON(r.localeUrl+r.lang+".json",null,function(n){i[r.lang]=n;e(n)});return}return e(i[r.lang]),this}})(jQuery)