/**
 * updates the selected services form
 * @param string type the type of services to update
 * @return false
 */
function formUpdateServices(type) {
  var services = '';
  var missing = 0;
  var atleastone = false;
  $('#fb-change-services-' + type + ' input').each(function(i, o) {
    if ($(o).is(':checked')) {
      services += (services ? ',' : '') + $(o).val();
      atleastone = true;
    }
    else {
      missing++;
    }
  });
  $('#include_' + type).attr('checked', atleastone ? true : false);
  var count = $('#fb-change-services-' + type + ' input').length - missing;
  $('#fb-change-services-' + type + ' .btn-close').click();
  $('input[name=services_' + type + ']').val(missing && services ? services : '');
  formCheckCdnOrDns();
  return false;
}

/**
 * updates the selected region form
 * @param string region the region to update
 * @return false
 */
function formUpdateRegion(region) {
  var regions = '';
  var missing = 0;
  var atleastone = false;
  $('#fb-change-regions-' + region + ' input').each(function(i, o) {
    if ($(o).is(':checked')) {
      regions += (regions ? ',' : '') + $(o).val();
      atleastone = true;
    }
    else {
      missing++;
    }
  });
  $('#region_' + region).attr('checked', atleastone ? true : false);
  var count = $('#fb-change-regions-' + region + ' input').length - missing;
  $('#fb-change-regions-' + region + ' .btn-close').click();
  $('input[name=regions_' + region + ']').val(missing && regions ? regions : '');
  return false;
}

/**
 * modify the test options and regions display based on what services are selected
 * (DNS and CDN services have special options)
 * @return void
 */
function formCheckCdnOrDns() {
  if ($('#include_Server').is(':checked') || $('#include_Storage').is(':checked') || $('#include_Platform').is(':checked')) {
    $('#upload-section').show();
    $('#regions-section').show();
  }
  else {
    $('#upload-section').hide();
    $('#regions-section').hide();
  }
  
  if (!$('#include_DNS').is(':checked') || ($('#include_Server').is(':checked') || $('#include_Storage').is(':checked') || $('#include_Platform').is(':checked') || $('#include_CDN').is(':checked'))) {
    $('#networkTests').show();
    if (!$('#include_DNS').is(':checked')) $('#dnsTests').hide();
  }
  else {
    $('#networkTests').hide();
  }
  
  if ($('#include_DNS').is(':checked')) {
    $('#dnsTests').show();
  }
  else {
    $('#dnsTests').hide();
  } 
}

