// JavaScript Document

var faq_wrapper = window.document.getElementById("the-grill-room-expander");
if(faq_wrapper)
{
	x = 0;
	var faq_question = faq_wrapper.getElementsByTagName("dt");
	var faq_answer = faq_wrapper.getElementsByTagName("dd");
	var faq_symbol = faq_wrapper.getElementsByTagName("span");
	var faq_total = faq_answer.length;
	var height = new Array;
	var id = '';
	var speed = 5;
	loop_timeout = '';
	closeAnswerLoop = '';

	for(i=0; i<faq_total; i++) {
		height[i] = faq_answer[i].clientHeight;
		if(height[i] == 0) height[i] = 100;
		faq_answer[i].style.height = 0;
		faq_question[i].onclick = function() {
			showAnswer(this.id);
		}
		faq_question[i].id = "faq_"+i;
		if(faq_symbol[i].className=='symbol') faq_symbol[i].id = 'symbol_'+i;
		faq_answer[i].innerHTML = '<div class="content">'+faq_answer[i].innerHTML+'</div>';
	}

	function showAnswer(value) {
		value = value.split("_");
		value = value[1];
		var current = parseInt(faq_answer[value].style.height);
		if(x==0) {
			hideAnswer();
			faq_question[value].className = "active";
			if(current==0) {
				faq_question[value].onclick = function() {
					hideAnswer();
				}
			}
		}
		if(loop_timeout!='') clearTimeout(loop_timeout);
		var target = height[value];
		target += 20; // ACCOMODATE FOR PADDING
		if(x<target) {
			x = x+speed;
			faq_answer[value].style.height = x+"px";
			speed++;
			loop_timeout = setTimeout("showAnswer('answer_"+value+"')",15);
		} else {
			faq_answer[value].style.height = target+"px";
			x = 0;
			speed = 5;
		}
		var symbol = document.getElementById("symbol_"+value);
			symbol.className = "symbol symbol-minus";
	}

	function hideAnswer() {
		for(i=0; i<faq_total; i++) {
			var num = 0;
			var target = parseInt(faq_answer[i].style.height);
			faq_question[i].className = '';
			faq_question[i].onclick = function() {
				showAnswer(this.id);
			}
			if((faq_symbol[i].className=='symbol')||(faq_symbol[i].className=='symbol symbol-minus')) {
				faq_symbol[i].innerHTML = '+';
				faq_symbol[i].className = 'symbol';
			}
			if(target!=0) closeAnswer(i);
		}
	}

	function closeAnswer(i) {
		if(closeAnswerLoop!='') clearTimeout(closeAnswerLoop);
		var target = parseInt(faq_answer[i].style.height);
		if(target>0) {
			target = (target>=speed) ? target-speed : 0;
			speed++;
			faq_answer[i].style.height = target+'px';
			closeAnswerLoop = setTimeout("closeAnswer("+i+")",20);
		} else {
			speed = 5;
			faq_answer[i].style.height = 0;
		}
	}
}
