Change your monthlyrecordT.htm as follows:
After the HTML table row for highest monthly rainfall, add:
Code: Select all
<tr class="td_rainfall_data">
<td class="main_table_text_labels">Lowest Monthly Rainfall</td>
<td class="right_align_indented"><span id="MonthlyRainL">---</span> <#rainunit></td>
<td class="right_align_indented"><span id="MonthlyRainLT">---</span></td>
</tr>
Code: Select all
var rainyears = new Array();
var raintotals = new Array(13);
var lowmonthlyrain = new Array();
var lowmonthlyrainT = new Array();
loaddata();
function loaddata() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == XMLHttpRequest.DONE ) {
if (xmlhttp.status == 200) {
processdata(xmlhttp.responseText);
}
else {
alert('error loading rainfall.txt');
}
}
};
xmlhttp.open("GET", "rainfall.txt", true);
xmlhttp.send();
}
function processdata(data) {
for (var i = 1; i < 13; i++) {
raintotals[i] = new Array();
}
// split each line using comma delimeter
var arrayOfLines = data.match(/[^\r\n]+/g);
// process each line, ignoring first line of headers
for (var i = 1; i < arrayOfLines.length; i++) {
var dataForYear = arrayOfLines[i].split(',');
// add the year to the list
rainyears.push(dataForYear[0]);
// add the totals to the lists
for (var j = 1; j < 13; j++) {
if (dataForYear[j] == '') {
// empty value, use a high value to exclude
raintotals[j].push(999);
}
else {
raintotals[j].push(parseFloat(dataForYear[j]));
}
}
}
// find minimum for each month
for (var month = 1; month < 13; month++) {
var minvalue = Math.min.apply(null,raintotals[month]);
var minyear = rainyears[raintotals[month].indexOf(minvalue)];
// add value and year to corresponding arrays
lowmonthlyrain.push(minvalue);
lowmonthlyrainT.push(minyear);
}
var d = new Date();
changeData(d.getMonth());
}
Code: Select all
document.getElementById('MonthlyRainL').innerHTML = lowmonthlyrain[month];
document.getElementById('MonthlyRainLT').innerHTML = lowmonthlyrainT[month];
Code: Select all
function init() {
var d = new Date();
changeData(d.getMonth());
}
window.onload = init;