function getWeather() {
    var xmlHttpReq = false;
    if (window.XMLHttpRequest) {
        xmlHttpReq = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlHttpReq.open('GET', '/weather.json.php', true);
    xmlHttpReq.onreadystatechange = function() {
        if (xmlHttpReq.readyState == 4) {
			var data = JSON.parse(xmlHttpReq.responseText);
			if (!data) return;

			var dy = data.local_date_time_full.substr(0,4);
			var dm = data.local_date_time_full.substr(4,2);
			var dd = data.local_date_time_full.substr(6,2);
			var th = data.local_date_time_full.substr(8,2);
			var tm = data.local_date_time_full.substr(10,2);
			//var ts = data.local_date_time_full.substr(12,2);

			var temp = data.apparent_t + '&deg;C';
			var hum  = data.rel_hum + '%';

			var cloud = data.cloud.toLowerCase().replace(' ','_');

//			var raining = (data.air_temp <= data.dewpt) ? true : false;
			var filename = null;
			if (th < 6)       { filename = '/w-night.css'; }
			else if (th < 8)  { filename = '/w-morning.css'; }
			else if (th < 18) { filename = '/w-daytime.css'; }
			else if (th < 19) { filename = '/w-dusk.css'; }
			else              { filename = '/w-night.css'; }

			var oldCSS = document.getElementById('weather-css');
			if (oldCSS) {
				var oldCSSParent = oldCSS.parentNode;
				if (oldCSSParent) {
					oldCSSParent.removeChild(oldCSS);
				}
			}

			var fileref=document.createElement('link');
			fileref.setAttribute('id',   'weather-style');
			fileref.setAttribute('rel',  'stylesheet');
			fileref.setAttribute('type', 'text/css');
			fileref.setAttribute('href', filename);
			document.getElementsByTagName('head')[0].appendChild(fileref);

			var cld = document.getElementById('cld');
			cld.style.background = "url('/clouds/"+cloud+".png')";

			var report = document.getElementById('weather');
			report.innerHTML = temp + ' ' + hum + ', '+th+':'+tm+', '+dy+'-'+dm+'-'+dd+'<br><small><a href="http://www.bom.gov.au/products/IDQ60801/IDQ60801.94294.shtml">(source)</a></small>';

        }
    }
    xmlHttpReq.send(null);
}
function runWeather() {
	window.setInterval(getWeather, 1000 * 60 * 10);
	getWeather();
}

if(window.addEventListener) {
	window.addhandler= function(who, which, what){ return who.addEventListener(which, what, false); }
} else if(window.attachEvent) {
	window.addhandler= function(who, which, what){ return who.addEventListener('on'+which, what); }
}
addhandler(window,'load',runWeather);

