var binary = {
	"00000":"A",
	"00001":"B",
	"00010":"C",
	"00011":"D",
	"00100":"E",
	"00101":"F",
	"00110":"G",
	"00111":"H",
	"01000":"I",
	"01001":"J",
	"01010":"K",
	"01011":"L",
	"01100":"M",
	"01101":"N",
	"01110":"O",
	"01111":"P",
	"10000":"Q",
	"10001":"R",
	"10010":"S",
	"10011":"T",
	"10100":"U",
	"10101":"V",
	"10110":"W",
	"10111":"X",
	"11000":"Y",
	"11001":"Z"
};
var letters = {
	"A":"00000",
	"B":"00001",
	"C":"00010",
	"D":"00011",
	"E":"00100",
	"F":"00101",
	"G":"00110",
	"H":"00111",
	"I":"01000",
	"J":"01001",
	"K":"01010",
	"L":"01011",
	"M":"01100",
	"N":"01101",
	"O":"01110",
	"P":"01111",
	"Q":"10000",
	"R":"10001",
	"S":"10010",
	"T":"10011",
	"U":"10100",
	"V":"10101",
	"W":"10110",
	"X":"10111",
	"Y":"11000",
	"Z":"11001",
	" ":" "
};
var legalchars = /[^A-Z ]+/g;
function stob(s) {
	var result = "";
	s = s.toUpperCase();
	s = s.replace(legalchars, '');

	for (var i = 0; i < s.length; i++) {
		result += letters[s.charAt(i)];
	}

	return result;
}
function btos(b) {
	var len = b.length;
	var cur = 0;
	var result = "";

	while (cur < len) {
		if (b.substr(cur, 1) == " ") {
			result += " ";
			cur++;
		} else {
			if (binary[b.substr(cur, 5)] == undefined) return "Error: Incorrect Binary";
			result += binary[b.substr(cur, 5)];
			cur += 5;
		}
	}

	return result;
}
function frombtos() {
	$("#resultbtos").text(btos($("#frombtos").val()));
}
function fromstob() {
	$("#resultstob").text(stob($("#fromstob").val()));
}
