	var cachedAnswers = new Array();
	var cachedCategories = new Array();

	function processCategories() {
		categories = getElementsByClassName1(document, 'a', 'category');
		for (i=0;i<=categories.length-1; i++){
			categories[i].onclick=function() {
				if (this == selectedCategory) return false;
				selectedCategory = this;
				categoryId = parseInt(selectedCategory.id.replace('c',''));
				if (cachedCategories[categoryId]!=null){
					clearCategories();
					selectedCategory.style.fontWeight = 'bold';
					selectedCategory.style.textDecoration = 'none';
					selectedCategory.style.color = '#333';
					x('rightDiv').innerHTML = cachedCategories[categoryId];
					x('answerDiv').innerHTML = '';
					document.location.href = '#rightDiv';
					processAnswers();
					return false;
				}
				selectedCategory.parentNode.style.listStyleImage = 'url(/images/loading_1.gif)';


				var xRequest = new xmlHttp;
				xRequest.onreadystatechange = function(i) {
					if (xRequest.readyState == 4) {
						if (xRequest.responseText) {
							categoryId = parseInt(selectedCategory.id.replace('c',''));
							cachedCategories[categoryId] = xRequest.responseText;
							clearCategories();
							selectedCategory.style.fontWeight = 'bold';
							selectedCategory.style.textDecoration = 'none';
							selectedCategory.style.color = '#333';
							x('rightDiv').innerHTML = xRequest.responseText;
							x('answerDiv').innerHTML = '';
							document.location.href = '#rightDiv';
							processAnswers();
						}
						selectedCategory.parentNode.style.listStyleImage = 'url(/images/bullet1.gif)';
						return true;
					}
				}

				xRequest.open('POST', '/ajax/', true);
			  	xRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				xRequest.send('action=faq&category='+this.id);
				return false;
			}
		}
	}

	function processAnswers() {
		answers = getElementsByClassName1(document, 'a', 'answer');
		for (i=0;i<=answers.length-1; i++){

			answers[i].style.fontWeight = 'normal';
			answers[i].onclick=function() {
				if (this.blur)this.blur();
				if (this == selectedAnswer) return false;
				selectedAnswer = this;
				answerId = parseInt(selectedAnswer.id.replace('a',''));
				if (cachedAnswers[answerId]!=null){
					clearAnswers();
					selectedAnswer.style.fontWeight = 'bold';
					selectedAnswer.style.color = '#333';
					selectedAnswer.parentNode.style.listStyleImage = 'url(/images/bullet1.gif)';
					selectedAnswer.style.textDecoration = 'none';
					x('answerDiv').innerHTML = cachedAnswers[answerId];
					return false;
				}
				selectedAnswer.parentNode.style.listStyleImage = 'url(/images/loading_1.gif)';
				selectedAnswer.style.color = '#ff6600';
				selectedAnswer.style.textDecoration = 'none';
				var xRequest = new xmlHttp;
				xRequest.onreadystatechange = function(){
					if (xRequest.readyState == 4) {
						answerId = parseInt(selectedAnswer.id.replace('a',''));
						cachedAnswers[answerId] = xRequest.responseText;
						clearAnswers();
						selectedAnswer.style.fontWeight = 'bold';
						selectedAnswer.style.color = '#333';
						selectedAnswer.parentNode.style.listStyleImage = 'url(/images/bullet1.gif)';
						selectedAnswer.style.textDecoration = 'none';
						if (xRequest.responseText) {
							x('answerDiv').innerHTML = xRequest.responseText;
							return true;
						}
					}
				}
				xRequest.open('POST', '/ajax/', true);
			  	xRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				xRequest.send('action=faq&answer='+this.id);
				return false;
			}
		}
	}
	window.onload = function() {
		init();
		selectedAnswer = null;
		selectedCategory = null;
		processCategories();
		processAnswers();
	}

	function clearCategories(){
		categories = getElementsByClassName1(document, 'a', 'category');
		for (i=0;i<=categories.length-1; i++){
			categories[i].style.fontWeight = 'normal';
			categories[i].style.textDecoration = 'underline';
			categories[i].style.color = '';
		}
	}
	function clearAnswers(){
		answers = getElementsByClassName1(document, 'a', 'answer');
		for (i=0;i<=answers.length-1; i++){
			answers[i].style.fontWeight = 'normal';
			answers[i].style.textDecoration = 'underline';
			answers[i].style.color = '';
			answers[i].parentNode.style.listStyleImage= 'url(/images/bullet1.gif)';
		}
	}

			