// JavaScript Document
var sliders = Array();
Event.observe(window, "load", function(){
	$$(".question").each(function(i){
		i.onclick = showAnswer;
		var id = i.up().id;
		sliders[id] = Array();
		sliders[id].id = id;
		sliders[id].content = i.next(".answer").down(".answer_content");
		 sliders[id].slider = new Control.Slider('handle_'+id, 'slide_'+id, {
			axis:'vertical',
			onSlide: function(v) { scrollVertical(v, id);  },
			onChange: function(v) { scrollVertical(v, id); }
		});
		$('slide_'+id).hide();
	});
});

function scrollVertical(value, id) {
	var element = sliders[id].content;
	element.scrollTop = Math.round(value/sliders[id].slider.maximum*(element.scrollHeight-element.offsetHeight));
}


function showAnswer(){
	var faq = this;
	this.onclick = hideAnswer;
	// disable vertical scrolling if text doesn't overflow the div
	var id = faq.up(".faq").id;
	var answer = sliders[id].content;
	faq.next(".answer").slideDown({duration:.5, queue:"end",
		afterFinish:function(){
			if (answer.scrollHeight <= answer.offsetHeight) {
				sliders[id].slider.setDisabled();
			} else {
				if($('slide_'+id).style.display == "none"){
					$('slide_'+id).grow({ direction:"top-left",duration:.5, queue:"end"});
					sliders[id].slider.trackLength = sliders[id].content.offsetHeight - 14;
				}
			}							  
		}
	});
}

function hideAnswer(){
	var faq = this;
	this.next(".answer").slideUp({duration:.5, queue:"end"});
	this.onclick = showAnswer;
}
