function resetFPSNumbers() {
	setFPSNumber(0,0);
	setFPSNumber(1,0);
	setFPSNumber(2,0);
	setFPSNumber(3,0);
	setFPSNumber(4,0);
	setFPSNumber(5,0);
}

function setFPSNumbers(value) {
	value = value * 10;
	value = Math.round(value);
	var pos = 0;
	while(value > 0) {
		var digit = value % 10;
		setFPSNumber(pos,digit);
		value -= digit;
		value /= 10;
		pos++;
	}	
}

function setFPSNumber(no, value) {
	var css = "no_" + value;
	if(no != 0) {
		css += "l";
	}
	var id = "fps_no_" + no;
	
	$('#'+id).removeClass("no_0 no_1 no_2 no_3 no_4 no_5 no_6 no_7 no_8 no_9 no_0l no_1l no_2l no_3l no_4l no_5l no_6l no_7l no_8l no_9l").addClass(css);
}

function checkFPSCheck(id) {

	$.getJSON(dir + 'dynamic/fpscheck/?mode=check&id='+id, function(data) {
			if(data.state == 'error') {
				$("#fpsmeter_result_state").html("Es ist ein Fehler aufgetreten. Bitte überprüfte IP/Port und RCON oder versuche es später erneut.");			
			} else if (data.state == 'running') {
				$("#fpsmeter_result_state").html("Die Messung wird gerade durchgeführt. In 1-2 Minuten wird das Ergebnis angezeigt.");
			} else if (data.state == 'done') {
				var link = dir + "provider/"+data.provider+"/fpscheck/";
				$("#fpsmeter_result_state").html("Das Ergebnis wurde dem Anbieterprofil hinzugefügt und farblich markiert.<br /><br /><a href=\""+link+"\"><img src=\""+layout+"fps_show_details.jpg\"/></a>");			
				setFPSNumbers(data.fps);
			}					
			if(data.state == 'open' || data.state == 'running') {
				window.setTimeout(
					(function(_id){return function() { checkFPSCheck(_id); } })(id)
				, 5000);
			}
		}
	);
}

function startFPSCheck() {

	var ipprot = $('#meter_input_ip').val();
	var rcon = $('#meter_input_rcon').val();
	
	var semipos = ipprot.indexOf(':');
	
	var ip;
	var port;
	
	if(semipos == -1) return;
		
	showPopupFrom('popup_meter');	
	
	ip = ipprot.substr(0,semipos);
	port = ipprot.substr(semipos + 1);
	
	resetFPSNumbers();
	//setFPSNumbers(621.2);
	
	$.getJSON(dir + 'dynamic/fpscheck/?ip='+ip+'&port='+port+'&rcon='+rcon, function(data) {
		$("#fpsmeter_result_input").text(ip + ":" + port);
			if(data.state == 'error') {
				$("#fpsmeter_result_state").html("&Uuml;ng&uuml;ltige IP:Port Kombination. Bitte &uuml;berpr&uuml;fe deine Eingabe.");
			} else {
				checkFPSCheck(data.id);
			}
		}
	);


	
}



