<html><head><script language=javascript>

function encode (text,letters) {

coded=''; i=0;

do {

coded+=letters.charAt(((letters.indexOf(text.charAt(i))+((i==0)?-1:letters.indexOf(coded.charAt(i-1))))+letters.length)%letters.length);

} while (text.charAt(++i)!='');

return coded;

}

function decode (text,letters) {

decoded=''; number=0; i=0;

do {

difference=(letters.indexOf(text.charAt(i))-((i==0)?-1:letters.indexOf(text.charAt(i-1)))+letters.length)%letters.length;

decoded+=letters.charAt(difference);

} while (text.charAt(++i)!='');

return decoded;

}

function translate(which) {

chars='';

with (document.forms[0]) {

chars=list.value

+((newline.checked)?"\n":"")

+((carriagereturn.checked)?"\r":"")

+((quotes.checked)?"\"":"")

+((tab.checked)?"\t":"")

+((backslash.checked)?"\\":"");

if (which=="encode") {

crypt.value=encode(plain.value,chars);

plain.value='';

}

else {

plain.value=decode(crypt.value,chars);

crypt.value='';

}

}

}

</script>

</head>

<body>

<form action="javascript:" name="blah">

<table><tr>

<td align=center><input type=button onClick="translate('encode')" value="Encrypt"></td>

<td align=center><input type=button onClick="translate('decode')" value="Decrypt"></td>

</tr><tr>

<td align=center><textarea rows=20 cols=40 name=plain></textarea></td>

<td><textarea rows=20 cols=40 name=crypt></textarea></td>

</tr><tr><td colspan=2>

<input type=text name=list

value="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890`~!@#$%^&*()_-=+{[}]|:;'<,>.?/" size=100>

</td></tr><tr><td><input type=checkbox name=newline>Newline

</td><td><input type=checkbox name=carriagereturn checked>Carriage Return</td></tr>

<tr><td><input type=checkbox name=quotes checked>Double Quotes

</td><td><input type=checkbox name=tab checked>Tab</td></tr>

<tr><td><input type=checkbox name=backslash checked>Backslash</td></tr></table></form></body></html>