	var resSize = 0;
	var myURL = '';

	function doSpeedTest(){

		var frm = document.forms['speedtest'];
		var elements = frm.elements;
		
		// AICI testezi elements['url'].value si in caz ca se intampla vreo boacana, bagi un $('speed').innerHTML = 'text eroare'; si un return false; ca sa iasa din functie :)
		
		$('speed').innerHTML = '';
		
		elements['btn'].disabled = true; // disable submit button
		$('ajaxLoaderGif').style.display = 'inline';	// display ajax loading gif

		myURL = elements['url'].value;
		
		new Ajax.Request('/lib/speedtest/ajax_speedtest.php', 
						 { 
						 	method:'get', 
							parameters: {url: elements['url'].value},
							onSuccess: function(transport){
							  var response = transport.responseText;
							  
							  if(response.indexOf("http://")!=0) {
								$('speed').innerHTML = (response == '0' ? "Invalid URL!" : "Can't run the speed test!");
								elements['btn'].disabled = false;
								$('ajaxLoaderGif').style.display = 'none';
							  }
							  else { 
							  	$('speed').innerHTML = 'Performing speed test...';
								
								response = response.split("^");
								resSize = response[1];
								response = response[0];
								
								download(response);
							  }
							  
							},
							onFailure: function(){ 
								$('speed').innerHTML = 'Invalid URL!';
							 	elements['btn'].disabled = false;
							  	$('ajaxLoaderGif').style.display = 'none';
							}

						 });
		
		return false;
	}
	
	function download(url){
	
		var frm = document.forms['speedtest'];
		var elements = frm.elements;	
	
		var dateObj = null;
	
		var currentTime = null;
		
		new Ajax.Request("/lib/speedtest/fetch_nocache.php?url=" + url,
		  {
			method:'get',
			onLoaded: function(){
				dateObj = new Date();
				currentTime = dateObj.getTime();
			},
			onSuccess: function(transport){
			  var response = transport.responseText.split(";",1);
			  var duration = (((new Date()).getTime() - currentTime - parseInt(response[0])) / 1000).toFixed(2);
			  var speed = (resSize / duration).toFixed(2); // bytes/sec
			  speed = (speed * 8 / 1024).toFixed(2);			// KB/sec
			  elements['btn'].disabled = false;
			  $('ajaxLoaderGif').style.display = 'none';
			
			  $('speed').innerHTML = "The average speed is " + (speed + " Kbps"); 

			  new Ajax.Request("/lib/speedtest/ajax_dbsave.php",
		  	  {
				method:'post',
				parameters: {file: url, speed: speed, size: resSize, duration: duration, url: myURL}
		  	  });

			},
			onFailure: function(){ $('speed').innerHTML = 'Something went wrong...'; }
		  });
		
	}

