// General Site Javascript

var FAQ = {
	init: function() {
		var faqEntry = document.getElementsByTagName('span');
		for (var i = 0; i < faqEntry.length; i++) {
			if (faqEntry[i].className.match(/\bquestion\b/)) {  

				/* Add events */
				faqEntry[i].onclick = function() {
					FAQ.showAnswer(this);
				}
				faqEntry[i].style.cursor = "pointer";
				
			} else if (faqEntry[i].className.match(/\banswer\b/)) {
				faqEntry[i].style.display = "none";
				faqEntry[i].style.visibility = "hidden";
			}
		}
		var faqEntry = document.getElementsByTagName('p');
		for (var i = 0; i < faqEntry.length; i++) {
			if (faqEntry[i].className.match(/\bfaq\b/)) {
				faqEntry[i].style.backgroundColor = "#fff";
			}
		}
	},
	showAnswer: function(e) {
		var cFaqQuestion = document.getElementById('faq_open');
		if (cFaqQuestion != null) {
			cFaqQuestion.onclick = function() {
				FAQ.showAnswer(this);
			}
			cFaqQuestion.id = "";
		}
		var cFaqEntry = document.getElementById('open');
		if (cFaqEntry != null) {
			cFaqEntry.style.display = "none";
			cFaqEntry.style.visibility = "hidden";
			cFaqEntry.id = "";
			cFaqEntry.parentNode.style.backgroundColor = "#fff";
		}
		var cAnswer = FAQ.getAnswerELement(e);
		cAnswer.style.display = "";
		cAnswer.style.visibility = "";
		cAnswer.id = "open";
		cAnswer.parentNode.style.backgroundColor = "#f4f5f6";
		e.id = "faq_open";
		e.onclick = function() {
			FAQ.closeAnswer(this);
		}
	},
	closeAnswer: function(e) {
		e.id = ""
		e.onclick  = function() {
			FAQ.showAnswer(this);
		}
		var cAnswer = FAQ.getAnswerELement(e);
		cAnswer.style.display = "none";
		cAnswer.style.visibility = "hidden";
		cAnswer.id = "";
		cAnswer.parentNode.style.backgroundColor = "#fff";
	},
	getAnswerELement: function(node) {
		if (node.nodeType == 1) {
			if (node.className.match(/\banswer\b/)) {
				return node;
			}
		}
		if (node.nextSibling) {
			return FAQ.getAnswerELement(node.nextSibling);
		}
		return null;
	}
}