// @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 opacity2 = 1; // Avoid starting at 100% due to Mozilla bug
var slowly = {
	fade : function (id) {
		this.fadeLoop(id, opacity);
	},
	fadeLoop : function (id, opacity) {
		var o = document.getElementById(id);
		if (opacity >= 4) {
			slowly.setOpacity(o, opacity);
			opacity -= 4;
			window.setTimeout("slowly.fadeLoop('" + id + "', " + opacity + ")", 20);
		} else {
			o.style.KHTMLOpacity = 1 / 100;				// Konqueror
		o.style.MozOpacity = 1 / 100;					// Mozilla (old)
		o.style.opacity = 1 / 100;					// Mozilla (new)
		}
	},
	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)
	}
}

var showy = {
	appear : function (id) {
		this.appearLoop(id, opacity2);
	},
	appearLoop : function (id, opacity2) {
		var o = document.getElementById(id);
		if (opacity2 <= 96) {
			showy.setOpacity2(o, opacity2);
			opacity2 += 4;
			window.setTimeout("showy.appearLoop('" + id + "', " + opacity2 + ")", 20);
		} else {
			//o.style.display = "none";
		}
	},
	setOpacity2 : function (o, opacity2) {
		o.style.filter = "alpha(style=0,opacity=" + opacity2 + ")";	// IE
		o.style.KHTMLOpacity = opacity2 / 100;				// Konqueror
		o.style.MozOpacity = opacity2 / 100;					// Mozilla (old)
		o.style.opacity = opacity2 / 100;					// Mozilla (new)
	}
}

//simple fade
var duration = 1000;  /* 1000 millisecond fade = 1 sec */
var durationout = 1000;  /* 1000 millisecond fade = 1 sec */
var steps = 20;       /* number of opacity intervals   */
var delay = 1100;     /* 5 sec delay before fading out */

function setOpacity(level,area) {
		var element = document.getElementById(area);
		element.style.opacity = level;
        element.style.MozOpacity = level;
        element.style.KhtmlOpacity = level;
        element.style.filter = "alpha(style=0,opacity=" + (level * 100) + ");";
      }


function faderIn(layer){
  for (i = 0; i <= 1; i += (1 / steps)) {
    setTimeout("setOpacity(" + i + ",'" + layer + "')", i * duration);
  }
  
  setTimeout("document.getElementById('" + layer + "').style.removeAttribute(\'filter\')", duration + 50);
 
}

function faderOut(layer) {
  for (i = 0; i <= 1; i += (1 / steps)) {
    setTimeout("setOpacity(" + (1 - i) + ",'" + layer + "')", i * durationout);
  }
  //setTimeout('document.getElementById(\'' + layer + '\').style.display = "none";', delay);
}
