var Test = {
	options: {
		dataPaths: [
//			'images/',
			'http://s195579596.onlinehome.us/images/',
			'http://s195578198.onlinehome.us/images/',
			'http://s195578081.onlinehome.us/images/'
		],
		dataFiles: [
			'2044.jpg',
			'2044.1.jpg',
			'2044.2.jpg',
			'2044.3.jpg',
			'2044.4.jpg',
			'2044.5.jpg',
			'2044.6.jpg',
		],
		dataBytes: 2093056
	},
	prep: function () {
		this.img = new Element('img', {id: 'testimg'});
		this.dataUrl = this.options.dataPaths.getRandom() + this.options.dataFiles.getRandom();
		
		this.speed.start = $time();
		$('phase-test').adopt(this.img.setProperty('src', this.dataUrl + '?a=' + $time()).addEvent('load', Test.result.bind(Test)));
	},
	speed: {
		start: 0,
		seconds: 0
	},
	start: function () {
	
		
	},
	reqError: function () {
	},
	result: function () {
		// Calculate seconds
		this.speed.seconds = ($time() - this.speed.start) / 1000;

		// Calculate bytes
		this.speed.bytesRaw = this.options.dataBytes / this.speed.seconds;
		this.speed.bytesNice = (this.speed.bytesRaw/1024).round(2);
		this.speed.bytesUnit = ' kilobytes par seconde';
		
		var msg = "Votre connexion est trop faible pour pouvoir visualiser le site.";
		if (this.speed.bytesNice > 50){
			valid = true;
			msg = "Votre connexion est assez elevée pour pouvoir visualiser le site.";
		}
			
		// Display
   		$('phase-test').empty().setClass('results').adopt(
			new Element('div', {'class': 'msg'}).adopt(
				new Element('span', {'class': 'valid'}).setText(msg)
			)
		).adopt(
			new Element('div', {'class': 'bytes'}).adopt(
				new Element('span', {'class': 'num'}).setText(" -> " + this.speed.bytesNice)
			).adopt(
				new Element('span', {'class': 'unit'}).setText(this.speed.bytesUnit)
			)
		);
		
		sendingInformation(param, this.speed.bytesNice);
	}
}

var param = "";
var valid = false;
function FlashTestParam(s_param){
	param = s_param;
	Test.prep();
}

function sendingInformation (param_flash, connection){
	var XHR = new XHRConnection();
	
	XHR.appendData("param_flash", param_flash);
	XHR.appendData("param_connect", connection);
	XHR.appendData("param_navigateur", navigator.appCodeName);
	XHR.sendAndLoad("php/configtest.php", "POST", result_view);
}

function result_view(obj){
	var data = obj.responseXML.getElementsByTagName('error')[0].firstChild.data;
	
	var msg = "Votre configuration ne vous permet pas de voir le site.";
	if (!!data && data == "1" && valid )
		msg = "Votre configuration vous permet de voir le site.";
		
	$('phase-test').adopt(
		new Element('div', {'class' : 'flash'}).adopt(
			new Element('br')
		).adopt(
			new Element('br')
		).adopt(
			new Element('h1', {'class': 'valid'}).setText(msg)
		)
	);
}