function resize_init(block_id, hide, duration, timeout)
{
	var block = document.getElementById(block_id);
	
	block.resize = new Object();
	
	// Default settings
	if(!duration)
		var duration = 300;
	if(!timeout)
		var timeout = 20;
	
	block.resize.duration = duration;
	block.resize.timeout = timeout;
	
	block.resize.initial_height = block.offsetHeight;
	block.resize.current_opacity = 1;
	
	// Calculate animation properties
	block.resize.resize_step = block.resize.initial_height * timeout / duration;
	block.resize.opacity_step = 1 * timeout / duration;
	
	// Hide element
	if(hide)
	{
		block.style.overflow = "hidden";
		block.style.display = "none";
		block.style.height = "0px";
		block.resize.current_opacity = 0;
		block.style.opacity = block.resize.current_opacity;
	}
	
	// This lock prevents simultanios shrink and zoom
	block.resize.zoom_lock = false;
	block.resize.shrink_lock = false;
}

function resize_zoom_start(block_id)
{
	var block = document.getElementById(block_id);

	// Display block as a block (-;
	block.style.display = "block";
	
	block.resize.zoom_lock = false;
	block.resize.shrink_lock = true;
	setTimeout("resize_zoom_animate(\"" + block_id + "\")", block.resize.timeout);
}

function resize_zoom_animate(block_id)
{
	var block = document.getElementById(block_id);
	
	if(!block.resize.zoom_lock)
	{
		if(block.offsetHeight < block.resize.initial_height - block.resize.resize_step)
		{
			block.style.height = block.offsetHeight + block.resize.resize_step + "px";
			block.resize.current_opacity += block.resize.opacity_step;
			block.style.opacity = block.resize.current_opacity;
			setTimeout("resize_zoom_animate(\"" + block_id + "\")", block.resize.timeout);
		}
		else
		{
			block.style.height = block.resize.initial_height + "px";
			block.resize.shrink_lock = false;
		}
	}
	// Try again later
	//else
	//	setTimeout("resize_zoom_animate(\"" + block_id + "\")", block.resize.timeout);
}

function resize_shrink_start(block_id)
{
	var block = document.getElementById(block_id);
	block.style.overflow = "hidden";

	block.resize.shrink_lock = false;
	block.resize.zoom_lock = true;
	setTimeout("resize_shrink_animate(\"" + block_id + "\")", block.resize.timeout);
}

function resize_shrink_animate(block_id)
{
	var block = document.getElementById(block_id);
	
	if(!block.resize.shrink_lock)
	{
		if(block.offsetHeight > 0 + block.resize.resize_step)
		{
			block.style.height = block.offsetHeight - block.resize.resize_step + "px";
			block.resize.current_opacity -= block.resize.opacity_step;
			block.style.opacity = block.resize.current_opacity;
			setTimeout("resize_shrink_animate(\"" + block_id + "\")", block.resize.timeout);
		}
		else
		{
			block.style.display = "none";
			block.style.height = "0px";
			block.resize.current_opacity = 0;
			block.style.opacity = block.resize.current_opacity;
			block.resize.zoom_lock = false;
		}
	}
	//else
	//	setTimeout("resize_shrink_animate(\"" + block_id + "\")", block.resize.timeout);
}

