function mirror() {
 var result = flipString(document.f.original.value.toLowerCase());
 document.f.flipped.value = result;
}

function flipString(aString) {
 var last = aString.length - 1;
 var result = new Array(aString.length)
 for (var i = last; i >= 0; --i) {
  var c = aString.charAt(i)
  var r = flipTable[c]
  result[last - i] = r != undefined ? r : c
 }
 return result.join('')
}

var flipTable = {
a : '\u1D00',
b : 'd',
c : '\u2184', 
d : 'b',
e : '\u0258',
f : '\uA7FB',
g : '9',
h : '\u029C',
i : 'i', 
l : 'l',
m : '\u1D0D',
n : '\u1D0E',
o : 'o',
p : 'q',
q : 'p',
r : '\u044F',
s : '\u01A8',
t : '\u1D1B',
v : 'v',
w : 'w',
x : 'x',
y : '\u028F',
'\u00F8' : '\u1D13',
'.' : '.',
'[' : ']',
'(' : ')',
'{' : '}',
'!' : '!',
"\'" : ',',
'<' : '>',
'_' : '_',
'\\' : '/',
';' : '\u061B',
'\u203F' : '\u2040',
'\u2045' : '\u2046',
'\u2234' : '\u2235',
'\u0026' : '\u214B',
'\r' : '\n'
}

for (i in flipTable) {
  flipTable[flipTable[i]] = i
}


