Event.observe(window, 'load', init, false);

var chosen_reason = '';

var idhash = {
	'reason_contact'	: 'extra_contact',
	'reason_apply'		: 'extra_apply',
	'reason_mailing'	: 'extra_mailing',
	'reason_other'		: 'extra_other'
};

function init(){
	
	var reasons = document.getElementsByClassName('reason');
	for (var i = 0; i < reasons.length; i++) {
      var elem = reasons[i];
      if (elem.checked) {
			chosen_reason = elem.id;
		}
   };

	var open_extra = idhash[chosen_reason];
	var elements = document.getElementsByClassName('formExtra');
	for (var i = 0; i < elements.length; i++) {
      var elem = elements[i];
		if (open_extra != elem.id) {
	      elem.style.display = 'none';
		}
   };
	
	var problems = document.getElementsByClassName('problem');
	for (var i = 0; i < problems.length; i++) {
      var elem = problems[i];
      elem.onfocus = function() { this.className = '' };
   };

	$('reason_more').onclick = function() { reveal_extra(this); };
	$('reason_contact').onclick = function() { reveal_extra(this); };
	$('reason_apply').onclick = function() { reveal_extra(this); };
	$('reason_mailing').onclick = function() { reveal_extra(this); };
	$('reason_other').onclick = function() { reveal_extra(this); };
	
}

function reveal_extra(reason) {
	if (reason.checked && chosen_reason != reason.id) {
		chosen_reason = reason.id;
		close_extras();
		var extraid = idhash[chosen_reason];
		if (extraid) {
			new Effect.BlindDown(extraid, {duration: 0.7, queue: 'end'});	
		}
	}
}

function close_extras() {
	new Effect.BlindUp('extra_contact', {duration: 0.7, queue: 'parallel'});
	new Effect.BlindUp('extra_apply', {duration: 0.7, queue: 'parallel'});
	new Effect.BlindUp('extra_mailing', {duration: 0.7, queue: 'parallel'});
	new Effect.BlindUp('extra_other', {duration: 0.7, queue: 'parallel'});
}