var LetT = new Array();
var LetB = new Array();
var LetD = new Array();

LetT[32] = "   ";LetB[32] = "   ";LetD[32] = 0;
LetT[33] = "|";LetB[33] = ".";LetD[33] = 0;
LetT[34] = "' '";LetB[34] = "   ";LetD[34] = 0;
LetT[35] = " -/-/-";LetB[35] = "-/-/- ";LetD[35] = 0;
LetT[36] = " <\\  /> ";LetB[36] = "=^x^=";LetD[36] = 0;
LetT[37] = "o / ";LetB[37] = " / o";LetD[37] = 0;
LetT[38] = "(�`���)";LetB[38] = "   `�.��  ";LetD[38] = -1;
LetT[39] = "'";LetB[39] = " ";LetD[39] = 0;
LetT[40] = "/";LetB[40] = "\\";LetD[40] = 0;
LetT[41] = "\\";LetB[41] = "/";LetD[41] = 0;
LetT[42] = "_|_";LetB[42] = " / \\ ";LetD[42] = 0;
LetT[43] = "  |   ";LetB[43] = "�|�";LetD[43] = -1;
LetT[44] = " ";LetB[44] = ",";LetD[44] = 0;
LetT[45] = "     ";LetB[45] = "��";LetD[45] = -1;
LetT[46] = " ";LetB[46] = ".";LetD[46] = 0;
LetT[47] = "  /";LetB[47] = "/  ";LetD[47] = 0;
LetT[58] = "�";LetB[58] = "�";LetD[58] = 0;
LetT[59] = "�";LetB[59] = ",";LetD[59] = 0;
LetT[60] = "/";LetB[60] = "\\";LetD[60] = 0;
LetT[61] = "---";LetB[61] = "---";LetD[61] = 0;
LetT[62] = "\\";LetB[62] = "/";LetD[62] = 0;

LetT[65] = "  /\\  ";LetB[65] = "/---\\";LetD[65] = 0;
LetT[66] = "|�`) ";LetB[66] = "|__)";LetD[66] = 0;
LetT[67] = "/��'";LetB[67] = "\\__,";LetD[67] = 0;
LetT[68] = "|��\\";LetB[68] = "|__/";LetD[68] = 0;
LetT[69] = "\\��";LetB[69] = "/__";LetD[69] = 0;
LetT[70] = "|��";LetB[70] = "|�  ";LetD[70] = -1;
LetT[71] = "/�_ ";LetB[71] = "\\__|";LetD[71] = 0;
LetT[72] = "|     |";LetB[72] = "|��`|";LetD[72] = 0;
LetT[73] = "�|�";LetB[73] = "_|_";LetD[73] = 0;
LetT[74] = "    |";LetB[74] = "._/";LetD[74] = -1;
LetT[75] = "|   /";LetB[75] = "|� \\";LetD[75] = 1;
LetT[76] = "|     ";LetB[76] = "|__";LetD[76] = -1;
LetT[77] = "  /|  /|";LetB[77] = "/  |/  |";LetD[77] = 0;
LetT[78] = "|\\    |";LetB[78] = "|    \\|";LetD[78] = 0;
LetT[79] = "/��\\";LetB[79] = "\\__/";LetD[79] = 0;
LetT[80] = "|��)";LetB[80] = "|�� ";LetD[80] = -1;
LetT[81] = "/��\\";LetB[81] = "\\__\\";LetD[81] = 0;
LetT[82] = "|��)";LetB[82] = "|��\\";LetD[82] = 0;
LetT[83] = "(� ";LetB[83] = "._)";LetD[83] = 0;
LetT[84] = "��|�`";LetB[84] = "    |   ";LetD[84] = -1;
LetT[85] = "|     |";LetB[85] = "\\._./";LetD[85] = 0;
LetT[86] = "\\    /";LetB[86] = "  \\/  ";LetD[86] = 0;
LetT[87] = "\\  |\\  |";LetB[87] = "  \\|  \\|";LetD[87] = 0;
LetT[88] = "\\_/";LetB[88] = "/�\\";LetD[88] = 0;
LetT[89] = "\\_/";LetB[89] = "_/ ";LetD[89] = -1;
LetT[90] = "�/";LetB[90] = "/_";LetD[90] = 0;

