anchor.diff:  					Event.element(event).select();
   				}
   			);
  +                        this.cri_name = cri_name;
  +
  +                        function update_name(event, criterion) {
  +                            $(criterion).title_div.update($F(criterion.cri_name));
  +                        }
  +                        $(cri_name).observe('change', update_name.bindAsEventListener(this, this));
  +			
  +			var delete_button = new Element('input', {'type': 'button', 'class': 'criterion_delete', 'value': 'Delete'});
  +			var do_delete = function(event, criterion) {
  +				if(confirm('Are you sure you want to delete this criterion?')) {
  +					c_list.remove(criterion);
  +					made_change();
  +				}
  +			}
  +			$(delete_button).observe('click', do_delete.bindAsEventListener(null, this));
  +			
   			$(root_div).insert(cri_name, {position: 'top'});
  +			$(root_div).insert(delete_button);
  +			$(root_div).insert(new Element('div', {'class':'clear'}), {position: 'bottom'});
   
   			//The Criterion weight element
   			
   			this.weight = weight;
  -			var cri_weight = new Element('input', {'class': 'criterion_input_weight', 'type': 'text'});
  -			$(cri_weight).addClassName('hover_edit').addClassName('capitalize');
  -			$(cri_weight).value = this.weight;
  -			Event.observe(cri_weight, 'keypress', function(event){
  -				if (event.keyCode == Event.KEY_RETURN) {
  -					done_edit(event);
  -					//TODO:  Validation here
  -				}
  -			});
  -			Event.observe(cri_weight, 'blur', function(event) {done_edit(event); /*TODO: Validation?*/});
  -			Event.observe(cri_weight, 'click', 
  -				function(event) {
  -					Event.element(event).removeClassName('hover_edit');
  -					Event.element(event).addClassName('editing');
  -					Event.element(event).select();
  -				}
  -			);
  +			this.weight_display = new Element('span', {'class' : 'criterion_weight_display'});
  +			$(this.weight_display).update(this.weight);
  +			
  +			var cri_weight_dec = new Element('input', {'type': 'button', 'value': '-'});
  +			var cri_weight_inc = new Element('input', {'type': 'button', 'value': '+'});
  +			
  +			var mod_weight = function(event, criterion, value) {
  +				if (criterion.weight + value > 0) {
  +					criterion.weight += value;
  +					$(criterion.weight_display).update(criterion.weight);
  +				}
  +			}
  +
  +			$(cri_weight_dec).observe('click', mod_weight.bindAsEventListener(null, this, -1));
  +			$(cri_weight_inc).observe('click', mod_weight.bindAsEventListener(null, this, 1));
  +			
   			var cri_weight_container = new Element('div', {'class':'criterion_input_weight_container'});
   			$(cri_weight_container).update("Weight:");
  -			$(cri_weight_container).insert(cri_weight);
  +			$(cri_weight_container).insert(cri_weight_dec);
  +			$(cri_weight_container).insert(this.weight_display);
  +			$(cri_weight_container).insert(cri_weight_inc);
   			$(root_div).insert(cri_weight_container, {position: 'bottom'});
   			
   			//The Criterion description element
   			this.description = description;
   			var cri_description = new Element('textarea', {'class':'criterion_textarea_description'});
   			$(cri_description).update(this.description);
  +			
  +			this.set_description = new Element('input', {'type':'button', 'value':'Set Description'});
  +			$(this.set_description).hide();
  +			
  +			var show_set_description = function(event, object, show) {
  +				if(show) {
  +					$(object).show();
  +				}
  +				else {
  +					$(object).hide();
  +				}
  +			}
  +			
  +			$(cri_description).observe('click', show_set_description.bindAsEventListener(null, this.set_description, true));
  +			$(cri_description).observe('blur', show_set_description.bindAsEventListener(null, this.set_description, false));
  +			$(this.set_description).observe('click', function(event) {
  +				Event.element(event).hide(); 
  +				$('pull_focus').select();
  +				$('pull_focus').focus();	
  +				made_change();
  +			});
  +			
   			$(root_div).insert(cri_description, {position: 'bottom'});
  -		
  -
  -
  -		},
  -		slider: null,
  +			$(root_div).insert(this.set_description, {position: 'bottom'});
  +
  +                        this.root_div_holder = new Element('div', {'class':'criterion_holder'});
  +                        this.title_div = new Element('div', {'class':'criterion_title_div'});
  +                        $(this.title_div).update(this.name);
  +                        $(this.title_div).hide();
  +                        
  +                        function show_me(event, criterion) {
  +                            criterion.show();
  +                            $(selected_criterion).hide();
  +                            selected_criterion = criterion;
  +                        }
  +
  +                        $(this.title_div).observe('click', show_me.bindAsEventListener(this, this));
  +                        
  +                        this.root_div_holder.insert($(this.title_div), {'position':'top'});
  +                        this.root_div_holder.insert($(this.root_div), {'position':'bottom'});
  +
  +			//Create Criterion Levels
  +			
  +			this.levels = levels;
  +
  +		},
  +		hide: function() {
  +                 new Effect.BlindUp(this.root_div);
  +                 new Effect.Appear(this.title_div);
  +                 $(this.root_div_holder).removeClassName('criterion_holder_selected');
  +		},
  +		show: function() {
  +                 new Effect.BlindDown(this.root_div);
  +		 new Effect.Fade(this.title_div);
  +                 $(this.root_div_holder).addClassName('criterion_holder_selected');
  +		//TODO: Remove 
  +		$('rubric_levels').show();
  +
  +		},
   		root_div: null,
  -		name_input: null,
  +                root_div_holder: null,
  +                title_div: null,
  +		cri_name: null,
   		description_input: null,
  -		weight_input: null,
  +		weight_display: null,
   		name: null,
   		description: null,
  -		weight: null
  +		weight: null,
  +		levels: $A()
   	})
   
   	var CriterionList = Class.create({
  
positive.code: 		text-transform: capitalize;
  	}
  </style>
  
  <script type="text/javascript" language="JavaScript">
  	
  	var Criterion = Class.create({
  		initialize: function(name, description, weight) {
  			function done_edit(event) { 
  				$('pull_focus').select();
  				$('pull_focus').focus();
  
negative.code: 		},
  		add: function(criterion) {
  			this.root_array.push(criterion);
  			$(this.root_div).insert(criterion.root_div_holder, {position: 'bottom'});
  			//TODO: Remove 
  			$('rubric_levels').show();
  		},
  		remove: function(criterion) {
  			this.root_array = this.root_array.without(criterion);
  			$(criterion.root_div_holder).remove();
  			//TODO: Remove 
  			$('rubric_levels').hide();
  		},
  		root_div: null,
  		root_array: $A()
  	});
  	
  	var c_list = null;
  	document.observe("dom:loaded", function() {
  		c_list = new CriterionList($('rubric_criteria_pane_list'));
  	});
  