/** speedtest.js - written by Andrew Young **/

var _table = "iad01";

var _region = {
	1: "http://speed.iad01.acndigital.net/speedtest.php",
	2: "http://speed.sjc01.acndigital.net/speedtest.php",
	3: "http://speed.yul01.acndigital.net/speedtest.php"
}

var _postdb = {
	1: "speedresults.php"
}

function _void() {
}

function _getPage(region) {
	form = document.forms["speedtest"];

	if (form.client_id.value) {
		form.action = _region[region]+"?client_id="+form.client_id.value+"&client_type="+form.client_type.value+"&client_lang="+form.client_lang.value;
		form.submit();
	} else {
		if (form.client_type.value==1) {
			alert(lang.speed_alert);
		} else {
			alert(lang.bspeed_alert);
		}
	}
	
}


//Determine what XmlHttpRequest object we will use.
function getXmlHttpRequestObject() {
        if (window.XMLHttpRequest) {
                return new XMLHttpRequest(); //Not IE
        } else if (window.ActiveXObject) {
                return new ActiveXObject("Microsoft.XMLHTTP"); //IE
        } else {
                alert("NO XML support in Browser.  Please use a XML support Browser");
        }
}

var getRequest = getXmlHttpRequestObject();
var resultForm;

function sendRequest(page) {
        if (getRequest.readyState == 4 || getRequest.readyState == 0) {
                getRequest.open("GET",page,true);
                getRequest.onreadystatechange = displayResults;
                getRequest.send(null);
        }
}

function displayResults() {
        if (getRequest.readyState == 4) {
                document.getElementById("belowafter").innerHTML = getRequest.responseText;
        }
}

// Needed for displaying speed test results.
function test_completed(download_speed, upload_speed, latency, jitter, packet_loss, server_id) {
	var message = "";
	var speed_img = "";

	if (client_type == 1) {
		if ((upload_speed<128)||(download_speed<192)) {
			speed_img = "<img src='images/results_low.gif'></img>";
			message += lang.low_msg;
		} else if ((upload_speed>300)&&(download_speed>300)) {
			speed_img = "<img src='images/results_high.gif'></img>";
			message += lang.high_msg;
		} else {
			speed_img = "<img src='images/results_mid.gif'></img>";
			message += lang.mid_msg;
		}
	} else {
		if ((upload_speed<188)||(download_speed<188)) {
			message += lang.blow_msg;
		} else {
			if (upload_speed>download_speed) {
				linecount = Math.floor((download_speed - 128)/60);
				videocount = Math.floor((download_speed - 128)/384);
			} else {
				linecount = Math.floor((upload_speed - 128)/60);
				videocount = Math.floor((upload_speed - 128)/384);
			}
			message += lang.b_msg + "<br />"+ lang.bp_msg + linecount + "<br />" + lang.bv_msg + videocount + "\n";
		}
	}
	message += "</tr></table>\n";
	var speed = document.getElementById('speed');
	if (speed) {
		document.getElementById('speed_title').innerHTML = lang.title;
		document.getElementById('speed_img').innerHTML = speed_img;
		document.getElementById('speed2').innerHTML = message;
		speed.style.visibility = 'visible';
	}
	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 postPage=_postdb[1]+"?_table="+_table+"&client_id="+client_id+"&client_ip="+client_ip+"&client_type="+client_type+"&upload_speed="+upload_speed+"&download_speed="+download_speed+"&packet_loss="+packet_loss+"&latency="+latency+"&jitter="+jitter+"&navname="+BrowserDetect.browser+"&navver="+BrowserDetect.version+"&navplatform="+BrowserDetect.OS+"&server_id="+server_id;
	sendRequest(postPage);
}


