function assembIt() {
 var result = assembString(document.getElementById('nonAssemba').value);
 var exp_reg = /ss/gi; 
 result = result.replace(exp_reg, '\u00DF');
 document.getElementById('assembized').value = result;
}

function assembString(aString) {
 var last = aString.length;
 var result = new Array(aString.length)
 for (var i = 0; i <last; i++) {
  var c = aString.charAt(i);
  var r = AssembTable[c];
  result[i] = r != undefined ? r : c;
 }

 return result.join('');
}

var AssembTable = {
a : '\u0250', 
'\u00E0' : '\u00E5', 
'\u00E2' : '\u00E5',
'\u00E4' : '\u00E5',
'\u00C0' : '\u00C5',
'\u00C2' : '\u00C5',
'\u00C4' : '\u00C5',
b : 'q',
c : '\u0254', 
C : '\u0186',
d : 'p',
e : '\u0258',
'\u00C8' : '\u0112',
'\u00C9' : '\u0112',
'\u00CA' : '\u0112',
'\u00CB' : '\u0112',

'\u00E8' : '\u0115',
'\u00E9' : '\u0115',
'\u00EA' : '\u0115',
'\u00EB' : '\u0115',
f : '\u025F', 
g : '\u0183',
h : '\u0265',
i : '\u01C3',
'\u00EE' : '\u012B',
'\u00EF' : '\u012B',
'\u00CE' : '\u0128',
'\u00CF' : '\u0128',

j : '\u027E',
k : '\u029E',
m : '\u026F',
M : 'W',
n : 'u',
'\u00D4' : '\u00D5' ,
'\u00D6' : '\u00D5' ,
'\u00F4' : '\u00F0' ,
'\u00F6' : '\u00F0' ,
r : '\u0279',
R : '\u0281',
t : '\u0287',
'\u00D9' : '\u016E' ,
'\u00DA' : '\u016E' ,
'\u00DB' : '\u016E' ,
'\u00DC' : '\u016E' ,

'\u00F9' : '\u016F' ,
'\u00FA' : '\u016F' ,
'\u00FB' : '\u016F' ,
'\u00FC' : '\u016F' ,

v : '\u028C',
w : '\u028D',
W : 'M',
y : '\u028E',
'?' : '\u00BF',
'!' : '\u00A1',
';' : '\u061B',
'\r' : '\n'
}

for (i in AssembTable) {
  AssembTable[AssembTable[i]] = i
}

