var profile_casesPanel = new function() {
	this.cssNormal    = 'profileCases-panel';
	this.cssCollapsed = 'profileCases-panel-collapsed';
	this.cssContent   = 'profileCases-panel-content';
	this.animationSteps = 10;

	this.toggle = function(panel, expanding){
		var expanding = (panel.parentNode.className == profile_casesPanel.cssCollapsed);
		var elements = panel.parentNode.getElementsByTagName('div');
		var panelContent = null;
		for(var i=0; i<elements.length; i++){
			if(elements[i].className == this.cssContent){
				panelContent = elements[i];
				break;
			}
		}
		panelContent.style.display = 'block';
		var contentHeight = panelContent.offsetHeight;
		if(expanding) panelContent.style.height = '0px';
		var stepHeight = Math.floor(contentHeight/this.animationSteps);
		var direction = (!expanding?-1:1);
		setTimeout(function(){profile_casesPanel.animateStep(panelContent,1,stepHeight,direction)}, 20);
	}
	
	this.animateStep = function(panelContent, iteration, stepHeight, direction){
		if(iteration<this.animationSteps){
			panelContent.style.height = Math.round(((direction>0)?iteration:this.animationSteps-iteration)*stepHeight)+'px';
			iteration++;
			setTimeout(function(){profile_casesPanel.animateStep(panelContent,iteration,stepHeight,direction)}, 20);
		}
		else{
			panelContent.parentNode.className = (direction<0)?this.cssCollapsed:this.cssNormal;
			panelContent.style.display = panelContent.style.height = '';
		}
	}
}

