// @name      Slowly Fade
// @version   0.88
// @author    Richard D. LeCour
// @namespace http://www.richardsramblings.com/?p=486

var opacity = 96; // Avoid starting at 100% due to Mozilla bug
var slowly = {
	fadeOut : function (id) {
		this.fadeOutLoop(id, opacity);
	},
	fadeOutLoop : function (id, opacity) {
		var o = document.getElementById(id);
		if (opacity >= 5) 
		{
			slowly.setOpacity(o, opacity);
			opacity -= 8;
			window.setTimeout("slowly.fadeOutLoop('" + id + "', " + opacity + ")", 10);
		} else {
			o.style.visible = "hidden";
		}
	},
	setOpacity : function (o, opacity) {
		o.style.filter = "alpha(style=0,opacity:" + opacity + ")";	// IE
		o.style.KHTMLOpacity = opacity / 100;				// Konqueror
		o.style.MozOpacity = opacity / 100;					// Mozilla (old)
		o.style.opacity = opacity / 100;					// Mozilla (new)
	},
	fadeIn : function (id) {
	    document.getElementById(id).style.visibility = "visible";
		this.fadeInLoop(id, 4);
	},
	
	fadeInLoop : function (id, opacity) {
	 var o = document.getElementById(id);
	 if(opacity <= 96)
	 {
		slowly.setOpacity(o, opacity);
		opacity += 8;
		window.setTimeout("slowly.fadeInLoop('" + id + "', " + opacity + ")", 10);
	 }
	 else {
		slowly.setOpacity(o, 100);
	}
	}
}
