  create: function(element) {    element = $(element);    var options = Object.extend({       element:     element,      tag:         'li',       // assumes li children, override with tag: 'tagname'      dropOnEmpty: false,      tree:        false,      // fixme: unimplemented      overlap:     'vertical', // one of 'vertical', 'horizontal'      constraint:  'vertical', // one of 'vertical', 'horizontal', false      containment: element,    // also takes array of elements (or id's); or false      handle:      false,      // or a CSS class      only:        false,      hoverclass:  null,      ghosting:    false,      scroll:      false,      format:      /^[^_]*_(.*)$/,      onChange:    Prototype.emptyFunction,      onUpdate:    Prototype.emptyFunction    }, arguments[1] || {});    // clear any old sortable with same element    this.destroy(element);    // build options for the draggables    var options_for_draggable = {      revert:      true,      scroll:      options.scroll,      ghosting:    options.ghosting,      constraint:  options.constraint,      handle:      options.handle };    if(options.starteffect)      options_for_draggable.starteffect = options.starteffect;    if(options.reverteffect)      options_for_draggable.reverteffect = options.reverteffect;    else      if(options.ghosting) options_for_draggable.reverteffect = function(element) {        element.style.top  = 0;        element.style.left = 0;      };    if(options.endeffect)      options_for_draggable.endeffect = options.endeffect;    if(options.zindex)      options_for_draggable.zindex = options.zindex;    // build options for the droppables      var options_for_droppable = {      overlap:     options.overlap,      containment: options.containment,      hoverclass:  options.hoverclass,      onHover:     Sortable.onHover,      greedy:      !options.dropOnEmpty    }    // fix for gecko engine    Element.cleanWhitespace(element);     options.draggables = [];    options.droppables = [];    // make it so    // drop on empty handling    if(options.dropOnEmpty) {      Droppables.add(element,        {containment: options.containment, onHover: Sortable.onEmptyHover, greedy: false});      options.droppables.push(element);    }    (this.findElements(element, options) || []).each( function(e) {      // handles are per-draggable      var handle = options.handle ?         Element.childrenWithClassName(e, options.handle)[0] : e;          options.draggables.push(        new Draggable(e, Object.extend(options_for_draggable, { handle: handle })));      Droppables.add(e, options_for_droppable);      options.droppables.push(e);          });    // keep reference    this.sortables.push(options);    // for onupdate    Draggables.addObserver(new SortableObserver(element, options.onUpdate));  },
3727	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/3727/f26de598115946c975d7d8c1f9a3c34da03381fa/dragdrop.js/clean/gallery/js/cropper/dragdrop.js