function getXhr() { 
	var xhr = null;
	
	if (window.XMLHttpRequest || window.ActiveXObject) {
		if (window.ActiveXObject) {
			try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} else {
			xhr = new XMLHttpRequest(); 
		}
	} else {
		return null;
	}
	
	return xhr;
}

function maj_div_speed(download_speed, upload_speed, latency, isp, id) {
	download_rate = Math.round((download_speed/8)*10)/10;
	upload_rate = Math.round((upload_speed/8)*10)/10;
	var speed = document.getElementById('speed');
	var curdate = new Date();
	speed.innerHTML = "<strong>Votre FAI : "+isp+"</strong><br/>" + "Débit descendant : <strong>" + download_speed + "</strong> kbps (" + download_rate + " Ko/s) - " + "Débit montant : <strong>" + upload_speed + "</strong> kbps (" + upload_rate + " Ko/s) - " + "Ping : <strong>" + latency + "</strong> ms<br/>Testé sur http://www.degrouptest.com/test-debit.php - "+curdate.toLocaleString()+" - Test n°" + id + "<br/><div id='imgTest' style='display:none'></div>";
	var xhr = getXhr();
	xhr.onreadystatechange = function() {
    if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
    	document.getElementById('imgTest').innerHTML = xhr.responseText;
    }
	};
	var url = "http://speed.degrouptest.com/ookla/speedtest/makeimage.php?debit_up=" + upload_rate + "&debit_down=" + download_rate;
	xhr.open("GET", url, true);
	xhr.send(null);
	
	return true;
}

function maj_div_speed_test(download_speed, upload_speed, latency, isp, id) {
	download_rate = Math.round((download_speed/8)*10)/10;
	upload_rate = Math.round((upload_speed/8)*10)/10;
	var speed = document.getElementById('speed');
	var curdate = new Date();
	speed.innerHTML = "<strong>Votre FAI : "+isp+"</strong><br/>" + "Débit descendant : <strong>" + download_speed + "</strong> kbps (" + download_rate + " Ko/s) - " + "Débit montant : <strong>" + upload_speed + 
								"</strong> kbps (" + upload_rate + " Ko/s) - " + "Ping : <strong>" + latency + "</strong> ms<br/>Testé sur http://www.degrouptest.com/test-debit.php - "+curdate.toLocaleString()+" - Test n°" + id +
								"<br /> <a href='javascript:void(0)' onclick='parent.location.href=\"http://www.degrouptest.com/savetestdebit/id/"+id+"\";return false;'/>Archivez ce test </a>"+ "<br/><div id='imgTest' style='display:none'></div>";
	var xhr = getXhr();
	xhr.onreadystatechange = function() {
    if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
    	document.getElementById('imgTest').innerHTML = xhr.responseText;
    }
	};
	var url = "http://speed.degrouptest.com/ookla/speedtest/makeimage.php?debit_up=" + upload_rate + "&debit_down=" + download_rate;
	xhr.open("GET", url, true);
	xhr.send(null);
	
	return true;
}

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 curdate = new Date();
	var speed = document.getElementById('speed');
	if (speed) {
			sendData('ISP','d='+download_speed+'&u='+upload_speed+'&p='+latency,'save_result.php','POST',0);
			speed.innerHTML = "<strong>Enregistrement des résultats en cours... merci de patienter.</strong>";
			
	}
	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";
	}
}
