function initFaqs() {
	if ($$("div.faqs").length == 0) return false;

	// get answers
	var answers = $$("div.faqs div.answer");
	for (var i = 0; i < answers.length; i++) {
		answers[i].slide("hide");
	}

	// get questions
	var questions = $$("div.faqs div.question a");
	
	// add events to all questions
	for (var i = 0; i < questions.length; i++) {
		questions[i].addEvents({
			
			"click": function(ev) {
				toggleAnswer(ev);
			},
			
			"keypress": function(ev) {
				toggleAnswer(ev);
			}
		
		});
	}
	
	// get "hide answer" links
	var close_answer_links = $$("div.faqs div.answer p.close a");
	
	// unhide "hide answer" links
	for (var i = 0; i < close_answer_links.length; i++) {
		close_answer_links[i].getParent("p.close").removeClass("hide");
	}
	
	// add events to all "close answer" links
	for (var i = 0; i < close_answer_links.length; i++) {
		close_answer_links[i].addEvents({
			
			"click": function(ev) {
				closeAnswer(ev);
			},
			
			"keypress": function(ev) {
				closeAnswer(ev);
			}
		
		});
	}
}

function toggleAnswer(ev) {
	var event = new Event(ev).stop();
	
	// get faq id
	var faq_id = $(event.target).getParent("div.question").getProperty("id").replace("faq_q_", "");
	
	// toggle answer
	$("faq_a_" + faq_id).slide();
}

function closeAnswer(ev) {
	var event = new Event(ev).stop();
	
	// toggle answer
	$(event.target).getParent("div.answer").slide();
}