	var messages = Array(1);
	messages[0] = 'IP Address is not defined.';
	messages[1] = 'We cannot execute VoIP TEST.<br>Download and intall SUN Java plugin.<br><a href="http://www.java.com/pl/download/manual.jsp?locale=pl&host=www.java.com:80" target="_blank"><font color="#ffffff">Kliknij tutaj</font></a>';
	messages[2] = 'VoIP TEST available ony for: IE, Firefox, Opera.';
	
	var comm_download = Array(1);
	var comm_upload = Array(1);
	var comm_jitter = Array(1);
	var comm_latency = Array(1);
	var comm_loss = Array(1);
	
	comm_download[1] = 'Twoja prędkość <b>DOWNLOAD</b> jest zbyt niska aby komfortowo przeglądać strony internetowe.';
	comm_download[2] = 'Twoja prędkość <b>DOWNLOAD</b> jest wystarczająca do przeglądania stron internetowych. Jednak odtwarzanie filmów w sieci w serwisach typu youtube.com może być utrudnione.';
	comm_download[3] = 'Twoja prędkość <b>DOWNLOAD</b> jest wystarczająca do komfortowego przeglądania stron internetowych.';
	
	comm_upload[1] = 'Twoja prędkość <b>UPLOAD</b> jest niewystarczająca do wysyłania wiadomości email ze średniego rozmiaru załącznikami.';
	comm_upload[2] = 'Twoja prędkość <b>UPLOAD</b> jest niewystrczająca do wysyłania wiadomości email z dużymi załącznikami.';
	comm_upload[3] = 'Twoja prędkość <b>UPLOAD</b> w pełni umożliwia komfortową pracę z pocztą elektroniczną.';

	comm_latency[1] = '<b>Opóźnienia</b> w transmisji związane z Twoim łączem nie mają wpływu na komfort pracy w Internecie oraz na gry sieciowe.';
	comm_latency[2] = '<b>Opóźnienia</b> w transmisji związanie z Twoim łączem nie mają wpływu na komfort przeglądania stron internetowych. Jednak gry sieciowe mogą wykazywać brak płynności (tzw. lagi).';
	comm_latency[3] = '<b>Opóźnienia</b> w transmisji związane z Twoim łączem są zbyt duże aby komfortowo korzystać z zasobów Internetu.';
	
	var mFlash = null;
		
	var voipServerIP = null;
	var voipPort = null;
	var pomiar = null;

	function transfer(bandwidth, size) {

		var time = Array(1);
		var retval = '';
		
		time[1] = Math.floor(size*1024*8/bandwidth);
		time[2] = Math.floor(time[1]/3600);
		time[3] = Math.floor((time[1]-time[2]*3600)/60);
		time[4] = time[1]-time[2]*3600-time[3]*60;
		
		if (time[2]) { retval = retval+time[2]+'h '; }
		if (time[3]) { retval = retval+time[3]+'min '; }
		if (time[4] >= 1) { retval = retval+Math.floor(time[4])+'sek '; }
		if (time[4] < 1 && time[4] >= 0 && !time[3]) { retval = retval+'mniej niż 1sek '; }
		
		return retval;

	}
	
	function setID(id, down, up, jit, loss, server, ping, ip, data) {
		var down_id = 0; var up_id = 0; var jitter_id = 0; var loss_id = 0; var latency_id = 0;
		if ( down<128 ) { down_id=1; } else if ( down < 512 ) { down_id=2; } else { down_id=3; }
		if ( up<128 ) { up_id=1; } else if ( up < 512 ) { up_id=2; } else { up_id=3; }
		if ( ping<20 ) { latency_id=1; } else if ( ping < 80 ) { latency_id=2; } else { latency_id=3; }
				
		pomiar = document.getElementById('pomiar');
		pomiar.innerHTML = '<br><br><center><b>Skopiuj i wklej poniższe kody na swoją stronę internetową lub forum aby podzielić się swoim wynikiem!</b><br><br>Strona www<br><textarea style="margin-top: 5px; margin-bottom: 5px; padding: 3px 3px 3px 3px; border: 1px solid; font-size: 10px; overflow: hidden; width: 550px; height: 26px;" readonly="readonly"><a href="http://www.speedtest.pl/"><img style="border: 0px;" src="http://www.speedtest.pl/results/'+id+'.jpg" alt="DSL Internet Speed Test" /></a></textarea><br>Forum<br><textarea style="margin-top: 5px; margin-bottom: 5px; padding: 3px 3px 3px 3px; border: 1px solid; font-size: 10px; overflow: hidden; width: 550px; height: 13px;" readonly="readonly">[URL=http://www.speedtest.pl][IMG]http://www.speedtest.pl/results/'+id+'.jpg[/IMG][/URL]</textarea><br>Bezpośredni odnośnik do obrazka<br><textarea style="margin-top: 5px; margin-bottom: 5px; padding: 3px 3px 3px 3px; border: 1px solid; font-size: 10px; overflow: hidden; width: 550px; height: 13px;" readonly="readonly">http://www.speedtest.pl/results/'+id+'.jpg</textarea><br><br><img src="results/'+id+'.jpg" alt="Result Of Speed Test"></center><br>'+comm_download[down_id]+' '+comm_upload[up_id]+' '+comm_latency[latency_id]+' Zobacz poniżej czas, w jakim pobierzesz / wyślesz pliki o podanych rozmiarach.<br><br><center><div style="width: 380px; border: 1px solid; border-color: #000000; padding: 5px 5px 5px 5px;"><table cellspacing="0" cellpadding="5" style="border-width: 0px;"><tr><td><b>Rodzaj pliku</b></td><td style="width: 35px;"></td><td><b>Pobierzesz w czasie</b></td><td style="width: 25px;"></td><td><b>Wyślesz w czasie</b></td></tr><tr><td colspan="5">&nbsp;</td></tr><tr><td>Film 700MB</td><td></td><td>'+transfer(down,700)+'</td><td></td><td>'+transfer(up,700)+'</td></tr><tr><td>Film 300MB</td><td></td><td>'+transfer(down,300)+'</td><td></td><td>'+transfer(up,300)+'</td></tr><tr><td>Projekt 50MB</td><td></td><td>'+transfer(down,50)+'</td><td></td><td>'+transfer(up,50)+'</td></tr><tr><td>Mp3 10MB</td><td></td><td>'+transfer(down,10)+'</td><td></td><td>'+transfer(up,10)+'</td></tr><tr><td>Zdjęcie 3MB</td><td></td><td>'+transfer(down,3)+'</td><td></td><td>'+transfer(up,3)+'</td></tr><tr><td>Zdjęcie 1MB</td><td></td><td>'+transfer(down,1)+'</td><td></td><td>'+transfer(up,1)+'</td></tr></table></div></center><br>';
	}
	
	function callGetServerIP( url, port )
	{ 
		voipServerIP = getDomeinFromURL(url);
		voipPort = port;
		
		if(isJavaInstalled())
		{
			if (!safari) {
				app = document.getElementById('applet');
				app.innerHTML = appletObject(voipServerIP, voipPort, url);
				//$('applet').update(appletObject(voipServerIP, voipPort, url));
			}
			else
				callSetAppletError(messages[2]);
		}
		else {
			callSetAppletError(messages[1]);
		}
	}
	
	function getURLParam(){
	
		var strReturn = "";
		var strHref = document.URL;
		if ( strHref.indexOf("#") > -1 ){
			var strQueryString = strHref.substr(strHref.indexOf("#"));
			var sQ = strQueryString.split('/');
			strReturn = sQ[1];
		}
		
		return unescape(strReturn);
		
	}

	function callSetVoIPResult(jitter, loss) {
			wnd = getMovie("web");
			wnd.callSetVoIPResult(parseFloat(jitter), parseFloat(loss));
	}
	
	function callSetAppletError(message) {
			m = new String(message);
			getMovie("web").callSetAppletError(m.toString());
	}
	

	function getMovie(movieName) {
		if (navigator.appName.indexOf("Microsoft") != -1) {
	        return window[movieName]
	    }
	    else {
	        return document[movieName]
	    }
	}	
	
	var detect = navigator.userAgent.toLowerCase();
	var windowsIE = (checkPlatform("msie") && checkPlatform("win"));
	
	var safari = (checkPlatform("safari"));
	
	function checkPlatform(string)
	{
			place = detect.indexOf(string) + 1;
			thestring = string;
			return place;
	}
	
	function isJavaInstalled()
	{
		var javaVersion = null;
		
		try 
		{
			javaVersion = navigator.javaEnabled();
		}
		catch (e) 
		{
			javaVersion = null;
		}
		
		if( javaVersion == null ) 
		{
			return false;
		}
		
		return true;
	}
	
	
	function appletObject(ip, port, codebase){
		content = '';	
		content = '<applet id="voip" name="voip" code="VoIP.class" width="1" height="1" codebase="' + codebase +'" MAYSCRIPT>';
		content += '<param name="width" 	value="200">';
		content += '<param name="height" 	value="300">';
		content += '<param name="debug" 	value="0">';
		content += '<param name="ip" 	value="'+ ip +'">';
		content += '<param name="port" 	value="' + port + '">';
		content += '<param name="lang" 	value="en">';
		content += '</applet>';
		
		return content;
	}
	
	function getDomeinFromURL(url){
		var sQ = url.split('/');
		
		return sQ[2] != '' ? sQ[2] : false;
	}
	
	// Event.observe(window, 'load', detectJava, false);