FoxTrotTranslator = function() {
	this.ALPHA_2_INTEGER_MAP = {
	  'A':11, 'B':8, 'C':1, 'D':17, 'E':10, 'F':2, 'G':5, 'H':19, 'I':13, 'J':7, 'K':26, 'L':6, 'M':22, 'N':20, 'O':15, 'P':16, 'Q':24, 'R':9, 'S':23, 'T':12, 'U':3, 'V':25, 'W':4, 'X':18, 'Y':21, 'Z':14
	};
	this.INTEGER_2_ALPHA_MAP = {};
	for (var alpha in this.ALPHA_2_INTEGER_MAP) {
		this.INTEGER_2_ALPHA_MAP[this.ALPHA_2_INTEGER_MAP[alpha]] = alpha;
	}
	this.translateLetters = function(text) {
		text = text.replace(/[^A-Z]/g, '');
		var letters = text.split("");
		return this.solve(letters, this.ALPHA_2_INTEGER_MAP, "-");		
	};
	this.translateNumbers = function(numberText) {
		numberText = numberText.replace(/\n/g,'-');
		var nums = numberText.split(/[^0-9]/);
		return this.solve(nums, this.INTEGER_2_ALPHA_MAP, " ");
	};
	this.solve = function(questionArray, map, delimiter) {
		var text = error = '';
		for (var i=0;i<questionArray.length - 1;i++) {
			if (map[questionArray[i]]) {
				text = text + map[questionArray[i]] + delimiter ;
				
			} else {
				text = text +  questionArray[i];
			}
		}
		if (map[questionArray[i]]) {
			text = text + map[questionArray[i]];
		} else {
			text = text + questionArray[i];
		}
		return text;
	}
};

window.onload = function() {
	translator = new FoxTrotTranslator();
	document.getElementById('translate').onclick = function() {
		var t = document.getElementById('querytext').value.toUpperCase();
		var s = t.substring(0,1);
		var result;
		if (s >= 'A' && s <= 'Z') {
			result = translator.translateLetters(t);
		} else {
			result = translator.translateNumbers(t);
		}
		document.getElementById('answer').innerHTML = result;
	}
	document.getElementById('clear').onclick = function() {
		document.getElementById('querytext').value = '';
	}
}