// This box fades an item

function Fade(doc_id, speed)
{
  var id = doc_id;
  var speed = speed;
  var opacity = 100;
  var intervalid = 0;
  var status = "showing";
  
  function fadeitout()
  {
    var doc = document.getElementById(id);
	if(opacity <= 0)
	{
		doc.style.visibility = "hidden";
		status = "hidden";
		clearInterval(intervalid);
		return;
	}
	
	if(document.all)
	{
		for(var i=0;i<doc.getElementsByTagName("div").length;i++)
		{
			doc.getElementsByTagName("div")[i].style.filter = "Alpha(opacity=" + opacity + ")";
			opacity -= 1;
		}
	}
	else 
	{
		doc.style.opacity = opacity/100;
		opacity -= 4;
	}
	
	
  }

  function fadeitin()
  {
	var doc = document.getElementById(id);
	
	if(opacity > 100)
	{		
		status = "visible";
		clearInterval(intervalid);
		return;
	}
	
	if(document.all)
	{
		for(var i=0;i<doc.getElementsByTagName("div").length;i++)
		{
			doc.getElementsByTagName("div")[i].style.filter = "Alpha(opacity=" + opacity + ")";
			opacity += 15;
		}
	}
	else 
	{
		doc.style.opacity = opacity/100;
		opacity += 4;
	}
	
  }

  this.fadeOut = function()
  {
	if(intervalid) clearInterval(intervalid);
    intervalid = setInterval(fadeitout, speed);
  }
  
  this.fadeIn = function()
  {
	if(intervalid) clearInterval(intervalid);
	document.getElementById(id).style.visibility = "visible";
	intervalid = setInterval(fadeitin, speed);  
  }
  
  this.resetFade = function()
  {
	var doc = document.getElementById(id);
	if(document.all)
	{
		for(var i=0;i<doc.getElementsByTagName("div").length;i++)
		{
			doc.getElementsByTagName("div")[i].style.filter = "Alpha(opacity=" + 100 + ")";
		}
	}
	else 
	{
		doc.style.opacity = 1;
	}
	opacity = 100;
  }
  
  this.startHidden = function()
  {
	var doc = document.getElementById(id);
	if(document.all)
	{
		for(var i=0;i<doc.getElementsByTagName("div").length;i++)
		{
			doc.getElementsByTagName("div")[i].style.filter = "Alpha(opacity=" + 0 + ")";
		}
	}
	else 
	{
		doc.style.opacity = 0;
	}
	opacity = 0;
  }
  
  this.getStatus = function()
  {
	return status;  
  }
}