/*********************************************** * New_News_Fader 1.0 * * Fades news bi-directionally between any starting and ending color smoothly * * Written for YaBB by Eddy * 14-Jan-2005 * Original 'fader.js' by NRg (allbrowsers_fader.mod v2.02 01/12/2002) * * Based upon uni-directional fading code from: * Fading Scroller- © Dynamic Drive DHTML code library (www.dynamicdrive.com) * This notice MUST stay intact for legal use * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code ***********************************************/ var ie4=document.all && !document.getElementById; var DOM2=document.getElementById; var index=0; function cutHex(h) { return (h.charAt(0)=="#") ? h.substring(1,7) : h} 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) } var startcolor = new Array(HexToR(bcolor), HexToG(bcolor), HexToB(bcolor)); var endcolor = new Array(HexToR(tcolor), HexToG(tcolor), HexToB(tcolor)); function changecontent() { if (index >= fcontent.length) index=0; if (DOM2){ document.getElementById("fscroller").style.color="rgb("+startcolor[0]+", "+startcolor[1]+", "+startcolor[2]+")"; document.getElementById("fscroller").innerHTML=begintag+fcontent[index]+closetag; if (fadelinks) linkcolorchange(1); colorfadeup(1); } else if (ie4) { document.all.fscroller.innerHTML=begintag+fcontent[index]+closetag; } index++ } function linkcolorchange(step) { var obj=document.getElementById("fscroller").getElementsByTagName("A"); if (obj.length>0) { for (i=0;i 1) { step--; document.getElementById("fscroller").style.color = getstepcolor(step); if (fadelinks) linkcolorchange(step); fadecounter = setTimeout("colorfadedown("+step+")", stepdelay); } else { clearTimeout(fadecounter); document.getElementById("fscroller").style.color = "rgb("+startcolor[0]+", "+startcolor[1]+", "+startcolor[2]+")"; setTimeout("changecontent()", delay / 2); } } function getstepcolor(step) { var diff; var newcolor=new Array(3); for(var i=0; i<3; i++) { diff = (startcolor[i] - endcolor[i]); if(diff > 0) { newcolor[i] = startcolor[i] - (Math.round((diff/maxsteps))*step); } else { newcolor[i] = startcolor[i] + (Math.round((Math.abs(diff)/maxsteps))*step); } } return ("rgb(" + newcolor[0] + ", " + newcolor[1] + ", " + newcolor[2] + ")"); } // This bumps things down by a line in all browsers I tested with // If you use IE4, I guess you might want to uncomment it... // if (ie4||DOM2) // document.write('
'); if (window.addEventListener) window.addEventListener("load", changecontent, false); else if (window.attachEvent) window.attachEvent("onload", changecontent); else if (document.getElementById) window.onload=changecontent;