function updateImage(intRain) {
  document.getElementById('timestep').innerHTML = "<strong>...updating...</strong>";
  document.getElementById('timestep').style.background = "#ffff00";
  map.clearOverlays();
  addCounties();
  addUDFCDBound();
  GDownloadUrl("alert_rain.xml", function(data) {
  	var xml = GXml.parse(data);
    var markers = xml.documentElement.getElementsByTagName("gage_rain");
    for (var i = 0; i < markers.length; i++) {
	    var aname = markers[i].getAttribute("name");
	    var id = markers[i].getAttribute("id");
	    var latDMS = markers[i].getAttribute("lat");
		var pLat = dmsCon(latDMS);
	    var longDMS = markers[i].getAttribute("long");
		var pLong = (dmsCon(longDMS) * -1);
		var lstRpt = markers[i].getAttribute("last_rpt");
		var m5 = markers[i].getAttribute("min_5");
		var m15 = markers[i].getAttribute("min_15");
		var m30 = markers[i].getAttribute("min_30");
		var h1 = markers[i].getAttribute("hour_1");
		var h3 = markers[i].getAttribute("hour_3");
		var h6 = markers[i].getAttribute("hour_6");
		var h12 = markers[i].getAttribute("hour_12");
		var h24 = markers[i].getAttribute("hour_24");
		var d7 = markers[i].getAttribute("day_7");
	    var d21 = markers[i].getAttribute("day_21");
	    var point = new GLatLng(pLat, pLong);
	    var rainMarker = createRainMarker(point, aname, id, m5, m15, m30, h1, h3, h6, h12, h24, d7, d21, lstRpt, intRain);
	    map.addOverlay(rainMarker);
    }
	var datestamp = getDateVar();
	if (intRain == 'm15') {
		document.getElementById('timestep').style.background = "#ffffff";
		document.getElementById('timestep').innerHTML = "ALERT Rainfall Map, Timestep: 15-minutes, " + datestamp;
	} else if (intRain == 'm30') {
		document.getElementById('timestep').style.background = "#ffffff";
		document.getElementById('timestep').innerHTML = "ALERT Rainfall Map, Timestep: 30-minutes, " + datestamp;
	} else if (intRain == 'h1') {
		document.getElementById('timestep').style.background = "#ffffff";
		document.getElementById('timestep').innerHTML = "ALERT Rainfall Map, Timestep: 1-hour, " + datestamp;
	} else if (intRain == 'h3') {
		document.getElementById('timestep').style.background = "#ffffff";
		document.getElementById('timestep').innerHTML = "ALERT Rainfall Map, Timestep: 3-hours, " + datestamp;
	} else if (intRain == 'h6') {
		document.getElementById('timestep').style.background = "#ffffff";
		document.getElementById('timestep').innerHTML = "ALERT Rainfall Map, Timestep: 6-hours, " + datestamp;
	} else if (intRain == 'h12') {
		document.getElementById('timestep').style.background = "#ffffff";
		document.getElementById('timestep').innerHTML = "ALERT Rainfall Map, Timestep: 12-hours, " + datestamp;
	} else if (intRain == 'd7') {
		document.getElementById('timestep').style.background = "#ffffff";
		document.getElementById('timestep').innerHTML = "ALERT Rainfall Map, Timestep: 7-days, " + datestamp;
	} else if (intRain == 'd21') {
		document.getElementById('timestep').style.background = "#ffffff";
		document.getElementById('timestep').innerHTML = "ALERT Rainfall Map, Timestep: 21-days, " + datestamp;
	} else {
		document.getElementById('timestep').style.background = "#ffffff";
		document.getElementById('timestep').innerHTML = "ALERT Rainfall Map, Timestep: 24-hours, " + datestamp;
	}
  });
}

