var rconAxe;

function switchme(towhat) {
	switch(towhat) {
		case 0:
			//do nothing
			break;
		default:
			alert ("must supply valid serverid and password");
	}
}

function rcon_submit(commandoX) {
	if (commandoX=='')
		return;
	box = document.getElementById("rconoutput");
	document.getElementById('command').value = '';
	if (rconAxe==null) {
		rconAxe = getNewXMLHttp();
	}
	
	if (rconAxe==null) {
		box.innerHTML = 'Your browser does not support AJAX.';
	} else {
		box.innerHTML += commandoX + '<br/>\n';
		box.scrollTop = box.scrollHeight;
		var url =  'rconajax.php?user=' + document.getElementById("servername").value + '&pass=' + document.getElementById("password").value + '&cmd=' + commandoX;
		rconAxe = getNewXMLHttp();
		rconAxe.onreadystatechange=rcon_update;
		rconAxe.open("GET", url ,true);
		rconAxe.send(null)
	}
}
	
function rcon_update() {
if (rconAxe.readyState==4) {
	box = document.getElementById("rconoutput");
	if (rconAxe.status==200) {
		box.innerHTML += rcon_colors(rconAxe.responseText) + '<br/>\n';
		box.scrollTop = box.scrollHeight;
	} else {
		box.innerHTML += 'Unknown error, try again.<br/>\n';
		box.scrollTop = box.scrollHeight;
	}
}
}

function rcon_colors (quoi) {
	result = quoi;
	//$result = preg_replace ("/\^x....../i", "", $result); // remove OSP's colors (^Xrrggbb)
	//$result = preg_replace ("/\^./", "", $result); // remove Q3 colors (^2) or OSP control (^N, ^B etc..)
	//result = preg_replace ("/</", "&lt;", result); // convert < into &lt; for proper display
	
	resultx=''; lengo = result.length; prev=0; skip=0;
	 
	for (i=0; i<lengo; i++) {
		if (skip > 0) {
			skip--;
			continue;
		}
		o=result.charAt(i);
		if (o == "\n") {
			if (prev>0) {
				resultx+='</span>';
				prev=0;
			}
			resultx+="<br />\n";
			continue;
		}
		if (o == "<") {
			resultx+='&lt;';
			continue;
		}
		if (o == ">") {
			resultx+='&gt;';
			continue;
		}
		if (o == "\xFF")
			continue;
		if (o == '^' && (i+1) < lengo) {
			c=result.charAt(i+1);
			if (c<8 && c>0) { //voila
				if (prev>0)
					resultx+='</span>';
				switch (c) {
					case '1': //red
						resultx+='<span style="color:red;">';
						break;
					case '2': //green
						resultx+='<span style="color:green;">';
						break;
					case '3': //yellow
						resultx+='<span style="color:yellow;">';
						break;
					case '4': //blue
						resultx+='<span style="color:blue;">';
						break;
					case '5': //cyan
						resultx+='<span style="color:cyan;">';
						break;
					case '6': //magenta
						resultx+='<span style="color:magenta;">';
						break;
					case '8': //black
						resultx+='<span style="color:black;">';
						break;
					default: //white (7)
						resultx+='<span style="color:white;">';
						break;
				}
				prev++;
				skip=1;
				continue;
			}
		}
		resultx=resultx + o;
	}
	
	if (prev > 0)
		resultx+='</span>';
	
	return resultx;
	//return nl2br($resultx);
}