LetT[101] = "|_�";LetB[101] = "|__";LetD[101] = 0;
LetT[105] = "|";LetB[105] = "|";LetD[105] = 0;
LetT[109] = "|\\  |\\  ";LetB[109] = "|  \\|  \\";LetD[109] = 0;
LetT[119] = "|  /|  /";LetB[119] = "|/  |/  ";LetD[119] = 0;

function GenerateNick(NNick){

  var TLine = "_";
  var BLine = "�";
  var DNick = "";
  var Dist = 0;

  var AllowLower = "eimw";
  var CurChar = "";
  var CurCharCode = 0;

  var i = 0;

  for (i=0;i<NNick.length;i++) {
    CurChar = NNick.charAt(i);
    if ( AllowLower.indexOf(CurChar) == -1) { CurChar = CurChar.toUpperCase(); }
    CurCharCode = CurChar.charCodeAt(0);  
  
    TLine = TLine + "  " + LetT[CurCharCode];
    BLine = BLine + "  " + LetB[CurCharCode];
    Dist = Dist + LetD[CurCharCode]
    if ( Dist == 2 ) {
      TLine = TLine + " "
      Dist = Dist - 3
    }
    if ( Dist == -2 ) {
      BLine = BLine + " "
      Dist = Dist + 3
    }
  }
  TLine = TLine + "  _";
  BLine = BLine + "  �";

  DNick = TLine + String.fromCharCode(12) + BLine

  return DNick;
}

function Convert2HTML(ASCIIString){
  var i = 0;
  var HTMLString = "";
  for (i=0;i<ASCIIString.length;i++) {
    if ( ASCIIString.charCodeAt(i) == 12 ) { HTMLString = HTMLString + "<BR>" }
    else if ( ASCIIString.charAt(i) == "�" ) { HTMLString = HTMLString + "&acute;" }
    else if ( ASCIIString.charAt(i) == "<" ) { HTMLString = HTMLString + "&lt;" }
    else if ( ASCIIString.charAt(i) == ">" ) { HTMLString = HTMLString + "&gt;" }
    else if ( ASCIIString.charAt(i) == " " ) { HTMLString = HTMLString + "&nbsp;" }
    else {
      HTMLString = HTMLString + ASCIIString.charAt(i)
    }
  }
  return HTMLString;
}

function Generate(){
  var f	=	document.forms['NickForm'];
  f.nickoutput.value = GenerateNick(f.nick.value);
  document.getElementById('preview').innerHTML = Convert2HTML(f.nickoutput.value);
}

function HighlightAll(obj) {
  var tempval=obj;
  tempval.focus()
  tempval.select()
  if (document.all){
    therange=tempval.createTextRange()
    therange.execCommand("Copy")
    window.status="Contents copied to your clipboard, now go to your Messenger chat window and press CONTROL+V"
    setTimeout("window.status=''",1800)
  }
  else { alert("Press CONTROL+C, then go to your Messenger chat window and press CONTROL+V"); }
}
function CopyNick(){
  HighlightAll(document.forms['NickForm'].nickoutput);
}



function ReverseNick(){
	var str	=	document.forms['NickForm'].nick.value;
	document.forms['NickForm'].nickoutput.value=strR(str);	
}

function strR(str){
	splitext	=	str.split("");
	revertext	=	splitext.reverse();
	return revertext.join("");
}

function GenerateMSN(){
	var f	=	document.forms['NickForm'];
	var n	=	f.nick.value;
	var s	=	f.st.value;
	f.nickoutput.value	=	s + " " + n + " " + strR(s);
}