anchor.diff:  }
   
   function makeCellDraggableAndDroppable(input) {
  -        document.getElementsByClassName('marker').each(
  -			function(item) {
  -				new Draggable(item,{revert: true});
  -				item.currentDurationIndex = item.parentNode.durationIndex;
  -				item.activity = item.parentNode.parentNode.getElementsByClassName('activity')[0].innerHTML.strip();
  -			}
  +    document.getElementsByClassName('marker').each(
  +        function(item) {
  +            new Draggable(item,{revert: true});
  +            item.currentDurationIndex = item.parentNode.durationIndex;
  +            item.activity = item.parentNode.parentNode.getElementsByClassName('activity')[0].innerHTML.strip();
  +        }
           );
   
  -		Droppables.add( $('deleteDrop'), {accept:'marker',hoverclass: 'hoverActive',onDrop:deleteEvent})
  -
  -
  +    Droppables.add( $('deleteDrop'), {accept:'marker',hoverclass: 'hoverActive',onDrop:deleteEvent})
   }
   
   function registerDraggablesAndDroppables() {
  
positive.code: }) ;
  
  Event.observe(window, "load", createAutocompleter)
  
  
  Event.observe(window, "load", registerHandlers)
  Event.observe(window, "load", showEmptyMessage)
  Event.observe(window, "load", registerDraggablesAndDroppables)
  
  	var PERIOD_DURATION = 7;
  
  function moveEvent(draggable,dropZone) {
      var wholeElement = dropZone.getElementsBySelector("span")[0]
      var elementId = dropZone.getElementsBySelector("span")[0].id
  
      var parentElement = draggable.parentNode.getElementsBySelector("span")[0]
      if (parentElement == null) {
          //means we are drugging a new event
          if (wholeElement.firstChild == null) {
              ajaxform(null, elementId, true, null, null)
              setUpMarker(draggable, dropZone)
          }
      } else {
          //means we are moving event from one cell to another
          var parentElementId = parentElement.id
          var arrayOfIndisesForParent = parseInput(parentElementId)
          var arrayOfIndisesForChild = parseInput(elementId)
          if (arrayOfIndisesForParent[0]== arrayOfIndisesForChild[0]) {
              //need to set up ajax call for move
              if (wholeElement.firstChild == null) {
                  moveAjaxForm(arrayOfIndisesForParent, arrayOfIndisesForChild, false)
                  setUpMovingMarker(draggable, dropZone)
              }
          }
      }
  }
  
  
  function setUpMarker(draggable, dropZone) {
      var prevDurationIndex = draggable.currentDurationIndex;
      var newDurationIndex = dropZone.durationIndex;
      var activity = (typeof(draggable.activity) != 'undefined')? draggable.activity : dropZone.parentNode.getElementsByClassName('activity')[0].innerHTML.strip();
      if(prevDurationIndex != newDurationIndex && activity == dropZone.parentNode.getElementsByClassName('activity')[0].innerHTML.strip()) {
          var marker = createMarker(newDurationIndex, activity);
          dropZone.appendChild(marker);
  
          draggable.parentNode.removeChild(draggable);
          if(draggable.className=='newMarker') {
              var div = Builder.node("div", { className: 'newMarker' })
              div.innerHTML = 'X';
              new Draggable(div, { revert: true } );
              $('newMarkerArea').appendChild(div);
          }
      }
  }    
  
  
  function setUpMovingMarker(draggable, dropZone) {
      draggable.innerHTML='';
      var element = dropZone.getElementsBySelector("span")[0];
      element.innerHTML='X';
  }
  
  function deleteEvent(draggable,dropZone) {
      var element = draggable.parentNode.getElementsBySelector("span")[0].id
      ajaxform(null, element, false, null, null)
  
      var prevDurationIndex = draggable.currentDurationIndex;
      var prevActivity = draggable.activity;
      draggable.innerHTML = '';
  }
  
  
  function createMarker(currentDurationIndex, activityName) {
      var marker = document.createElement('span');
      marker.innerHTML = 'X';
      marker.className='marker';
      marker.currentDurationIndex = currentDurationIndex;
      marker.activity = activityName;
      new Draggable(marker,{revert: true});
      return marker;
  }
  
  
  </script>
  
  
  
negative.code:         width:400px;
          background-color:white;
          border:1px solid #ccc;
          margin:0;
          padding:0;
          font-size:0.8em;
          text-align:left;
          max-height:200px;
  