(function(){webmet={request:{url:"/data/current-data",dataType:"json",success:k,error:l},dataElements:".sitename,.datatime,.param,.metar,.status",updateAWWP:u,getParamNames:o,getStatusNames:p,getData:n,initPage:k,refreshData:f,getPData:w,getSite:b,getAwwpClass:g,getAgeClass:A,nowTimeSecs:c,matchPName:d,formatPWC:a,refresh:f,maxsiteage:172800,getPValue:function(E,D,F){return q(E,D,d(F))}};var h=webmet.request,B={},t={},C={},x={maxpitchup:z("U"),maxpitchdown:z("D"),maxrollport:z("L"),maxrollstbd:z("R"),pwcode:a},s=[null,"stale","expired"],r=[null,"alert","warning","danger"],y=["NIL","","","","Haze","Haze","","","","","Mist","","","","","","","","","","","Recent Unidentified Precipitation","Recent Drizzle","Recent Rain","Recent Snow","Recent Freezing Rain","","","","","Fog","Partial Fog","Fog","Fog","Fog","","","","","","Unidentified Precipitation","Light Unidentified Precipitation","Heavy Unidentified Precipitation","","","","","","","","Drizzle","Light Drizzle","Drizzle","Heavy Drizzle","Light Freezing Drizzle","Freezing Drizzle","Heavy Freezing Drizzle","","","","Rain","Light Rain","Rain","Heavy Rain","Light Freezing Rain","Freezing Rain","Heavy Freezing Rain","Light Sleet","Heavy Sleet","","Snow","Light Snow","Snow","Heavy Snow","Light Ice Pellets","Ice Pellets","Heavy Ice Pellets","Snow Grains","Ice Crystals","","Unidentified Precipitation Shower","Light Rain Shower","Rain Shower","Heavy Rain Shower","Heavy Rain Shower","Light Snow Shower","Snow Shower","Heavy Snow Shower","","Hail","","","","","","","","","","","Volcanic Ash","","","","","","","","",""];function u(D){webmet.awwp.scheme=D;l()}function o(){return $(".param").map(function(){return this.className.match(/s\d+\w+/g)}).get()}function p(){return $(".status").map(function(){return this.className.match(/s\d+\w+/g)}).get()}function n(){$.ajax(h);setTimeout("webmet.getData()",60000)}function k(D){B=D.params;h.success=m;h.url=h.url.replace(/paramnames=[\w%]*/,"");h.data={paramids:D.paramids};if(document.getElementById("awwp-select")){$("#awwp-select").change(function(E){u($(this).val());$.cookie("awwp",$(this).val(),{expires:366})});if($.cookie("awwp")!=null){$("#awwp-select").val($.cookie("awwp"));webmet.awwp.scheme=$.cookie("awwp")}else{$("#awwp-select").val("general");webmet.awwp.scheme="general"}}m(D)}function m(G){var F=c();for(var E in G.sites){var D=G.sites[E];D.messages=G.messages;t[D.siteid]=D;C[D.siteid]=G.data[D.siteid];D.updated=D.age==null?0:F-D.age}$(".updatetime").html(j());l()}function l(){var F=c();for(var G in t){var E=t[G],D=F-E.updated;E.expired=D>E.dataexpired?2:D>E.datastale?1:0}webmet.refresh(t)}function f(J){var H=c();for(var I in J){var G=J[I],F=H-G.updated,E=$(webmet.dataElements.format(I));v(E.not(".sitename"),G.expired,s);E.filter(".sitename").html('<a href="/perl/current-site.pl?siteid={0}">{1}</a>'.format(G.siteid,G.sitename));E.filter(".datatime").html(G.datatime?(F<webmet.maxsiteage?G.datatime:'<div style="color:#000">Back Soon</div>'):'<div style="color:#000">Coming Soon</div>');E.filter(".metar").html(G.metar);E.filter(".param").each(function(){i(this,G)});E.filter(".status").each(function(){e(this,G)});if(G.rptfile!=""){var D=null;if(G.rptage<=1800){D="wr-green"}else{if(G.rptage<=3600){D="wr-amber"}else{if(G.rptage<=7200){D="wr-red"}else{if(G.rptage<=216000){D="wr-grey"}}}}if(D!=null){E.filter(".report").html('<button class="wr-report-link {0}" onclick="javascript:openURL(\'/reports/pdf/{1}\')">PDF</button>'.format(D,G.rptfile))}else{E.filter(".report").html("")}}else{E.filter(".report").html("")}}}function i(F,E){var D=d(F.className),G=w(E.siteid,D[0]);F.title=webmet.qc.check(G,E.messages);v($(F),webmet.awwp.get(G,E.expired),r);F.innerHTML=q(G,E.siteid,D)}function e(G,F){var E=d(G.className),H=w(F.siteid,E[0]),D='<img border="0" src="/images/led-{0}.png" alt="Sensor {1}" />';if(H.s==0){G.innerHTML=D.format("off","Unused")}else{if((H.s&1)==0||F.expired>1||H.qc>1){G.innerHTML=D.format("err","Error")}else{if(H.qc>0||F.expired){G.innerHTML=D.format("warn","Warning")}else{G.innerHTML=D.format("ok","OK")}}}}function q(H,E,D){var G="///";if(H.s==0){G="---"}else{if(H.qc>1){G="#"}else{if(H.s&1){if(H.v==100000&&H.param.awwp=="cloudheight"){G=D[2].match(/1$/)?"NSC":"NIL"}else{var F=x[D[2]];G=F?F(H,E,D):H.v}}}}if(H.s&&H.qc==1){G+="*"}return G}function w(F,E){var G={v:0,s:0},H=B[E];if(H){var D=C[F][H.id];if(D){G=D}G.param=H}return G}function v(E,D,G){for(var F in G){E.toggleClass(G[F],D==F)}}function b(D){return t[D]}function g(D){return r[D]}function A(D){return s[D]}function d(D){return D.match(/s(\d+)(\w+)/)}function z(D){return function(E){return E.v+D}}function a(E){var D=y[E.v];if(D){return D}E.s=2;return"///"}String.prototype.format=function(){var E=/\{\d+\}/g,D=arguments;return this.replace(E,function(F){return D[F.match(/\d+/)]})};function c(){return Math.floor((new Date()).getTime()/1000)}function j(){var E=new Date();var D=E.getUTCMonth()+1;return"{0}/{1}/{2} {3}:{4} UTC".format((E.getUTCDate()<10?"0":"")+E.getUTCDate(),(D<10?"0":"")+D,E.getUTCFullYear(),(E.getUTCHours()<10?"0":"")+E.getUTCHours(),(E.getUTCMinutes()<10?"0":"")+E.getUTCMinutes())}})();
