/** Opacity Manager **/ function Opacity(id) { this.opacity = 0; this.style = id.style; this.timer = null; } Opacity.prototype.setOpacity = function(value) { if(value == 0) { this.style.display = 'none'; } else { this.style.display = 'block'; } this.style.opacity = (value / 100); this.style.MozOpacity = (value / 100); this.style.KhtmlOpacity = (value / 100); this.style.filter = "alpha(opacity=" + value + ")"; } Opacity.prototype.Stop = function() { clearInterval(this.timer); if(this.opacity> 0) { this.setOpacity(100); } } Opacity.prototype.FadeIn = function() { var _this = this; this.timer = window.setInterval(function() { _this.FadeInTimer(); }, 10); } Opacity.prototype.FadeInTimer = function() { if(this.opacity <100) { this.opacity = this.opacity + 25; this.setOpacity(this.opacity); return false; } else { clearInterval(this.timer); if ( this.FadeDone ) { this.FadeDone(); } return true; } } Opacity.prototype.FadeOut = function() { var _this = this; this.timer = window.setInterval(function() { _this.FadeOutTimer(); }, 10); } Opacity.prototype.FadeOutTimer = function() { if(this.opacity> 0) { this.opacity = this.opacity-25; this.setOpacity(this.opacity); return false; } else { clearInterval(this.timer); return true; } } Element.FadeIn = function(element){ if ( !element.opacity ) element.opacity = new Opacity( element ); element.opacity.FadeIn() } Element.FadeOut = function(element){ if ( !element.opacity ) element.opacity = new Opacity( element ); element.opacity.FadeOut() }