var fadeElement =
{
initialise: function(obj)
{
// Set initial opacity for the object:
fadeElement.setOpacity(obj, 20);
// Add the object to objArray:
fadeElement.objArray.push(obj);
// Initialise the fadeState property:
obj.fadeState = '';
obj.onmouseover = function() { this.fadeState = 'fadingIn'; }
obj.onmouseout = function() { this.fadeState = 'fadingOut'; }
// Set a timer to call the fader method:
if (!window.fadeTimer) window.fadeTimer = setInterval(fadeElement.fader, 50);
},
setOpacity: function(obj, opacity)
{
obj.style.filter = "alpha(opacity=" + opacity + ")"; // For IE filter to work, obj MUST have layout
obj.style.KHTMLOpacity = opacity / 100; // Safari and Konqueror
obj.style.MozOpacity = opacity / 100; // Old Mozilla and Firefox
obj.style.opacity = opacity / 100; // CSS3 opacity for browsers that support it
},
fader: function()
{
// Loop through all objects in objArray:
for (var i = 0; i < fadeElement.objArray.length; i++)
{
var obj = fadeElement.objArray[i];
var opacity = obj.style.opacity * 100;
// Check if the current object is animated:
if ((obj.fadeState == 'fadingIn') && opacity < 100)
fadeElement.setOpacity(obj, opacity + 10);
else if ((obj.fadeState == 'fadingOut') && opacity > 20)
fadeElement.setOpacity(obj, opacity - 10);
}
},
objArray: [] // This array stores each object passed to the script.
}