Dieser Script hat einen fehler..nur wo?

Hallo
vielleicht kann mir ja jemand helfen…
Dieses Script Faded einen weißen Text mit schwarzem ein und aus.
Nur wenn er das wort augeblendet hat, blitzt es nocheinmal kurz auf.
So das der ganze effekt dahin ist.
Vielleicht findet Ihr ja den fehler.
Vielen Dank
Hier das Script:
_________________________________________

var which=0;
var color= „#000000“;
var fade=1;
var r=0;
var g=0;
var b=0;
r_start=0;
g_start=0;
b_start=0;
r_end=255;
g_end=255;
b_end=255;
step=10;
var message= new Array();

message[0]=‚Welcome‘
message[1]=‚to‘
message[2]=‚the‘
message[3]=‚Gate‘
message[4]=‚of‘
message[5]=‚Rock‘

function hex_it(zahl) {
if (zahl==0) return(„0“); if (zahl==1) return(„1“); if (zahl==2) return(„2“);
if (zahl==3) return(„3“); if (zahl==4) return(„4“); if (zahl==5) return(„5“);
if (zahl==6) return(„6“); if (zahl==7) return(„7“); if (zahl==8) return(„8“);
if (zahl==9) return(„9“); if (zahl==10) return(„A“); if (zahl==11) return(„B“);
if (zahl==12) return(„C“); if (zahl==13) return(„D“); if (zahl==14) return(„E“);
if (zahl==15) return(„F“);
}

function byte_to_hex(zahl) {
wert1=Math.floor(zahl/16);
wert2=zahl-(wert1*16);
wert=hex_it(wert1) + hex_it(wert2);
return(wert);
}

function animate(){
color="#"+byte_to_hex®+byte_to_hex(g)+byte_to_hex(b);
if (document.layers) { //Netscape
document.animatedtext.document.writeln("<center><font color="+color+" size=+2><NOBR><B>"+message[which]+"</B></NOBR></font><center>");
document.animatedtext.document.close();
}
else { //IExplorer
document.all.animatedtext.innerHTML="<center><font color="+color+" size=+2><NOBR><B>"+message[which]+"</B></NOBR></font></center>";
}
if (fade==1) { //einblenden
if (r_start<r_end) {if (r<r_end) r+=step; else r=r_end;}
else {if (r>r_end) r-=step;}
if (g_start<g_end) {if (g<g_end) g+=step; else g=g_end;}
else {if (g>g_end) g-=step;}
if (b_start<b_end) {if (b<b_end) b+=step; else b=b_end;}
else {if (b>b_end) b-=step;}
}
else { //ausblenden
if (r_start<r_end) {if (r>r_start) r-=step; else r=r_start;}
else {if (r<r_start) r+=step;}
if (g_start<g_end) {if (g>g_start) g-=step; else g=g_start;}
else {if (g<g_start) g+=step;}
if (b_start<b_end) {if (b>b_start) b-=step; else b=b_start;}
else {if (b<b_start) b+=step;}
}
// Einblenden beendet => Ausblenden
if ((r==r_end) && (g==g_end) &&(b==b_end)) {fade=-1;}
// Wieder Ausblenden beendet => nächste Message einblenden
if ((r==r_start) && (g==g_start) &&(b==b_start)) {
fade=1;r=r_start;g=g_start;b=b_start;
if (which<message.length-1) which+=1;
else which=0;

}
setTimeout(‚animate()‘,30);
}

function init() {
r=r_start;
g=g_start;
b=b_start;
setTimeout(‚animate()‘,150);
}
//–>

Nur wenn er das wort augeblendet hat, blitzt es nocheinmal
kurz auf.
So das der ganze effekt dahin ist.
Vielleicht findet Ihr ja den fehler.

deine rgb werte werden beim ausblenden negativ.
mach den timeout langsamer und verfolge die werte mit window.status=r