// JavaScript Document

x = 0;

var faq_wrapper = window.document.getElementById("the-grill-room-expander");
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;
	}
}
