// @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 down = 1;
var slowly = {
	fade : function (id) {
		this.fadeLoop(id, opacity);
	},
	fadeLoop : function (id, opacity) {
		var o = document.getElementById(id);
		if ((opacity >= 5) && (down == 1)) {
			slowly.setOpacity(o, opacity);
			opacity -= 4;
			var timer=window.setTimeout("slowly.fadeLoop('" + id + "', " + opacity + ")", 20);
		} else {
			down = 2;
			slowly.setOpacity(o, opacity);
			opacity += 4;
			var timer=window.setTimeout("slowly.fadeLoop('" + id + "', " + opacity + ")", 20);
		}
		if ((opacity >= 96) && (down == 2)) {
			down = 1;
			window.clearTimeout(timer);
		}
		
	},
	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)
	}
}


//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);
		//alert('The city of ' + city + '.');
		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);
}

