count = 0;
slides = new Array();
index = new Array();

function showAll() {
	$('filter').setProperty('value', '');
	filter();
}
function collapseAll() {
	for (var i=1; i<=count; i++) {
		slides['q' + i].slideOut();
	}
}
function expandAll() {
	for (var i=1; i<=count; i++) {
		slides['q' + i].slideIn();
	}
}

function filter() {
	var text = $('filter').value;
	if (text == '') {
		$('show-all').setStyle('display', 'none');
	} else {
		$('show-all').setStyle('display', 'inline');		
	}
	for (var i=1; i<=count; i++) {
		var q = $('q' + i);
		var a = $('a' + i);
		var s = a.getParent();
		if (index[i].test(text, "i")) {
			q.setStyle('display', 'block');
			a.setStyle('display', 'block');
			s.setStyle('display', 'block');
		} else {
			q.setStyle('display', 'none');
			a.setStyle('display', 'none');
			s.setStyle('display', 'none');
		}
	}
}

window.addEvent('domready', function() {
	count = $$('div.qa').length;
	
	$$('a.question').each(function(q, i) {
		q.setProperty('id', 'q' + (i + 1));
	});
	$$('div.answer').each(function(a, i) {
		a.setProperty('id', 'a' + (i + 1));
	});
	
	for (var i=1; i<=count; i++) {
		var question = $('q' + i);
		var answer = $('a' + i);
		index[i] = question.getText() + ' ' + answer.getText();
		var slide = new Fx.Slide(answer, {duration:250});
		slides['q' + i] = slide;
		//slides['q' + i].slideOut();
		$('q' + i).addEvent('click', function(e){
			e = new Event(e);
			var slide = slides[this.id];
			slide.toggle();
			e.stop();
		});
	}
	$('filter').addEvent('keyup', filter);
		
});
