anchor.diff:              executeUpdateDetails(condCheckbox)
           })
       })
  -
  -    rowElt.select('input[type=text]').each(function(input) {
  +    */
  +
  +    rowElt.select('input[name*=conditionalDetails]').each(function(input) {
  +        input.observe('focus', focusConditionInput)
  +        input.observe('blur', changedConditionInput)
  +    })
  +
  +    rowElt.select('input[name*=details]').each(function(input) {
           input.observe('change', function(evt) {
               executeUpdateDetails(input)
           })
  
positive.code:     });
      cells.push(Builder.node('td', {}, [detailsInput]))
  
      // corresponding to the conditional behavior
      cells.push(Builder.node('td', {className:'emptyCell'}));
  
      // condition checkbox
      var name = 'grid[' + rowCount + '].conditionalCheckbox'
      var namePlusOne = name + 1
      var input = Builder.node('input', {
          type: 'checkbox',
          id: namePlusOne,
          name: name,
          value: 'true'
      });
      cells.push(Builder.node('td', {}, [input]))
  
      // conditionalDetails
      var conditionDetailsName = 'grid[' + rowCount + '].conditionalDetails'
      var conditionDetailsInput = Builder.node('input', {
          id: conditionDetailsName,
          name: conditionDetailsName,
          type: 'text',
          disabled: 'true'
      });
      cells.push(Builder.node('td', {}, [conditionDetailsInput]))
  
  
negative.code:     registerDraggablesAndDroppables()
      showEmptyMessage()
  
      SC.slideAndShow(rowId)
  }
  
  function showEmptyMessage() {
      if (currentActivityCount() > 0) {
          $('no-activities-message').hide();
          $$('.activity-column').each(Element.show)
      } else {
          $('no-activities-message').show();
          $$('.activity-column').each(Element.hide)
      }
  }
  
  /* ***** CONDITION INPUT HANDLING */
  
  function focusConditionInput(evt) {
      var input = evt.element('input')
      if (input.hasClassName('no-condition')) {
          input.value = ""
          input.removeClassName('no-condition')
      }
  }
  
  function changedConditionInput(evt) {
      var input = evt.element("input")
      executeUpdateDetails(input)
      if (input.value.blank()) {
          input.addClassName('no-condition')
          input.value = 'Click to add condition'
      } else {
          input.removeClassName('no-condition')
      }
  }
  
  /* ***** ASYNCHRONOUS UPDATERS */
  
  // extracts row from an ID like grid[row].property
  function extractRow(gridElementId) {
  