<?xml version="1.0" encoding="UTF-8" ?>
<Module>
	<ModulePrefs
		title="Weather Channel Map"
		title_url="http://www.weather.com/"
		directory_title="Weather Channel Interactive Map"
		description="Detailed documentation at http://wiki.drbeagle.com/weather-channel-interactive-map-gadget"
		author="Cameron Hall"
		author_email="drbeagledotcom+modulefeedback@gmail.com"
		author_affiliation="Cornell University Student"
		author_location="Ithaca, NY, USA"
		screenshot="http://drbeagledotcom.googlepages.com/weather.png"
		thumbnail="http://drbeagledotcom.googlepages.com/weathertb.png"
		scaling="false"
		author_photo="http://drbeagledotcom.googlepages.com/profile.png"
		author_aboutme="2008 Information Science student at Cornell University. Enjoy doing work, but love getting distracted by google modules."
		author_link="http://drbeagle.com/"
		author_quote="So long, and thanks for all the fish"
		>
		<Require feature="dynamic-height" />
		<Require feature="analytics" />
	</ModulePrefs>
	<UserPref name="LOCATION" 
		display_name="Location" 
		datatype="location" 
		required="true" />
	<UserPref name="LATITUDE" 
		display_name="Latitude" 
		datatype="string" />
	<UserPref name="LONGITUDE" 
		display_name="Longitude" 
		datatype="string" />
	<UserPref name="ALPHA" 
		display_name="Alpha 0-100" 
		datatype="string" 
		default_value="80" />
	<UserPref name="ZOOM" 
		display_name="Zoom 1-13" 
		datatype="string" 
		default_value="7" />
	<UserPref name="HEIGHT" 
		display_name="Height" 
		datatype="string" 
		default_value="300" />
	<UserPref name="DISPLAY" display_name="Display" default_value="Radar" datatype="enum">
		<EnumValue value="Dew_Point" />
		<EnumValue value="Europe_Radar" />
		<EnumValue value="Feels_Like" />
		<EnumValue value="Radar" />
		<EnumValue value="Rain" />
		<EnumValue value="Satellite_World" />
		<EnumValue value="Satellite_Radar" />
		<EnumValue value="Snow" />
		<EnumValue value="Temperature" />
		<EnumValue value="Temperature_Change" />
		<EnumValue value="Traffic" />
		<EnumValue value="USA_Satellite" />
		<EnumValue value="UV" />
		<EnumValue value="Wind_Speed" />
	</UserPref>
	<UserPref name="BASE" display_name="Map" default_value="Road" datatype="enum">
		<EnumValue value="Road" />
		<EnumValue value="Satellite" />
	</UserPref>
	<UserPref name="DANI" 
		display_name="Animation On" 
		datatype="bool" 
		default_value="true" />
	<Content type="html">
		<![CDATA[
<div
	id="WethChanIMap"
	style="
		margin: 0 auto;
	">
</div>
<p
	id="theWidth"
	style="
		margin: 0 auto;
		text-align: right;
		font-size: 8px;
	">
</p>
	<script src="http://maps.google.com/maps?file=js" type="text/javascript"></script>
	<script type="text/javascript">
		var html="";
		function todo(lat, long, alpha, zoom, height, dtype, dani, base, loc){
      var p = _gel('theWidth');
			var width = p.offsetWidth;
			var legend = "http://image.weather.com/web/common/images/interactive/intmplgnd_";
			Map = {};
			Map.layers = [
				{
					"k":"dewpoint",
					"a":"1",
					"l":"dew.png",
					"z":"12"
				},
				{
					"k":"eurorad",
					"a":"24",
					"l":"radarprecip.png",
					"z":"12"
				},
				{
					"k":"feelslike",
					"a":"1",
					"l":"feelslike.png",
					"z":"12"
				},
				{
					"k":"radar",
					"a":"24",
					"l":"radarprecip.png",
					"z":"14"
				},
				{
					"k":"rain",
					"a":"1",
					"l":"precip.png",
					"z":"12"
				},
				{
					"k":"sat",
					"a":"12",
					"l":"radarclouds.png",
					"z":"12"
				},
				{
					"k":"satrad",
					"a":"12",
					"l":"radarprecip.png",
					"z":"12"
				},
				{
					"k":"snow",
					"a":"2",
					"l":"snow.png",
					"z":"12"
				},
				{
					"k":"temp",
					"a":"1",
					"l":"temp.png",
					"z":"12"
				},
				{
					"k":"tempchange",
					"a":"2",
					"l":"tempchange.png",
					"z":"12"
				},
				{
					"k":"traffic",
					"a":"1",
					"l":["",""],
					"z":"16"
				},
				{
					"k":"ussat",
					"a":"12",
					"l":"radarclouds.png",
					"z":"12"
				},
				{
					"k":"uv",
					"a":"2",
					"l":"uv.png",
					"z":"12"
				},
				{
					"k":"windspeed",
					"a":"1",
					"l":"wind.png",
					"z":"12"
				}
			];
			var xml = "<?xml version='1.0' encoding='iso-8859-1'?><mapsUI>"
								+"<wxLayers tileURL='http://g#.imwx.com/TileServer/imgs/' "
								+"seriesListURL='http://gima.weather.com/TileServer/serieslist.do'><layers>";
			for(i in Map.layers){
				if(Map.layers[i].k == dtype){
					legend += Map.layers[i].l;
				}
				xml += "<layer animation='"+Map.layers[i].a+"' spacer='1'>"
							 +"<key>"+Map.layers[i].k+"</key>"
							 +"<legend><![CDATA[http://image.weather.com/web/common/images/interactive/intmplgnd_"
							 +Map.layers[i].l+"]]"+"></legend>"
							 +"<interval>60000</interval>"
							 +"<showTimestamp>1</showTimestamp>"
							 +"<alpha>"+alpha+"</alpha>"
							 +"<zoomRangeMin>0</zoomRangeMin>"
							 +"<zoomRangeMax>"+Map.layers[i].z+"</zoomRangeMax>"
							 +"<outOfRangeMsg>Too close. Zoom out to view this layer.</outOfRangeMsg>"
							 +"</layer>";
			}
			xml += "</layers></wxLayers><ptLayers /></mapsUI>";
			var fvars = 'lat='+lat+'&long='+long+'&initialZoomLevel='+zoom+'&baseMap='+base+'&viewPortWidth='+width
								+'&viewPortHeight='+height+'&initialWeatherLayerType='+dtype+'&wxAnimateOnStart='+dani+'&panFrameAlpha=20';
			html += '<object type="application/x-shockwave-flash" width="'+width+'" height="'+height+'"'
							+' data="http://image.weather.com/web/flash/FMMain_beta.swf">'
							+'	<param name="movie" value="http://image.weather.com/web/flash/FMMain_beta.swf" />'
							+'	<param name="flashvars" value="'+fvars+'&config='+xml+'" />'
							+'	<embed src="http://image.weather.com/web/flash/FMMain.swf" type="application/x-shockwave-flash"'
							+' 	 width="'+width+'" height="'+height+'"></embed>'
							+'</object>';
			_gel('WethChanIMap').innerHTML = html;
			p.innerHTML += "<img style='float:left' src='"+legend+"' />";
			var web = 'http://xhtml.weather.com/xhtml/10day/'+loc;
			_IG_FetchContent(web, function (responseText) {
				RegExp.multiline = true;
				var pattern = /<table class="module">[a-zA-Z0-9.°_%\-<>":\=\/\n\s]+,/;
				var txt = pattern.exec(responseText);
				txt = txt[0];
				var imgsrc = /http:[a-zA-Z0-9._\/]+/;
				imgsrc = imgsrc.exec(txt);
				imgsrc = imgsrc[0];
				var fcst = /bold">[a-zA-Z0-9\s]+/;
				fcst = fcst.exec(txt);
				fcst = fcst[0].substring(6, fcst[0].length);
				var htmp = /br \/>[a-zA-Z0-9°]+/;
				htmp = htmp.exec(txt);
				htmp = htmp[0].substring(5, htmp[0].length);
				var ltmp = /\/[a-zA-Z0-9°\s]+</;
				ltmp = ltmp.exec(txt);
				ltmp = ltmp[0].substring(3, (ltmp[0].length - 1));
				var ppct = /:[a-zA-Z0-9°%\s]+/;
				ppct = ppct.exec(txt);
				ppct = ppct[0].substring(3, (ppct[0].length - 1));
				p.innerHTML += "<img style='vertical-align:middle;' alt='"+fcst+"' src='"+imgsrc+"' />"
											 +htmp+" - "+ltmp+"<br />rain: "+ppct
											 +"<a href='"+web+"' target='_top'>more</a>";
			});
		}
		
		if("__UP_LATITUDE__" != "" && "__UP_LATITUDE__" != 0){
			var plat = "__UP_LATITUDE__";
		}else{
			var prefs = new _IG_Prefs(__MODULE_ID__);
			var plat = prefs.getString("LOCATION.lat");
		}
		if("__UP_LONGITUDE__" != "" && "__UP_LONGITUDE__" != 0){
			var plong = "__UP_LONGITUDE__";
		}else{
			var plong = prefs.getString("LOCATION.long");
		}
		if("__UP_DISPLAY__" == 'Dew_Point'){
			var pdtype = 'dewpoint';
		}else if("__UP_DISPLAY__" == 'Europe_Radar'){
			var pdtype = 'eurorad';
		}else if("__UP_DISPLAY__" == 'Feels_Like'){
			var pdtype = 'feelslike';
		}else if("__UP_DISPLAY__" == 'Rain'){
			var pdtype = 'rain';
		}else if("__UP_DISPLAY__" == 'Satellite_World'){
			var pdtype = 'sat';
		}else if("__UP_DISPLAY__" == 'Satellite_Radar'){
			var pdtype = 'satrad';
		}else if("__UP_DISPLAY__" == 'Snow'){
			var pdtype = 'snow';
		}else if("__UP_DISPLAY__" == 'Temperature'){
			var pdtype = 'temp';
		}else if("__UP_DISPLAY__" == 'Temperature_Change'){
			var pdtype = 'tempchange';
		}else if("__UP_DISPLAY__" == 'Traffic'){
			var pdtype = 'traffic';
		}else if("__UP_DISPLAY__" == 'USA_Satellite'){
			var pdtype = 'ussat';
		}else if("__UP_DISPLAY__" == 'UV'){
			var pdtype = 'uv';
		}else if("__UP_DISPLAY__" == 'Wind_Speed'){
			var pdtype = 'windspeed';
		}else{
			var pdtype = 'radar';
		}		
		if("__UP_BASE__" == 'Road'){
			var pbase = 'r';
		}else{
			var pbase = 'h';
		}
		if(__UP_DANI__){
			var pdani = 'true';
		}else{
			var pdani = 'false';
		}
		_IG_RegisterOnloadHandler(todo(plat, plong, "__UP_ALPHA__", "__UP_ZOOM__",
			"__UP_HEIGHT__", pdtype, pdani, pbase, "__UP_LOCATION__"));
		_IG_Analytics("UA-1238140-2", "/weather");
		_IG_AdjustIFrameHeight();
	</script>
		]]>
	</Content>
</Module>