var ZoneUpdater = function(spec) {

 var elementId = spec.elementId;
 var element = elementId ? document.getElementById(elementId) : null;
 var url = spec.url;
 var $zone = jQuery('#' + spec.zone);

 var updateZone = function() {
  var updatedUrl = url;
  var params = {};  
  if (element) {
	  if($j(element).is(":checkbox")) {
		  params.param = $j(element).is(":checked");
	  } else {
		  params.param = $j(element).val();
	  }
  }
  $zone.tapestryZone('update', {
   url : updatedUrl, 
   params : params
  });
 };
 
 if (spec.event) {
  var event = spec.event;
  jQuery(element).bind(event, updateZone);
 }

 return {
  updateZone : updateZone
 };
}
