var current_content = null;
var animations = new Array();
var step = 15;

function showcontent(ignore, id){
	var n = document.all?document.all[id]:document.getElementById(id);
	if (!n)return;
	
	if (current_content && current_content.id==n.id){
		begin_animation(n, n.offsetHeight, 0);
		current_content = null;
		return;
	}
	if (current_content){
		begin_animation(current_content, current_content.offsetHeight, 0);
		current_content = null;
	}
	current_content = n;
	n.style.display = '';
	begin_animation(n, 0, n.scrollHeight);
}

function begin_animation(n, start, end){
	n.style.overflow = 'hidden';
	n.style.height = start+"px";
	if (start==0)n.style.display = 'none';else n.style.display = '';
	for (var i=0;i<animations.length;i++){
		if (animations[i].id==n.id){
			animations[i].start = start;
			animations[i].cur = start;
			animations[i].end = end;
			animations[i].id = n.id;
			animations[i].node = n;
			return;
		}
	}
	var o = new Object();
	o.start = start;
	o.cur = start;
	o.end = end;
	o.id = n.id;
	o.node = n;
	
	animations.push(o);
}

function do_anim(){
	try {
		window.setTimeout("do_anim();", 50);
		
		for (var i=0;i<animations.length;i++){
			if (animations[i].cur!=animations[i].end){
				if (animations[i].start<animations[i].end){
					animations[i].cur += step;
					if (animations[i].cur>animations[i].end)
						animations[i].cur = animations[i].end;
				}
				else {
					animations[i].cur -= step;
					if (animations[i].cur<animations[i].end)
						animations[i].cur = animations[i].end;
				}
				if (animations[i].cur==0)
					animations[i].node.style.display = 'none';
				else {
					animations[i].node.style.height = animations[i].cur+'px';
					animations[i].node.style.display = '';
				}
			}
		}
		
	}
	catch (e){
	}
}
window.setTimeout("do_anim();", 100);
