/***********************************************
* 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 Susie for mysource

//var startcolour= new Array(255,255,255); // start colour (red, green, blue)
var maxsteps=30; // number of steps to take to change from start colour to endcolour
var stepdelay=30; // time in miliseconds of a single step

var ie4=document.all&&!document.getElementById;
var DOM2=document.getElementById;
var faderdelay=0;
var index=0;
var fadelinks=1;
faderdelay=maxsteps * stepdelay;
	


//function to change content
function changecontent(){
	//inspect(document.getElementById("scroller").style.color);
	if (index>=rsscontentdata.scroller.length)
		index=0
	if (DOM2){
		document.getElementById("scroller").style.color="rgb("+startcolour[0]+", "+startcolour[1]+", "+startcolour[2]+")";
		//document.getElementById("scroller").innerHTML=rsscontentdata.scroller[index]
		document.getElementById("scroller").innerHTML=formatrssmessage(index, logicswitch);
		if (fadelinks) {
			linkcolourchange(1);
		}
		colourfade(1, textcolour);
	}
	else if (ie4)
		document.all.scroller.innerHTML=formatrssmessage(index, logicswitch);

	index++
}

function linkcolourchange(step){
	var obj=document.getElementById("scroller").getElementsByTagName("A");
	if (obj.length>0){
		for (i=0;i<obj.length;i++) {
			obj[i].style.color=getstepcolour(step, titlecolour);
		}
	}
}

/*Rafael Raposo edited function*/
var fadecounter;
function colourfade(step) {
	if(step<=maxsteps) {	
		document.getElementById("scroller").style.color=getstepcolour(step, textcolour);
		if (fadelinks)
			linkcolourchange(step);
		step++;
		fadecounter=setTimeout("colourfade("+step+")",stepdelay);
	}else{
		clearTimeout(fadecounter);
		document.getElementById("scroller").style.color="rgb("+textcolour[0]+", "+textcolour[1]+", "+textcolour[2]+")";
		setTimeout("changecontent()", delay);	
	}   
}

/*Rafael Raposo's new function*/
function getstepcolour(step, endcolour) {
	var diff;
	var newcolour=new Array(3);
	for(var i=0;i<3;i++) {
		diff = (startcolour[i]-endcolour[i]);
		if(diff > 0) {
			newcolour[i] = startcolour[i]-(Math.round((diff/maxsteps))*step);
		} else {
			newcolour[i] = startcolour[i]+(Math.round((Math.abs(diff)/maxsteps))*step);
		}
	}
	return ("rgb(" + newcolour[0] + ", " + newcolour[1] + ", " + newcolour[2] + ")");
}

function formatrssmessage(index, logicswitch){
    var rsscontent=rsscontentdata["scroller"][index]
	var des = unescape(rsscontent.description);
	var re = /&lt;/gi
	des = des.replace(re, "<");
	re = /&gt;/gi
	des = des.replace(re, ">");
	re = /&amp;/gi
	des = des.replace(re, "&");
	var linktitle='<span class="rsstitle"><a style="text-decoration:none;" href="'+unescape(rsscontent.link)+'">'+unescape(rsscontent.title)+'</a></span>'
	var description='<div class="rssdescription">'+des+'</div>'
	var feeddate='<span class="rssdate">'+unescape(rsscontent.date)+'</span>'
	if (logicswitch.indexOf("description")!=-1) //Logic switch- Show just description
		return linktitle+"<br />"+description
	else
		return linktitle //Default- Just return hyperlinked RSS title
}

if (window.addEventListener)
window.addEventListener("load", changecontent, false)
else if (window.attachEvent)
window.attachEvent("onload", changecontent)
else if (document.getElementById)
window.onload=changecontent

function inspect(elm) {
    var str = "";
	for (var i in elm) str += i + ": " + elm[i] + "\n";
		alert(str);
}

