function test_completed(download_speed, upload_speed, latency, server_id) {
	var results = document.getElementById('results');
	var results_latency = document.getElementById('results_latency');

	if (results) {
		var to_assign = {
			raw_down: pretty_rate(download_speed),
		   raw_up:   pretty_rate(upload_speed),
		   oh_down:  pretty_rate(download_speed*OVERHEAD),
		   oh_up:    pretty_rate(upload_speed*OVERHEAD)
		}

		if (latency && results_latency) {
			results_latency.style.display = 'block';
			to_assign.latency = latency + 'ms';
		}

		for (var i in to_assign) {
			e = document.getElementById(i);

			if (e) {
				e.innerHTML = to_assign[i];
			}
		}

		results.style.display = 'block';
	}
	
	var abovebefore = document.getElementById('abovebefore');
	if (abovebefore) {
		abovebefore.style.display = "none";
	}
	
	var belowbefore = document.getElementById('belowbefore');
	if (belowbefore) {
		belowbefore.style.display = "none";
	}
	
	var aboveafter = document.getElementById('aboveafter');
	if (aboveafter) {
		aboveafter.style.display = "block";
	}

	var belowafter = document.getElementById('belowafter');
	if (belowafter) {
		belowafter.style.display = "block";
	}
}

function test_started(test_count, server_id) {
	var teststarted = document.getElementById('teststarted');
	if (teststarted) {
		teststarted.style.display = "block";
	}
}

function pretty_rate(rate) {
	var kilo = 1;
	var mega = 1024;

	if (rate < mega) {
		divisor = kilo;
		unit = 'K';
	} else {
		divisor = mega;
		unit = 'M';
	}

	return (Math.round((rate/divisor)*10)/10) + unit + 'bps';
}
