var bgcolor = "#FFFFFF"; // background color, must be valid browser hex color (not color names) var fcolor = "#000000"; // foreground or font color var steps = 10; // number of steps to fade var show = 10000; // milliseconds to display message var sleep = 1200; // milliseconds to pause inbetween messages var loop = true; // true = continue to display messages, false = stop at last message // Do Not Edit Below This Line var colors = new Array(steps); getFadeColors(bgcolor,fcolor,colors); var color = 0; var text = 0; var step = 1; var id = "fader"; // fade: magic fader function function fade() { // insert fader color into message var text_out = texts[text].replace("RSCOLOR", colors[color]); //var regEx1 = /</g ; //var regEx2 = />/g; //text_out = text_out.replace(regEx1, "<"); //text_out = text_out.replace(regEx2, ">"); //var text_out = texts[text]; // texts should be defined in user script, e.g.: var texts = new Array("howdy"); // actually write message to document if (document.getElementById) {document.getElementById(id).innerHTML ="

" + text_out + "

" ;} // document.all = IE only else if (document.all) { document.all[id].innerHTML = "

" + text_out + "

";} //else if (document.all) { document.all[id].innerHTML = "

" + text_out + "

";} else if (document.layers) { document.layers[id].document.open(); //document.layers[id].document.write("

" + text_out + "

"); document.layers[id].document.write("

" + text_out + "

"); document.layers[id].document.close(); // document.layers = Netscape only } // select next fader color color += step; // completely faded in? if (color >= colors.length-1) { step = -1; // traverse colors array backward to fade out // stop at last message if loop=false if (!loop && text >= texts.length-1) { return;} // loop should be defined in user script, e.g.: var loop=true; } // completely faded out? if (color == 0) { step = 1; // traverse colors array forward to fade in again // select next message text += 1; if (text == texts.length) { text = 0;} // loop back to first message } // subtle timing logic... setTimeout("fade()", (color == colors.length-2 && step == -1) ? show : ((color == 1 && step == 1) ? sleep : 50)); // sleep and show should be defined in user script, e.g.: var sleep=30; var show=500; } // getFadeColors: fills Colors (predefined Array) // with color hex strings fading from ColorA to ColorB // note: Colors.length equals the number of steps to fade function getFadeColors(ColorA, ColorB, Colors) { len = Colors.length; // strip '#' signs if present if (ColorA.charAt(0)=='#') {ColorA = ColorA.substring(1);} if (ColorB.charAt(0)=='#') {ColorB = ColorB.substring(1);} // substract rgb compents from hex string var r = HexToInt(ColorA.substring(0,2)); var g = HexToInt(ColorA.substring(2,4)); var b = HexToInt(ColorA.substring(4,6)); var r2 = HexToInt(ColorB.substring(0,2)); var g2 = HexToInt(ColorB.substring(2,4)); var b2 = HexToInt(ColorB.substring(4,6)); // calculate size of step for each color component var rStep = Math.round((r2 - r) / len); var gStep = Math.round((g2 - g) / len); var bStep = Math.round((b2 - b) / len); // fill Colors array with fader colors for (i = 0; i < len-1; i++) { Colors[i] = "#" + IntToHex(r) + IntToHex(g) + IntToHex(b); r += rStep; g += gStep; b += bStep; } Colors[len-1] = ColorB; // make sure we finish exactly at ColorB } // IntToHex: converts integers between 0-255 into a two digit hex string. function IntToHex(n) { var result = n.toString(16); if (result.length==1) result = "0"+result; return result; } // HexToInt: converts two digit hex strings into integer. function HexToInt(hex) { return parseInt(hex, 16); } var winW = 630, winH = 460; function init() { if (parseInt(navigator.appVersion)>3) { if (navigator.appName=="Netscape") { winW = window.innerWidth; winH = window.innerHeight; } if (navigator.appName.indexOf("Microsoft")!=-1) { winW = document.body.offsetWidth; winH = document.body.offsetHeight; } } //alert("test"); maxW = (winW/2)+210; // on page wider than pageW this is the location of the layer from the left topH = 230; // fixed pixels from top of page fixW = 650; // fixed position of layer when window smaller than pageW pageW = 850; // page normal width if (document.getElementById) { if( winW > pageW ) {document.getElementById(id).style.left = maxW;} else{document.getElementById(id).style.left = fixW;} document.getElementById(id).style.top = topH; } else if (document.all){ if( winW > pageW ){ document.all[id].style.left = maxW;} else{document.all[id].style.left = fixW} document.all[id].style.top = topH; } else if (document.layers){ if (winW > pageW ) {document.layers[id].style.left = maxW;} else{document.layers[id].style.left = fixW;} document.layers[id].style.top = topH; } } // body tag must include: onload="fade()" bgcolor="#000000" where bgcolor equals bgcolor in javascript above