
/***********************************************
* 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
* modified by die die@aixonix.de
***********************************************/

var delay = 1000; //set delay between message change (in miliseconds)
var maxsteps=20; // number of steps to take to change from start color to endcolor
var stepdelay=100; // time in miliseconds of a single step
//**Note: maxsteps*stepdelay will be total time in miliseconds of fading effect
var startcolor= new Array(0,0,0); // start color (red, green, blue)
var endcolor=new Array(255,255,255); // end color (red, green, blue)

var fwidth='450px'; //set scroller width
var fheight='150px'; //set scroller height

var fadelinks=1;  //should links inside scroller content also fade like text? 0 for no, 1 for yes.
var fadecounter;

var ie4=document.all&&!document.getElementById;
var DOM2=document.getElementById;

var tickerContent = document.getElementById("messages"); 
var tickerElements;
var selectedDivObj;

var faderdelay=0;
var index=0;

if (tickerContent!=null)
{
   tickerElements = tickerContent.getElementsByTagName("div");
}

var maxDiv=tickerElements.length;

function changecontent(){  

  contractall()

  selectedDivObj = tickerElements[index];

  if (selectedDivObj != null)
  {
	if (selectedDivObj.getAttribute("subject")!="")
	{
	    document.getElementById("dropcontentsubject").innerHTML='<h1>' + selectedDivObj.getAttribute("subject") + '</h1>';
	}

    if (DOM2){
      document.getElementById("fscroller").style.color="rgb("+startcolor[0]+", "+startcolor[1]+", "+startcolor[2]+")"
      document.getElementById("fscroller").innerHTML=selectedDivObj.innerHTML;
      if (fadelinks)
        linkcolorchange(1);
   
      colorfade(1, 15);
    }
    else if (ie4)
      document.all.fscroller.innerHTML=selectedDivObj.innerHTML;
  
    index++
    if (index==tickerElements.length) {
      index=0;
	}
  }
}

function linkcolorchange(step){
  var obj=document.getElementById("fscroller").getElementsByTagName("A");
  if (obj.length>0){
    for (i=0;i<obj.length;i++)
      obj[i].style.color=getstepcolor(step);
  }
}

/* fade color */
function colorfade(step) {
  if(step<=maxsteps) {
    document.getElementById("fscroller").style.color=getstepcolor(step);
    if (fadelinks)
      linkcolorchange(step);
    step++;
    fadecounter=setTimeout("colorfade("+step+")",stepdelay);
  }else{
    clearTimeout(fadecounter);
    document.getElementById("fscroller").style.color="rgb("+endcolor[0]+", "+endcolor[1]+", "+endcolor[2]+")";
    setTimeout("changecontent()", delay);
  }   
}

/* calculate new step color */
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] + ")");
}

/* hide all elements */
function contractall(){
	for (var inc = 0; inc < tickerElements.length; inc++) {
	  tickerElements[inc].style.display="none"
	}
}

//if (ie4||DOM2)
//  document.write('<div id="fscroller" style="border:1px solid black;width:'+fwidth+';height:'+fheight+'"></div>');

if (window.addEventListener)
  window.addEventListener("load", changecontent, false)
else if (window.attachEvent)
  window.attachEvent("onload", changecontent)
else if (document.getElementById)
  window.onload=changecontent