
 

	
// widget settings
var weatherElem="#weatherwidget";
var numOfDays = 2;

// XML settings
var xmlTimeout=30000;
var xmlProxy="/widget/xmlProxy.aspx?xmlUrl=";

// messages
var tabWeather="Weather";
var xmlLoadingImg="/widget/img/load.gif";
var xmlLoadingWeather="Loading weather feed...";
var xmlErrorWeatherGet="Error fetching weather feed!";
var xmlErrorWeatherShow="Error displaying weather feed!";

// create proxied URLs
function proxy(url){
var result
	if (xmlProxy)
		result=xmlProxy+encodeURIComponent(url);
	else
		result= url;
return result;
}


// what to do when there is an error
function weatherError(j,msg)
{
	// show an error message
	$(j).empty().append(msg);
}

function getWeather(url) {
	

	// fetch data
	try {
		$.ajax({
			url:proxy(url),
			type:'GET',
			dataType:'xml',
			timeout:xmlTimeout,
			cache:false,
			error:function(){weatherError(weatherElem,xmlErrorWeatherGet);},
			success:function(xml){
				if(typeof AIS_Debug == "undefined" ) AIS_Debug=0;

				if (AIS_Debug==1) alert("in Success");
				$(weatherElem).empty();
				
				// station name
				$(xml).find("location > stationName")
						.each(function(i){
						$(weatherElem).append("<small>("+$(this).text()+" )</small>");
					});
					
				// weather and disease risk
				$(weatherElem).append("<ul></ul>");				
				$(xml).find("weathericon > day")
					.each(function(i){
						if (AIS_Debug==1) alert("day "+i);
						if (i<numOfDays) {
							//var min = $(xml).find("dailytable[@id='vew_temp']/content/row[@id='temp_min']/cell:eq("+i+")/text").text();
							var min = $(xml).find("#temp_min > cell > text").eq(i).text();
							if (AIS_Debug==1) alert("min "+min);
							var max = $(xml).find("#temp_max > cell > text").eq(i).text();
							if (AIS_Debug==1) alert("max "+max );
							var day = $(xml).find("#vew_temp > heading2 > cell > text").eq(i).text();
							if (AIS_Debug==1) alert("day "+day );
							var weatherStr = "<li class='iconday'><img src='" + $(this).children("image").text() + "' width='30' height='30' title='" + $(this).children("description").text() + "'><div class='temp'> <div  class='max'>"+max+"&deg;C</div><div class='min'>"+min+"&deg;C</div></div> <div class='day'>" + day  + "</div>";
							if (AIS_Debug==1) alert("weatherStr "+weatherStr );							

							var diseaseRisks = "";
							if(vew_daily != '')
								$(xml).find("#"+vew_daily+" > content > row")
								.each(function(j){
									var rowID = $(this).attr("id");
									var color = $(this).children("cell:eq("+i+")").children("bgcolor").text();
									var diseaseURL = diseaseURLBase;
									if (color == '#FF0000') 
									{											
										var diseaseName = $(this).children("label").text();
										disease = "<li><a href='"+diseaseURL+"' title='"+diseaseName+"'><img src='/media/295233/stop.png' height='16' width='16' alt='Disease Risk High!' title='"+diseaseName+"'/></a></li>";
										diseaseRisks = diseaseRisks + disease;
									}

									});
							if (AIS_Debug==1) alert("diseaseRisks "+diseaseRisks );
								
							weatherStr = weatherStr + "<ul class='disease'>" + diseaseRisks + "</ul>" + "</li>";
							$(weatherElem + " > ul").append(weatherStr);
							/*$(weatherElem).filter("a").Tooltip({showURL: false});
							$(weatherElem).filter("input").Tooltip({showURL: false});
							$(weatherElem).filter("img").Tooltip({showURL: false});
							$(weatherElem).filter("acronym").Tooltip({showURL: false});*/
							
							
							
							//$(weatherElem).filter("a, input, img, acronym").Tooltip({showURL: false});
						}
					if (AIS_Debug==1) alert("End SUccess");
					});
			}
		});
	}
	catch (e)
	{
		weatherError(weatherElem,xmlErrorWeatherShow);
	}
}

// initialisation
function weather() {
	var url=urlWeatherWidget;
	// remove contents of source element and add loading message
	var imgElem="<img src='"+xmlLoadingImg+"' alt='"+xmlLoadingWeather+"'/>";
	$(weatherElem)
		.empty()
		.append("<span id='loading'><br />"+imgElem+"</span>")
	;
	getWeather(url);
	
}




