function Callbacks() {
	function appendTree(lmnt, node) {
		if (node.nodeName == undefined) {
			for (var i = 0; i < node.length; i++) {
				appendTree(lmnt, node[i]);
			}

		}
		else {
			switch (node.nodeType) {
				case 1 :
					var tmp = document.createElement(node.nodeName);
					for (var i = 0; i < node.attributes.length; i++) {
						tmp.setAttribute(node.attributes[i].name, node.attributes[i].value);
					}
					if (node.hasChildNodes()) {
						for (var i = 0; i < node.childNodes.length; i++) {
							appendTree(tmp, node.childNodes[i]);
						}
					}
					lmnt.appendChild(tmp);
				break;

				case 3 :
					if (node.nodeValue.length > 0) {
						lmnt.appendChild(document.createTextNode(node.nodeValue));
					}
				break;

				default : // ???
			}
		}
	}

	this.displayIt = function(xmldoc) {

		var div = document.createElement("div");
		var h2 = document.createElement("h3");
			h2.appendChild(document.createTextNode(xmldoc.getElementsByTagName("title").item(0).firstChild.nodeValue));
		div.appendChild(h2);
		var pQ = document.createElement("p");
			var f = document.createElement("span");
				f.appendChild(document.createTextNode("F: "));
			pQ.appendChild(f);
			appendTree(pQ, xmldoc.getElementsByTagName("question").item(0).childNodes);
			pQ.className = "faqQ";
			div.appendChild(pQ);
		var pA = document.createElement("p");
			var s = document.createElement("span");
				s.appendChild(document.createTextNode("S: "));
			pA.appendChild(s);
			pA.className = "faqA";
			appendTree(pA, xmldoc.getElementsByTagName("answer").item(0).childNodes);
		div.appendChild(pA);

		var container = document.getElementById("answer_container");
		container.replaceChild(div,container.firstChild);
		container.style.display = "block";
	}
}
