// This script will no longer overwrite your current onmouseover and// onmouseout attributes - it will instead skip those links. If you would// still like to fade them, add findLink(this.id) to your onmouseover// and clearFade() to your onmouseout, like so -// <a href="#" onmouseover="findLink(this.id); yourFunction()"// onmouseout="clearFade(); yourSecondFunction()">// Make sure to put it BEFORE any "return" statements otherwise// the fade will not execute.var fadeTo = "FF0000";// Fade in colour increment/decrement byvar fiBy = 6;// Fade out colour increment/decrement byvar foBy = 6;// Speed - milliseconds between each colour change in the fade// Less than 10ms doesn't really make all that much difference, so// 10 is the minimum effective value.var speed = 10;// Class name of links to NOT fade (i.e. ignore)// var ignoreClass = "somebogusvalue" if you don't want to// use this feature. Alternatively, add onmouseover="clearFade()"// to the link you do not wish to fade.var ignoreClass = "ignore";// No more changes required (unless you know what you are doing)// Enjoy... and email me and let me know what site(s) you are using it on :)var opera, ie, dom, x = 0, oc, fader, ocs = new Array();if (navigator.userAgent.indexOf("Opera") != -1) opera = trueelse if (document.all && !opera) ie = trueelse if (!document.all && document.getElementById) dom = true;function convertRGB(z)	{		var newfcS = "", splitter = "";		splitter = z.split(",");		splitter[0] = parseInt(splitter[0].substring(4, splitter[0].length));		splitter[1] = parseInt(splitter[1]);		splitter[2] = parseInt(splitter[2].substring(0, splitter[2].length-1));		for (var q = 0; q < 3; q++)			{				splitter[q] = splitter[q].toString(16);				if (splitter[q].length == 1) splitter[q] = "0" + splitter[q];				newfcS += splitter[q];			}		return newfcS;	}function currentColour(index)	{		var temp, cc;		if (opera) cc = document.links[index].style.color		else if (ie) cc = document.links[index].currentStyle.color		else if (dom) cc = document.defaultView.getComputedStyle(document.links[index], '').getPropertyValue("color");		if (cc.length == 4 && cc.substring(0, 1) == "#")			{				temp = "";				for (var a = 0; a < 3; a++)					temp += cc.substring(a+1, a+2) + cc.substring(a+1, a+2);				cc = temp;			}		else if (cc.indexOf("rgb") != -1) cc = convertRGB(cc)		else if (cc.length == 7) cc = cc.substring(1, 7)		else cc = fadeTo;		return cc;	}function convert2Dec(hex)	{			var rgb = new Array();		for (var u = 0; u < 3; u++)			rgb[u] = parseInt(hex.substring(u*2, u*2+2), 16);		return rgb;	}function newRGB(f, n, d)	{		var change;		if (d == 1) change = fiBy		else change = foBy;		for (var g = 0; g < 3; g++)			{				if (n[g] > f[g] && n[g] - change >= 0) n[g] -= change;				if (n[g] < f[g] && n[g] + change <= 255) n[g] += change;			}		return n;	}function fade(index, d)	{		var fc, nc, temp = new Array(), finished = false;		nc = convert2Dec(currentColour(index));		if (d == 1) fc = convert2Dec(fadeTo)		else fc = convert2Dec(ocs[x]);		temp = convert2Dec(currentColour(index));		nc = newRGB(fc, nc, d);		if ((nc[0] == temp[0]) && (nc[1] == temp[1]) && (nc[2] == temp[2]))			finished = true;		if (!finished) document.links[x].style.color = "rgb(" + nc[0] + "," + nc[1] + "," + nc[2] + ")"		else clearInterval(fader);	}function findLink(over)	{		if (document.layers) return;		if (fader)			{				clearInterval(fader);				document.links[x].style.color = "#" + ocs[x];			}		if (over && !this.id) this.id = over;		x = 0;		while (!(this.id == document.links[x].id) && (x < document.links.length))			x++;		if (this.id == document.links[x].id)			{				oc = currentColour(x);				fader = setInterval("fade(" + x  + ", 1)", speed);			}	}function clearFade()	{		if (document.layers) return;		if (fader) clearInterval(fader);		fader = setInterval("fade(" + x + ", 0)", speed);	}function init()	{		for (var i = 0; i < document.links.length; i++)			{				ocs[i] = currentColour(i);				var currentOver = document.links[i].onmouseover;				var currentOut = document.links[i].onmouseout;				var ignoreIt = document.links[i].className == ignoreClass;				if (!ignoreIt) document.links[i].id = "link" + i;				if (!currentOver && !currentOut && !ignoreIt)					{						document.links[i].onmouseover = findLink;						document.links[i].onmouseout = clearFade;					}			}		}if (opera || ie || dom) window.onload = init;