lnr/Originals/Website/script/fader.js

153 lines
4.5 KiB
JavaScript
Executable File

var delay = 3
var bcolor = "004444"
var tcolor = "00FFFF"
var fcontent = new Array()
begintag = '<font size="2"><B>'
fcontent[0] = "Take a Trip Into Outer Space..."
fcontent[1] = "To the World Where Monsters Rule..."
fcontent[2] = "The Land of No Return!"
fcontent[3] = "Welcome to our world!"
fcontent[4] = "---LNR Universe Homepage---"
fcontent[5] = "Read the LNR Universe Story"
fcontent[6] = "View the Characters Database, or download the Old Story"
fcontent[7] = "There are many online games and downloads."
fcontent[8] = "There are Forums, Chat, and a Newsletter."
fcontent[9] = "There are interactive games, like Vortex and LNR Worlds."
fcontent[10] = "LNR Universe also has an Artificial Intelligence, Princess Zoe!"
fcontent[11] = "Copyright 2002 Cerone Kircle."
closetag = '</b></font>'
var frame = 50;
var st = 30;
var wait = 50;
ie4 = document.all&&!document.getElementById;
ns4 = document.layers;
DOM2 = document.getElementById;
bR = HexToR(bcolor);
bG = HexToG(bcolor);
bB = HexToB(bcolor);
tR = HexToR(tcolor);
tG = HexToG(tcolor);
tB = HexToB(tcolor);
bR_m = bR;
bG_m = bG;
bB_m = bB;
tR_m = tR;
tG_m = tG;
tB_m = tB;
function HexToR(h) { return parseInt((cutHex(h)).substring(0,2),16) }
function HexToG(h) { return parseInt((cutHex(h)).substring(2,4),16) }
function HexToB(h) { return parseInt((cutHex(h)).substring(4,6),16) }
function cutHex(h) { return (h.charAt(0)=="#") ? h.substring(1,7) : h}
dir = ((tR+tG+tB) > (bR+bG+bB)) ? "up" : "down";
dirback = ((tR+tG+tB) < (bR+bG+bB)) ? "up" : "down";
dir_m = dir;
index = 0;
frame_m = frame;
framehalf = frame / 2;
wait_m = wait;
stepR = Math.abs(tR - bR) / framehalf;
stepG = Math.abs(tG - bG) / framehalf;
stepB = Math.abs(tB - bB) / framehalf;
step = Math.min(Math.round(Math.max(stepR,Math.max(stepG,stepB))),(240/framehalf));
function fade() {
if (index>=fcontent.length)
index = 0;
if (DOM2) {
document.getElementById("fscroller").innerHTML=begintag+fcontent[index]+closetag;
index++;
colorfade();
}
else if (ie4) {
document.all.fscroller.innerHTML=begintag+fcontent[index]+closetag;
index++;
setTimeout("fade()",Math.max(delay,2500));
}
else if (ns4) {
document.fscrollerns.document.fscrollerns_sub.document.write(begintag+fcontent[index]+closetag);
document.fscrollerns.document.fscrollerns_sub.document.close();
index++;
setTimeout("fade()",Math.max(delay,2500));
}
}
function colorfade() {
if (frame>0) {
if (frame==framehalf && wait>0) {
document.getElementById("fscroller").style.color="rgb("+wR+","+wG+","+wB+")";
wait--;
setTimeout("colorfade()",50);
}
else {
if (dir=="down") {
if (bR>tR) bR-=step;
if (bG>tG) bG-=step;
if (bB>tB) bB-=step;
bR = Math.max(bR,1);
bG = Math.max(bG,1);
bB = Math.max(bB,1);
}
else {
if (bR<tR) bR+=step;
if (bG<tG) bG+=step;
if (bB<tB) bB+=step;
bR = Math.min(bR,255);
bG = Math.min(bG,255);
bB = Math.min(bB,255);
}
document.getElementById("fscroller").style.color="rgb("+bR+","+bG+","+bB+")";
if (frame==framehalf+1) {
document.getElementById("fscroller").style.color="rgb("+tR+","+tG+","+tB+")";
dir = dirback;
wR = tR;
wG = tG;
wB = tB;
tR = bR_m;
tG = bG_m;
tB = bB_m;
}
frame--;
setTimeout("colorfade()",st);
}
}
else {
document.getElementById("fscroller").innerHTML=" ";
dir = dir_m;
frame = frame_m;
wait = wait_m;
tR = tR_m;
tG = tG_m;
tB = tB_m;
bR = bR_m;
bG = bG_m;
bB = bB_m;
setTimeout("fade()",delay);
}
}
if (navigator.appVersion.substring(0,1) < 5 && navigator.appName == "Netscape") {
var fwidth = screen.availWidth / 2;
var bwidth = screen.availWidth / 4;
document.write('<ilayer id="fscrollerns" width='+fwidth+' height=35 left='+bwidth+' top=0><layer id="fscrollerns_sub" width='+fwidth+' height=35 left=0 top=0></layer></ilayer>');
window.onload = fade;
}
else if (navigator.userAgent.search(/Opera/) != -1 || (navigator.platform != "Win32" && navigator.userAgent.indexOf('Gecko') == -1)) {
document.open();
document.write('<div id="fscroller" style="width:90% height:15px; padding:2px">');
for(i=0; i < fcontent.length; ++i) {
document.write(begintag+fcontent[i]+closetag+'<br>');
}
document.write('</div>');
document.close();
window.onload = fade;
}
else {
document.write('<div id="fscroller" style="width:90% height:15px; padding:2px"></div>');
window.onload = fade;
}