anchor.diff:          <c:forEach varStatus="status" items="${command.studySites[selected_site].studyInvestigators}">
               <tr id="mytable-${status.index}">
                   <td class="alt">
  -                    <form:hidden id="investigator${status.index}"
  +                    <form:hidden id="investigator${status.index}-hidden"
                                    path="studySites[${selected_site}].studyInvestigators[${status.index}].healthcareSiteInvestigator"/>
                       <input class="validate-notEmpty" type="text" id="investigator${status.index}-input" size="30"
                              value="${command.studySites[selected_site].studyInvestigators[status.index].healthcareSiteInvestigator.investigator.fullName}"/>
  
positive.code:     <p id="instructions">
          Choose a study site first
      </p>
  
      <c:choose>
          <c:when test="${fn:length(command.studySites) > 0}">
              <c:set var="selected_site" value="0"/>
              <c:if test="${not empty selectedSite}">
                  <c:set var="selected_site" value="${selectedSite}"/>
              </c:if>
          </c:when>
          <c:otherwise>
              <c:set var="selected_site" value="-1"/>
          </c:otherwise>
      </c:choose>
  
      <script type="text/javascript">
          var instanceRowInserterProps = {
  
              add_row_division_id: "mytable", 	        /* this id belongs to element where the row would be appended to */
              skeleton_row_division_id: "dummy-row",
              initialIndex: ${fn:length(command.studySites[selected_site].studyInvestigators)},                            /* this is the initial count of the rows when the page is loaded  */
              path: "studySites[${selected_site}].studyInvestigators"                            /* this is the path of the collection that holds the rows  */
          };
          rowInserters.push(instanceRowInserterProps);
  
  
          function addRow(){
              RowManager.addRow(instanceRowInserterProps);
              var indexValue = instanceRowInserterProps.localIndex - 1;
              fireListeners(indexValue);
          }
      </script>
  
      <table border="0" id="table1" cellspacing="0">
          <tr>
  
negative.code: 
  <html>
  <head>
  <tags:includeScriptaculous/>
  <tags:dwrJavascriptLink objects="StudyAjaxFacade"/>
  
  <title>${tab.longTitle}</title>
  <c:choose>
      <c:when test="${fn:length(command.studySites) > 0}">
          <c:set var="selected_site" value="0"/>
          <c:if test="${not empty selectedSite}">
              <c:set var="selected_site" value="${selectedSite}"/>
          </c:if>
      </c:when>
      <c:otherwise>
          <c:set var="selected_site" value="-1"/>
      </c:otherwise>
  </c:choose>
  <script language="JavaScript" type="text/JavaScript">
  function chooseSites() {
      document.getElementById('command')._target.name = '_noname';
      document.form._action.value = "siteChange";
      document.form._selectedSite.value = document.getElementById('site').value;
      document.form.submit();
  }
  
  function chooseSitesFromSummary(selected) {
      document.getElementById('command')._target.name = '_noname';
      document.form._action.value = "siteChange";
      document.form._selectedSite.value = selected;
      document.form.submit();
  }
  var investigatorsAutocompleterProps = {
         basename: "investigator",
         populator: function(autocompleter, text) {
             StudyAjaxFacade.matchSiteInvestigators(text, document.getElementById('site').value, function(values) {
                 autocompleter.setChoices(values)
             })
         },
         valueSelector: function(obj) {
             return obj.investigator.fullName
         },
         afterUpdateElement: function(inputElement, selectedElement, selectedChoice) {
      								hiddenField=inputElement.id.split("-")[0]+"-hidden";
  	    							$(hiddenField).value=selectedChoice.id;
  								}
  }
  var instanceRowInserterProps = {
         add_row_division_id: "mytable", 	        /* this id belongs to element where the row would be appended to */
         skeleton_row_division_id: "dummy-row",
         initialIndex: ${fn:length(command.studySites[selected_site].studyInvestigators)},                            /* this is the initial count of the rows when the page is loaded  */
         path: "studySites[${selected_site}].studyInvestigators",                            /* this is the path of the collection that holds the rows  */
      postProcessRowInsertion: function(object){
          clonedRowInserter=Object.clone(investigatorsAutocompleterProps);
  		clonedRowInserter.basename=clonedRowInserter.basename+object.localIndex;
  		registerAutoCompleter(clonedRowInserter);
      },
      onLoadRowInitialize: function(object, currentRowIndex){
  		clonedRowInserter=Object.clone(investigatorsAutocompleterProps);
  		clonedRowInserter.basename=clonedRowInserter.basename+currentRowIndex;
  		registerAutoCompleter(clonedRowInserter);
      },
  };
  rowInserters.push(instanceRowInserterProps);        
  </script>
  </head>
  
  <body>
  