/**
 * @author michaeld
 */
 
	if((typeof AFL_JS == 'undefined') || (typeof AFL_JS.Common == 'undefined'))
		throw("AFL_JS.FormValidator requires the AFL JavaScript framework");

	AFL_JS.FAQ = new Object();
	
	AFL_JS.FAQ.oCurrentAnswer = null;
	AFL_JS.FAQ.oCurrentQuestion = null;
	
	AFL_JS.FAQ.sQuestionContainerId = 'faq_question_container';
	AFL_JS.FAQ.sAnswerContainerId = 'faq_answer_container';
	AFL_JS.FAQ.sQuestionActiveClassName = 'main_color';
	AFL_JS.FAQ.sAnswerActiveClassName = 'main_color';
	
	AFL_JS.FAQ.toggleAnswer = function(oQuestion, oAnswer) {

		if($(AFL_JS.FAQ.getCurrentAnswer())) {
			$(AFL_JS.FAQ.getCurrentAnswer()).hide();
			Element.removeClassName(AFL_JS.FAQ.oCurrentQuestion, AFL_JS.FAQ.sQuestionActiveClassName);
		}
		
		if(AFL_JS.FAQ.getCurrentAnswer() == $(oAnswer)) {
			
			AFL_JS.FAQ.setCurrentAnswer(null);
			return;
		}
		
		AFL_JS.FAQ.oCurrentQuestion = oQuestion;
		
		$(oAnswer).show();
		
		AFL_JS.FAQ.setCurrentAnswer(oAnswer);
		
		Element.addClassName(AFL_JS.FAQ.oCurrentQuestion, AFL_JS.FAQ.sQuestionActiveClassName);
	}
	
	AFL_JS.FAQ.getCurrentAnswer = function() {
		return AFL_JS.FAQ.oCurrentAnswer;
	}
	
	AFL_JS.FAQ.setCurrentAnswer = function(mAnswer) {
		AFL_JS.FAQ.oCurrentAnswer = $(mAnswer);
	}
	
	AFL_JS.FAQ.loadAnswer = function(oQuestion, oAnswer) {
		if(AFL_JS.FAQ.oCurrentAnswer) {
			Element.removeClassName(AFL_JS.FAQ.oCurrentAnswer, AFL_JS.FAQ.sAnswerActiveClassName);
		}
		$(AFL_JS.FAQ.sQuestionContainerId).innerHTML = oQuestion.innerHTML;
		$(AFL_JS.FAQ.sAnswerContainerId).innerHTML = oAnswer.innerHTML;
		
		AFL_JS.FAQ.oCurrentAnswer = oQuestion;
		Element.addClassName(AFL_JS.FAQ.oCurrentAnswer, AFL_JS.FAQ.sAnswerActiveClassName);
	}