function createRainMarker(point, aname, id, m5, m15, m30, h1, h3, h6, h12, h24, d7, d21, lstRpt, intRain) {
	var iconOptions = {};
	iconOptions.width = 32;
	iconOptions.height = 12;
	iconOptions.labelSize = 0;
	iconOptions.shape = "roundrect";
	var datestamp = getDateVar();
	if (intRain == 'm15') {
		iconOptions.primaryColor = setBgClr(m15);
		iconOptions.labelColor = setLblClr(m15);
		iconOptions.label = lblValue(m15);
	} else if (intRain == 'm30') {
		iconOptions.primaryColor = setBgClr(m30);
		iconOptions.labelColor = setLblClr(m30);
		iconOptions.label = lblValue(m30);
	} else if (intRain == 'h1') {
		iconOptions.primaryColor = setBgClr(h1);
		iconOptions.labelColor = setLblClr(h1);
		iconOptions.label = lblValue(h1);
	} else if (intRain == 'h3') {
		iconOptions.primaryColor = setBgClr(h3);
		iconOptions.labelColor = setLblClr(h3);
		iconOptions.label = lblValue(h3);
	} else if (intRain == 'h6') {
		iconOptions.primaryColor = setBgClr(h6);
		iconOptions.labelColor = setLblClr(h6);
		iconOptions.label = lblValue(h6);
	} else if (intRain == 'h12') {
		iconOptions.primaryColor = setBgClr(h12);
		iconOptions.labelColor = setLblClr(h12);
		iconOptions.label = lblValue(h12);
	} else if (intRain == 'd7') {
		iconOptions.primaryColor = setBgClr(d7);
		iconOptions.labelColor = setLblClr(d7);
		iconOptions.label = lblValue(d7);
	} else if (intRain == 'd21') {
		iconOptions.primaryColor = setBgClr(d21);
		iconOptions.labelColor = setLblClr(d21);
		iconOptions.label = lblValue(d21);
	} else {
		iconOptions.primaryColor = setBgClr(h24);
		iconOptions.labelColor = setLblClr(h24);
		iconOptions.label = lblValue(h24);
	}
    var newIcon = MapIconMaker.createFlatIcon(iconOptions);
	var marker = new GMarker(point, {icon: newIcon, title: id + " - " + aname});
	var html = "<b>" + id + " - " + aname + "</b><br/> \
	Last report: " + lstRpt + "<br/> \
	<a href=\"http://alert.udfcd.org/cgi-bin/datadisp_q?ID=" + id + "&NM=100\" target=\"_blank\">Last 100 reports</a><br/> \
	<table border=1> \
	<tr><td>15-min:</td><td>" + m15 + "</td></tr> \
	<tr><td>1-hour:</td><td>" + h1 + "</td></tr> \
	<tr><td>3-hour:</td><td>" + h3 + "</td></tr> \
	<tr><td>24-hour:</td><td>" + h24 + "</td></tr> \
	<tr><td>7-day:</td><td>" + d7 + "</td></tr></table>";
	GEvent.addListener(marker, 'click', function() {
		marker.openInfoWindowHtml(html);
	});
	return marker;
}

function dmsCon(strDMS) {
	var splitDMS = strDMS.split(":");
	var numD = parseInt(splitDMS[0], 10);
	var numM = parseInt(splitDMS[1], 10);
	var numS = parseInt(splitDMS[2], 10);
	var numDD = numD + (numM / 60) + (numS / 3600);
	return numDD;
}

function setBgClr(rainVal) {
	if (rainVal > 3) {
		bgClr = "#FFFFFF";
	} else if (rainVal > 1) {
		bgClr = "#000000";
	} else {
		bgClr = "#000000";
	}
	return bgClr;
}

function setLblClr(rainVal) {
	if (rainVal > 3) {
		lblClr = "#FF0000";
	} else if (rainVal > 1) {
		lblClr = "#FFFF00";
	} else {
		lblClr = "#FFFFFF";
	}
	return lblClr;
}

function lblValue(rainVal){
	if (rainVal == -999) {
		rainLbl = "NR";
	} else {
		rainLbl = rainVal;
	}
	return rainLbl;
}

function getDateVar() {
  var currentTime = new Date();
  var ME = currentTime.getMonth() + 1;
  var DE = currentTime.getDate();
  var YE = currentTime.getFullYear();
  var minutes = currentTime.getMinutes();
	if (minutes < 10){
		minutes = "0" + minutes;
	}
  var HE = currentTime.getHours() + ":" + minutes;
  return "Date: " + ME + "-" + DE + "-" + YE + " " + HE;
}

function getCurDE() {
  var currentTime = new Date();
  var DE = currentTime.getDate();
  return DE;
}

function getCurME() {
  var currentTime = new Date();
  var ME = currentTime.getMonth() + 1;
  return ME;
}

function getCurYE() {
  var currentTime = new Date();
  var YE = currentTime.getFullYear();
  return YE;
}