var Chars     = ["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 Colors    = ["#aaaaaa","#c0c0c0","#969696"]; // Leave NULL for no random colors in background
var FontFace  = "Courier New"; // Needs to be a fixed width font for proper column alignment
var BackColor = "#aaaaaa"; // Solid background character color
var ForeColor = "#ffffff"; // Solid foreground string color

// ********** DO NOT MODIFY BELOW THIS POINT **********

// Build HTML strings
var BackGndL = "<font face=\"" + FontFace + "\" color=\"" + BackColor + "\">";
var BackGndR = "</font>";
var ForeGndL = "<font face=\"" + FontFace + "\" color=\"" + ForeColor + "\"><b>";
var ForeGndR = "</b></font>";

// Displays a line of random characters
// Last Modified: 9/12/2003 9:55PM
function CreateLine(Len)
{
   var Line = "";
   var i;

   for(i = 0; i < Len; i++)
   {
      if(Colors.length > 0) // Check if random background colors exist
      {
         // Append random char into string
         Line += "<font color=\"" + Colors[GetRandNum(Colors.length - 1)] + "\">";
         Line += Chars[GetRandNum(Chars.length - 1)] + "</font>";
      }
      else // No random background colors
      {
         // Append random char into string
         Line += Chars[GetRandNum(Chars.length - 1)];
      }
   }

   return(BackGndL + Line + BackGndR);
}

// Displays a text line
// Last Modified: 8/16/2003 1:47AM
function CreateText(Str)
{
   return(ForeGndL + Str + ForeGndR);
}

// Displays a text line with random characters as padding
// Last Modified: 9/12/2003 8:48PM
function CreateTextLine(Len, Str)
{
   // Strip HTML tags so they are not a part of the string's length
   var OrigStr = Str;
   Str = Str.replace(/<.*?>/g, "");

   if(Str.length >= Len)
   {
      CreateText(OrigStr);
   }
   else
   {
      var RandNum = Math.random();
      var Padding = Len - Str.length;
      var RightPadding;
      var LeftPadding;

      // Put random chars on either side of text to pad it out to Len
      LeftPadding  = Math.round(RandNum * Padding);
      RightPadding = Padding - LeftPadding;

      return(BackGndL + CreateLine(LeftPadding) + ForeGndL + OrigStr + ForeGndR + CreateLine(RightPadding) + BackGndR);
   }
}

// Returns a random number between 0 and the limit parameter
// Last Modified: 9/12/2003 9:39PM
function GetRandNum(Limit)
{
   var RandNum = Math.random();

   return(Math.round((RandNum * Limit)));
}

