function toggleAnswer(answerDivId, ahrefId)
{
	var imagePath = "/Templates/Main/Images/"; // End with "/"
	var slideSpeed = .2; // In seconds
	var fadeSpeed = .3; // In seconds

	var link = document.getElementById(ahrefId);
	var answerDiv = document.getElementById(answerDivId);
	var questionDiv = answerDiv.parentNode;
	var tween;
	
	if(answerDiv.style.display == "none") // Show
	{
		link.style.fontWeight = "bold";
		link.style.backgroundImage = "url("+imagePath+"ArrowDown.gif)";
		questionDiv.style.height = questionDiv.offsetHeight + "px";
		answerDiv.style.display = "";
		
		var animSeq = new Sequence();
		tween = new Tween(questionDiv.style, "height", Tween.regularEaseOut, questionDiv.offsetHeight, questionDiv.offsetHeight+answerDiv.offsetHeight, slideSpeed, "px");
		tween.onMotionFinished = function()
			{
				// Clear the new set height so that usual browser resize text works. The visible answer div will make the height stick.
				questionDiv.style.height = "";
			};
		animSeq.addChild(tween);
		animSeq.addChild(new OpacityTween(answerDiv, null, 0, 100, fadeSpeed));
		animSeq.start();
	}
	else if(answerDiv.style.display == "") // Close
	{
		link.style.fontWeight = "normal";
		link.style.backgroundImage = "url("+imagePath+"ArrowRight.gif)";
		questionDiv.style.height = questionDiv.offsetHeight + "px";

		var animSeq = new Sequence();
		tween = new OpacityTween(answerDiv, null, 100, 0, fadeSpeed);
		tween.onMotionFinished = function()
			{
				answerDiv.style.display = "none";
			};
		animSeq.addChild(tween);
		tween = new Tween(questionDiv.style, "height", Tween.regularEaseIn, questionDiv.offsetHeight, questionDiv.offsetHeight-answerDiv.offsetHeight, slideSpeed, "px");
		tween.onMotionFinished = function()
			{
				questionDiv.style.height = "";
			};
		animSeq.addChild(tween);
		animSeq.start();
	}
}
