function payment_type_change () {
  var getter = determine_radio_value(document.forms['member_join'].elements['PaymentMethod']);
  var setter1 = document.getElementById('showhide_decs');
  var setter2 = document.getElementById('showhide_decs_cats');
  var setter3 = document.getElementById('showhide_non_decs_cats');
  var setter4 = document.getElementById('showhide_not_credit');
  
  if (getter == null) {
    return;
  }
  
  if (getter == 'decs') {
    // decs
    show_element (setter1);
    show_element (setter2);
    hide_element (setter3);
    hide_element (setter4);
    member_category2_change ();
    
  } else if (getter == 'credit') {
    // credit
    hide_element (setter1);
    hide_element (setter2);
    show_element (setter3);
    hide_element (setter4);
    member_category1_change ();
    
  } else {
    // not credit or decs
    hide_element (setter1);
    hide_element (setter2);
    show_element (setter3);
    show_element (setter4);
    member_category1_change ();
  }
  
  var memb_header = document.getElementById('memb_header');
  if (memb_header.style.display == 'none') {
    memb_header.style.display = '';
  }
}


function member_category1_change () {
  var setter1 = document.getElementById('showhide_not_student');
  var setter2 = document.getElementById('showhide_is_student');
  
  // are they a student?
  var is_student = false;
  var getter1 = document.getElementById('showhide_non_decs_cats');
  var getter2 = document.forms['member_join'].elements['MembershipCategory1'];
  if (is_shown (getter1)) {
    if (getter2.value == 'M16') {
      is_student = true;
    }
  }
  
  // if they are, show the student stuff
  if (is_student) {
    hide_element (setter1);
    show_element (setter2);
    
  } else {
    show_element (setter1);
    hide_element (setter2);
  }
  
  // do the fees
  setter1 = document.getElementById('fees_journal');
  setter2 = document.getElementById('fees_no_journal');
  
  if (fees[getter2.value + '_j'] == null) {
    setter1.firstChild.data = '-';
    setter2.firstChild.data = '-';
    
  } else {
    setter1.firstChild.data = '$' + fees[getter2.value + '_j'];
    setter2.firstChild.data = '$' + fees[getter2.value + '_nj'];
  }
}


function member_category2_change () {
  var getter = document.forms['member_join'].elements['MembershipCategory2'];
  var setter1 = document.getElementById('fees_decs_journal');
  var setter2 = document.getElementById('fees_decs_no_journal');
  
  // do the fees  
  if (decs_fees[getter.value + '_j'] == null) {
    setter1.firstChild.data = '-';
    setter2.firstChild.data = '-';
    
  } else {
    setter1.firstChild.data = '$' + decs_fees[getter.value + '_j'] + ' per fortnight';
    setter2.firstChild.data = '$' + decs_fees[getter.value + '_nj'] + ' per fortnight';
  }
}


function determine_radio_value(radio_el) {
  for (var i = 0; i < radio_el.length; i++) {
    if (radio_el[i].checked) {
      return radio_el[i].value;
    }
  }
  return false;
}


function show_element(el) {
  el.style.display = '';  
}

function hide_element (el) {
  el.style.display = 'none';
}

function is_shown (el) {
  return (el.style.display == '');
}
