function test_completed(download_speed, upload_speed, latency, server_id) {
	download_rate = Math.round((download_speed/8)*10)/10;
	upload_rate = Math.round((upload_speed/8)*10)/10;
	var speed = document.getElementById('speed');
	if (speed) {
		if (latency) {
			speed.innerHTML = "<strong>Last Result:</strong><br/>" + "Download Speed: <strong>" + download_speed + "</strong> kbps (" + download_rate + " KB/sec transfer rate)<br/>" + "Upload Speed: <strong>" + upload_speed + "</strong> kbps (" + upload_rate + " KB/sec transfer rate)<br/>" + "Latency: <strong>" + latency + "</strong> ms";
		} else {
			speed.innerHTML = "<strong>Last Result:</strong><br/>" + "Download Speed: <strong>" + download_speed + "</strong> kbps (" + download_rate + " KB/sec transfer rate)<br/>" + "Upload Speed: <strong>" + upload_speed + "</strong> kbps (" + upload_rate + " KB/sec transfer rate)";
		}
	}
	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";
	}
	
	var providerDropdown = document.getElementById("ddlProviders");
    var speedDropdown = document.getElementById("ddlSpeed");
    var providerIndex = providerDropdown.options[providerDropdown.selectedIndex].value;
    var speedIndex = speedDropdown.options[speedDropdown.selectedIndex].value;
    
    
    // Calculate to 1Mbps = 1,024Kbps as returned value is 1Mbps = 1,000Kbps.
    var download_speed_kbps = parseInt(download_speed / 1000 * 1024);
    
    persist_info(providerIndex,speedIndex,download_speed_kbps);
    
    
}

function persist_info(providerId, speedId, actualSpeed)
{

    xmlhttp = false;
    var baseUrl = this.location;
    var url = baseUrl + "speed-test-persist/" + providerId + "/" + speedId + "/" + actualSpeed + "/";
    getHTTPRequestObject();
    
    if(xmlhttp)
    {
        xmlhttp.open("GET", url, true);
        xmlhttp.send(null);
    }
}

function getHTTPRequestObject()
{
    try
    {
        // Try legacy object first
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");        
    }
    catch(e)
    {
        try
        {
            // Try IE implementation now
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(E)
        {
            xmlhttp = false;
        }
    }
    if(!xmlhttp && typeof XMLHttpRequest!='undefined')
    {
        // We must be using a Mozilla-based browser
        // so create a native request object now
        xmlhttp = new XMLHttpRequest();
    }
}
