// ******************************************************************* // fader.js - a small JavaScript mouseOver fade in and out library // Developed by Martin Joergensen, (c) 2005 // martin@globalflyfisher.com, http://globalflyfisher.com // This code is licensed under the Noncommercial Creative Commons License // You are not only encouraged to use it noncommercially but also to develop it // Please credit me if you use or redistribute it // Global timer table var timers=new Array(); function _fade_in(element, opacity) // private { // Get object obj = document.getElementById(element); // Tidy up timer and register stop_timeout(element); // Make visible if (opacity==0) obj.style.visibility=""; // Fade in one more step if (opacity <= 100) { _set_opacity(obj, opacity); opacity+=10; window.setTimeout("_fade_in(\'"+element+"\',"+opacity+")", 5); } // If fully visible, start countdown to fade out if (opacity >= 100) { // window.setTimeout("_fade_out(\'"+element+"\', 100)", 5000); } } function _fade_out(element, opacity) // private { // Get object obj = document.getElementById(element); // If still visible, fade down one further step if (opacity > 0) { _set_opacity(obj, opacity); opacity-=10; window.setTimeout("_fade_out(\'"+element+"\',"+opacity+")", 5); } // If close to invisible, hide object completely if (opacity<10) { obj.style.visibility="hidden"; } } function _set_opacity(obj, opacity) // private { opacity=(opacity==100) ? 99.999 : opacity; // IE/Win obj.style.filter="alpha(opacity:"+opacity+")"; // Safari<1.2, Konqueror obj.style.KHTMLOpacity=opacity/100; // Older Mozilla and Firefox obj.style.MozOpacity=opacity/100; // Safari 1.2, newer Firefox and Mozilla, CSS3 obj.style.opacity=opacity/100; } function fade_in(element) // public { var obj=document.getElementById(element); // Start timer timers[element]=setTimeout("_fade_in(\'"+element+"\', 0)", 100); } function fade_out(element, e) // public { // Tidy up timer and register stop_timeout(element); // Make sure we´re outside the whole fading div // var relTarg; // if (e.relatedTarget) // relTarg = e.relatedTarget; // else if (e.toElement) // relTarg = e.toElement; // If all the way out, fade out //if (relTarg.id=="") _fade_out(element, 100); } function stop_timeout(element) // public { // Stop timer clearTimeout(timers[element]); // Clear register timers[element]=false; }