/*
Copyright (C) 2011 BlueGolf, LLC. All Rights Reserved
*/
function Weather(f,a,e){Weather.display=e;
var b=(location.protocol=="https:")?"https://bg-weather.appspot.com":"http://weather.bluegolf.com";
var c=new Date();var g=c.getFullYear();var d=String(101+c.getMonth()).substring(1);
var h=String(100+c.getDate()).substring(1);var i=document.createElement("script");
i.type="text/javascript";i.async=true;i.src=b+"/forecasts/weather.json?jsonpp=Weather.forecast%3DWeather.parse%28%29%3Bif%28typeof+Weather.display%3D%3D%3D%27function%27%29%7BWeather.display%28%29%3B%7D&jsonp=ndfd%3D&lat="+f+"&lon="+a+"&startDate="+g+"-"+d+"-"+h;
(document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0]).appendChild(i);
}Weather.elementByAttribute=function(f,c,e,d){var a=undefined;for(var b=0;f&&b<f.length;
b++){if((d?f[b][c][d]:f[b][c])==e){a=f[b];break;}}return a;};Weather.getDetailLink=function(a,b){return"http://www.weather.com/outlook/recreation/golf/wxdetail/"+a+((b>0)?("?dayNum="+b):"");
};Weather.indexByAttribute=function(e,c,d){var a=undefined;for(var b=0;e&&b<e.length;
b++){if(e[b][c]==d){a=b;break;}}return a;};Weather.parse=function(){var m=[];if(window.ndfd&&ndfd.dwml&&ndfd.dwml.data){var b=Weather.elementByAttribute(ndfd.dwml.data.parameters.temperature,"@type","maximum");
var g=Weather.elementByAttribute(ndfd.dwml.data.parameters.temperature,"@type","minimum");
var l=Weather.elementByAttribute(ndfd.dwml.data["time-layout"],"layout-key",b["@time-layout"],"$")["start-valid-time"];
for(var d=0;l&&d<l.length;d++){var h=l[d].$;if(h.substring(10,19)!="T06:00:00"){continue;
}var j=m[m.length]={};j.iso=h.substring(0,4)+h.substring(5,7)+h.substring(8,10);m["@"+j.iso]=j;
if(b.value[d]){j.high=b.value[d].$;}var c=g;var a=Weather.elementByAttribute(ndfd.dwml.data["time-layout"],"layout-key",c["@time-layout"],"$")["start-valid-time"];
var f=h.substring(0,10)+"T18:00:00"+h.substring(19);var e=Weather.indexByAttribute(a,"$",f);
if(c.value[e]){j.low=c.value[e].$;}j.description="";c=ndfd.dwml.data.parameters.weather;
a=Weather.elementByAttribute(ndfd.dwml.data["time-layout"],"layout-key",c["@time-layout"],"$")["start-valid-time"];
e=Weather.indexByAttribute(a,"$",h);if(c["weather-conditions"][e]&&c["weather-conditions"][e]["@weather-summary"]){j.description=c["weather-conditions"][e]["@weather-summary"];
}c=ndfd.dwml.data.parameters["probability-of-precipitation"];a=Weather.elementByAttribute(ndfd.dwml.data["time-layout"],"layout-key",c["@time-layout"],"$")["start-valid-time"];
e=Weather.indexByAttribute(a,"$",h);if(c.value[e]){j.day=c.value[e].$;}j.icon="/_img/weather/blank.gif";
c=ndfd.dwml.data.parameters["conditions-icon"];a=Weather.elementByAttribute(ndfd.dwml.data["time-layout"],"layout-key",c["@time-layout"],"$")["start-valid-time"];
e=Weather.indexByAttribute(a,"$",h);if(c["icon-link"][e]&&(/\/(hi_)?n?([a-z]+)([0-9]*)\.((gif)|(jpg)|(png))$/i).test(c["icon-link"][e].$)){var k=Weather.iconMap[RegExp.$2];
if(k){j.icon="/_img/weather/"+k+".gif";}}if(j.high&&j.high<32){j.type="snow";}else{if(j.low&&j.low<33||j.high&&j.high<40){j.type="rain or snow";
}else{j.type="rain";}}}}return m;};Weather.iconMap={bkn:"ptcldy",blizzard:"snow",cold:"snow",du:"haze",few:"ptcldy",fg:"foggy",fu:"haze",fzra:"rain",hot:"sunny",hurr:"windy",ip:"snow",mix:"snow",ovc:"cloudy",raip:"snow",ra:"rain",rasn:"snow",sctfg:"foggy",sct:"ptcldy",scttsra:"rain",shra:"rain",shwrs:"rain",skc:"sunny",sn:"snow",tor:"tstrms",tsra:"tstrms",wind:"windy"};

