anchor.diff:        // validate file extension(s). If any fail, they all fail.
   
         // clear any error first
  -      element.closest('.control-group').removeClass('error');
  -      element.next('.alert-error').remove();
  +      element.closest('.form-group').removeClass('has-error');
  +      element.next('.alert-danger').remove();
         var numValid = 0;
         angular.forEach(newFiles, function(file) {
           if (!$scope.looksLikeValidFileName(file.name)) {
  -          element.closest('.control-group').addClass('error');
  -          element.after('<div class="alert alert-error">Not a valid audio file: '+file.name+'</div>');
  +          element.closest('.form-group').addClass('has-error');
  +          element.after('<div class="alert alert-danger">Not a valid audio file: '+file.name+'</div>');
           }
           else {
             numValid++;
  
positive.code:         ).success(function(data) {
            contentType = data["content-type"];
            if (!contentType.match(/audio/)) {
              inputField.closest('.form-group').addClass('error');
              inputField.after('<span class="help-block">Not a valid audio link</span>');
              return;
            } else {
  
negative.code:       if (!remoteFileUrl.match(urlPattern)) {
          // add warning to input field
          //console.log("bad url:", remoteFileUrl);
          inputField.closest('.form-group').addClass('has-error');
          inputField.after('<span class="help-block">Fix the URL</span>');
          return;
        }
  