<script language="JavaScript">
// written by Tara - [url]www.tarapages.com[/url]
// nested frames support by Hans Krentel - subfiles.net
// you may modify the script for personal use only - keep all credits please :)
var tblChars = [['┏','┓','┗','┛','┯','┷','┃','│', '━'],
['╔','╗','╚','╝','╤','╧','║','│', '═'],
['┌','┐','└','┘','┬','┴','│','┆', '─']];
var tblTemplet = 0;
var blankChar = ' ';
var width=20;
var height=18;
function convert(s){
var starttime=new Date().getTime();
// var s = document.getElementById("s").value.toString();
var ary = [];
var i,j, index;
var t = "";
index = 0;
for(i=width*2; i>=0; i--){
ary[i] = new Array();
}
while(index < s.length){
for(i=width*2; i>=0; i--){
for(j=0; j<=(height+1); j++){
if( i == (width * 2)){
if(j==0){
ary[i][j] = tblChars[tblTemplet][1];
}else if(j == (height + 1)){
ary[i][j] = tblChars[tblTemplet][3];
}else{
ary[i][j] = tblChars[tblTemplet][6];
}
}else if( i== 0){
if(j==0){
ary[i][j] = tblChars[tblTemplet][0];
}else if(j == (height + 1)){
ary[i][j] = tblChars[tblTemplet][2];
}else{
ary[i][j] = tblChars[tblTemplet][6];
}
}else if( i % 2 == 0){
if(j==0){
ary[i][j] = tblChars[tblTemplet][4];
}else if(j == (height + 1)){
ary[i][j] = tblChars[tblTemplet][5];
}else{
ary[i][j] = tblChars[tblTemplet][7];
}
}else if(j == 0 || j == (height + 1)){
ary[i][j] = tblChars[tblTemplet][8];
}else{
var c = getChar(s, index++);
if (c == '\n' || c == '\r'){
if(j == 1){
j = 0;
continue;
}else{
while(j<(height+1)){
ary[i][j] = blankChar;
j++;
}
j = height;
}
}else{
ary[i][j] = c;
}
}
}
}
t+=concat(ary);
t += "\r\n";
}
return t;
}
function concat(ary1){
var t1='';
for(j=0; j<=(height + 1); j++){
for(i=0; i<=width*2; i++){
t1 += ary1[i][j];
}
t1 += "\r\n";
}
return t1;
}
var half = ['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','(',')','[',']','{','}','<','>','*','&','^','%','$','#','@','!','~','`','+','-','=','_','|','\\','\'','"',';',':','.',',','?','/',' ','(',')','【','】','《','》'];
var full = ['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','︵','︶','︻','︼','︷','︸','︽','︾','*','&','︿','%','$','#','@','!','~','`','+','-','=','_','|','\',''','"',';',':','。',',','?','/', blankChar,'︵','︶','︻','︼','︽','︾'];
function getChar(s, index){
if(index >= s.length){
return blankChar;
}
var c = s.charAt(index);
for(var i=0; i<half.length; i++){
if(c == half[i]){
c = full[i];
}
}
return c;
}
for(var iii=0;iii<document.forms.length;iii++){
for(var jjj=0;jjj<document.forms[iii].elements.length;jjj++){
o=document.forms[iii].elements[jjj];
// alert(o.type);
if(o.type=='textarea'){
o.value=convert(o.value);
}
}
}
</script>