<SCRIPT LANGUAGE="JavaScript">
<!--
// set messages
var messages = new Array()
messages[0] = "MESSAGE #1"
messages[1] = "MESSAGE #2"
messages[2] = "MESSAGE #3"
messages[3] = "MESSAGE #4"
var pause = 1000
var space = 1
var height = 5
var width = 5
var letters = new letterArray()
var on = new Image(5, 5)
var off = new Image(5, 5)
// set image URLs
on.src = "on.gif"
off.src = "off.gif"
var imageNum = document.images.length
var boardWidth = 0
for (var i = 0; i < messages.length; ++i) {
var lengthWithNoSpaces = messages[i].split(" ").join("").length
var numberOfSpaces = messages[i].length - lengthWithNoSpaces
var currentBoardWidth = lengthWithNoSpaces * (width + space) - space + numberOfSpaces * space * 2
if (boardWidth < currentBoardWidth)
boardWidth = currentBoardWidth
}
var running = false
var timerID = null
function letterArray() {
this.a = new Array(height)
this.a[0] = " *** "
this.a[1] = "* *"
this.a[2] = "*****"
this.a[3] = "* *"
this.a[4] = "* *"
this.b = new Array(height)
this.b[0] = "**** "
this.b[1] = "* *"
this.b[2] = "**** "
this.b[3] = "* *"
this.b[4] = "**** "
this.c = new Array(height)
this.c[0] = " ****"
this.c[1] = "* "
this.c[2] = "* "
this.c[3] = "* "
this.c[4] = " ****"
this.d = new Array(height)
this.d[0] = "**** "
this.d[1] = "* *"
this.d[2] = "* *"
this.d[3] = "* *"
this.d[4] = "**** "
this.e = new Array(height)
this.e[0] = "***** "
this.e[1] = "* "
this.e[2] = "**** "
this.e[3] = "* "
this.e[4] = "*****"
this.f = new Array(height)
this.f[0] = "*****"
this.f[1] = "* "
this.f[2] = "**** "
this.f[3] = "* "
this.f[4] = "* "
this.g = new Array(height)
this.g[0] = " *** "
this.g[1] = "* "
this.g[2] = "* ***"
this.g[3] = "* * "
this.g[4] = " *** "
this.h = new Array(height)
this.h[0] = "* *"
this.h[1] = "* *"
this.h[2] = "*****"
this.h[3] = "* *"
this.h[4] = "* *"
this.i = new Array(height)
this.i[0] = "*****"
this.i[1] = " * "
this.i[2] = " * "
this.i[3] = " * "
this.i[4] = "*****"
this.j = new Array(height)
this.j[0] = " *"
this.j[1] = " *"
this.j[2] = " *"
this.j[3] = "* *"
this.j[4] = " ***"
this.k = new Array(height)
this.k[0] = "* *"
this.k[1] = "* * "
this.k[2] = "*** "
this.k[3] = "* * "
this.k[4] = "* *"
this.l = new Array(height)
this.l[0] = "* "
this.l[1] = "* "
this.l[2] = "* "
this.l[3] = "* "
this.l[4] = "*****"
this.m = new Array(height)
this.m[0] = "* *"
this.m[1] = "** **"
this.m[2] = "* * *"
this.m[3] = "* *"
this.m[4] = "* *"
this.n = new Array(height)
this.n[0] = "* *"
this.n[1] = "** *"
this.n[2] = "* * *"
this.n[3] = "* **"
this.n[4] = "* *"
this.o = new Array(height)
this.o[0] = " *** "
this.o[1] = "* *"
this.o[2] = "* *"
this.o[3] = "* *"
this.o[4] = " *** "
this.p = new Array(height)
this.p[0] = "**** "
this.p[1] = "* *"
this.p[2] = "**** "
this.p[3] = "* "
this.p[4] = "* "
this.q = new Array(height)
this.q[0] = "**** "
this.q[1] = "* * "
this.q[2] = "* ** "
this.q[3] = "* * "
this.q[4] = "*** *"
this.r = new Array(height)
this.r[0] = "**** "
this.r[1] = "* *"
this.r[2] = "**** "
this.r[3] = "* * "
this.r[4] = "* *"
this.s = new Array(height)
this.s[0] = " ****"
this.s[1] = "* "
this.s[2] = " *** "
this.s[3] = " *"
this.s[4] = "**** "
this.t = new Array(height)
this.t[0] = "*****"
this.t[1] = " * "
this.t[2] = " * "
this.t[3] = " * "
this.t[4] = " * "
this.u = new Array(height)
this.u[0] = "* *"
this.u[1] = "* *"
this.u[2] = "* *"
this.u[3] = "* *"
this.u[4] = " *** "
this.v = new Array(height)
this.v[0] = "* *"
this.v[1] = "* *"
this.v[2] = "* *"
this.v[3] = " * * "
this.v[4] = " * "
this.w = new Array(height)
this.w[0] = "* *"
this.w[1] = "* *"
this.w[2] = "* * *"
this.w[3] = "** **"
this.w[4] = "* *"
this.x = new Array(height)
this.x[0] = "* *"
this.x[1] = " * * "
this.x[2] = " * "
this.x[3] = " * * "
this.x[4] = "* *"
this.y = new Array(height)
this.y[0] = "* *"
this.y[1] = " * * "
this.y[2] = " * "
this.y[3] = " * "
this.y[4] = " * "
this.z = new Array(height)
this.z[0] = "*****"
this.z[1] = " *"
this.z[2] = " * "
this.z[3] = " * "
this.z[4] = "*****"
this['!'] = new Array(height)
this['!'][0] = " * "
this['!'][1] = " * "
this['!'][2] = " * "
this['!'][3] = " "
this['!'][4] = " * "
this[':'] = new Array(height)
this[':'][0] = " "
this[':'][1] = " * "
this[':'][2] = " "
this[':'][3] = " * "
this[':'][4] = " "
this['.'] = new Array(height)
this['.'][0] = " "
this['.'][1] = " "
this['.'][2] = " "
this['.'][3] = " "
this['.'][4] = " * "
this['='] = new Array(height)
this['='][0] = " "
this['='][1] = "****"
this['='][2] = " "
this['='][3] = "****"
this['='][4] = " "
this['+'] = new Array(height)
this['+'][0] = " "
this['+'][1] = " * "
this['+'][2] = " *** "
this['+'][3] = " * "
this['+'][4] = " "
this['-'] = new Array(height)
this['-'][0] = " "
this['-'][1] = " "
this['-'][2] = "****"
this['-'][3] = " "
this['-'][4] = " "
this['/'] = new Array(height)
this['/'][0] = " *"
this['/'][1] = " * "
this['/'][2] = " * "
this['/'][3] = " * "
this['/'][4] = "* "
this['\\'] = new Array(height)
this['\\'][0] = "* "
this['\\'][1] = " * "
this['\\'][2] = " * "
this['\\'][3] = " * "
this['\\'][4] = " *"
this['"'] = new Array(height)
this['"'][0] = " * * "
this['"'][1] = " * * "
this['"'][2] = " * * "
this['"'][3] = " "
this['"'][4] = " "
this["'"] = new Array(height)
this["'"][0] = " * "
this["'"][1] = " * "
this["'"][2] = " * "
this["'"][3] = " "
this["'"][4] = " "
this['('] = new Array(height)
this['('][0] = " *"
this['('][1] = " * "
this['('][2] = " * "
this['('][3] = " * "
this['('][4] = " *"
this[')'] = new Array(height)
this[')'][0] = "* "
this[')'][1] = " * "
this[')'][2] = " * "
this[')'][3] = " * "
this[')'][4] = "* "
this['*'] = new Array(height)
this['*'][0] = "* *"
this['*'][1] = " *** "
this['*'][2] = "*****"
this['*'][3] = " *** "
this['*'][4] = "* *"
this['?'] = new Array(height)
this['?'][0] = "**** "
this['?'][1] = " *"
this['?'][2] = " * "
this['?'][3] = " "
this['?'][4] = " * "
this['0'] = new Array(height)
this['0'][0] = " *** "
this['0'][1] = "* *"
this['0'][2] = "* * *"
this['0'][3] = "* *"
this['0'][4] = " *** "
this['1'] = new Array(height)
this['1'][0] = " * "
this['1'][1] = " ** "
this['1'][2] = " * "
this['1'][3] = " * "
this['1'][4] = " *** "
this['2'] = new Array(height)
this['2'][0] = "*** "
this['2'][1] = " *"
this['2'][2] = " **"
this['2'][3] = "* "
this['2'][4] = "****"
this['3'] = new Array(height)
this['3'][0] = "****"
this['3'][1] = " *"
this['3'][2] = "****"
this['3'][3] = " *"
this['3'][4] = "****"
this['4'] = new Array(height)
this['4'][0] = "* *"
this['4'][1] = "* *"
this['4'][2] = "****"
this['4'][3] = " *"
this['4'][4] = " *"
this['5'] = new Array(height)
this['5'][0] = "*****"
this['5'][1] = "* "
this['5'][2] = "**** "
this['5'][3] = " *"
this['5'][4] = "**** "
this['6'] = new Array(height)
this['6'][0] = "**** "
this['6'][1] = "* "
this['6'][2] = "****"
this['6'][3] = "* *"
this['6'][4] = "****"
this['7'] = new Array(height)
this['7'][0] = "****"
this['7'][1] = " *"
this['7'][2] = " * "
this['7'][3] = " * "
this['7'][4] = "* "
this['8'] = new Array(height)
this['8'][0] = "****"
this['8'][1] = "* *"
this['8'][2] = "****"
this['8'][3] = "* *"
this['8'][4] = "****"
this['9'] = new Array(height)
this['9'][0] = "****"
this['9'][1] = "* *"
this['9'][2] = "****"
this['9'][3] = " *"
this['9'][4] = "****"
}
function drawBlank() {
var gt = unescape("%3e")
document.write('<TABLE BORDER=2 CELLPADDING=8' + gt + '<TR' + gt + '<TD BGCOLOR ALIGN="center" VALIGN="center"' + gt)
for (var y = 0; y < height; ++y) {
for (var x = 0; x < boardWidth; ++x) {
document.write('<IMG SRC="' + off.src + '" HEIGHT=5 WIDTH=5' + gt)
}
document.write('<BR' + gt)
}
document.write('</TD' + gt + '</TR' + gt + '</TABLE' + gt)
}
function setLight(state, x, y) {
if (state)
document.images[computeIndex(x, y)].src = on.src
else
document.images[computeIndex(x, y)].src = off.src
}
function drawLetter(letter, startX) {
for (var x = 0; x < width; ++x) {
for (var y = 0; y < height; ++y) {
setLight(letters[letter][y].charAt(x) == "*", startX + x, y)
}
}
}
function drawSpace(startX) {
for (var x = 0; x < space; ++x) {
for (var y = 0; y < height; ++y) {
setLight(false, startX + x, y)
}
}
}
function computeIndex(x, y) {
return (y * boardWidth + x) + imageNum
}
function floodBoard(startX) {
for (var x = startX; x < boardWidth; ++x) {
for (var y = 0; y < height; ++y) {
setLight(false, x, y)
}
}
}
function drawMessage(num) {
var text = messages[num]
var i = 0
var j = 0
while (1) {
if (text.charAt(j) != " ") {
// draw current letter
drawLetter(text.charAt(j), i)
i += width
} else {
drawSpace(i)
i += space
}
if (j < text.length - 1) {
drawSpace(i)
i += space
} else
break
++j
}
floodBoard(i)
if (num < messages.length - 1)
val = ++num
else
val = 0
timerID = setTimeout("drawMessage(val)", pause)
}
function startSign() {
running = true
drawMessage(0)
}
function stopSign() {
if(running)
clearTimeout(timerID)
running = false
}
document.write('<CENTER><FORM>')
drawBlank()
document.write('<INPUT TYPE="button" VALUE="start" onClick="startSign()">')
document.write('<INPUT TYPE="button" VALUE="stop" onClick="stopSign(); floodBoard(0)">')
document.write('</FORM></CENTER>')
// -->
</SCRIPT>
To add more messages just add