window.onload = function() {
  if(!document.getElementById)
    return false;

  toggleTypes();

  document.getElementById('submitButton').onclick = function() {
    if(checkFields() == 0) {
	  alert('Please fill out all required fields.');
	  return false;
	} else {
	  return true;
	}
  }
}	

function checkFields() {
  var membershipField = document.getElementById('membershipField');
  var radio           = getElementsByClassName('requiredCheckbox');
  var NARadio         = document.getElementById('NARadio');
  var requiredField   = getElementsByClassName('requiredField');
  var pass            = 1;
  var checked         = 1;
    
  for(var i=0; i<requiredField.length; i++) {
    if(requiredField[i].value == null || requiredField[i].value == '' || requiredField[i].value == ' ') {
	  pass = 0;
	}
  }
  for(var j=0; j<radio.length; j++) {
    if(radio[j].checked == true) {
	  checked = 1;
	  break;
	} else {
	  checked = 0;
	}
  }
  if(checked == 0 && NARadio.checked == true) {
    pass = false;
  }
  return pass;
}

function getElementsByClassName(searchClass,node,tag) {
  var classElements = new Array();
  if ( node == null )
    node = document;
  if ( tag == null )
    tag = '*';
  var els = node.getElementsByTagName(tag);
  var elsLen = els.length;
  var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
  for (i = 0, j = 0; i < elsLen; i++) {
    if ( pattern.test(els[i].className) ) {
      classElements[j] = els[i];
      j++;
    }
  }
  return classElements;
}

function toggleTypes() {
  var affiliateBox = document.getElementById('affiliateBox');
  if(!affiliateBox)
    return false;

  var NA             = document.getElementById('NA');
  var NARadio        = document.getElementById('NARadio');
  var checkTypeBelow = document.getElementById('checkTypeBelow');
	
  NA.style.display             = 'none';
  affiliateBox.style.display   = 'none';
  checkTypeBelow.style.display = 'none';
  
  var affiliateMember = document.getElementById('affiliateMember');
  var input           = document.getElementsByTagName('input');
  for(var i=0; i<input.length; i++) {
    if(input[i].type == 'radio') {
      input[i].onclick = function() {
        if(affiliateMember.checked) {
		  affiliateBox.style.display   = 'block';
		  checkTypeBelow.style.display = 'inline';
		}
	    else { 
	      affiliateBox.style.display   = 'none';
		  checkTypeBelow.style.display = 'none';
		  NARadio.checked = true;
		}
      }
	}
  }
}