rem: if(!element.hasChildNodes()) return null; var elements = []; var only = options.only ? [options.only].flatten() : null; $A(element.childNodes).each( function(e) { if(e.tagName && e.tagName.toUpperCase()==options.tag.toUpperCase() && (!only || (Element.classNames(e).detect(function(v) { return only.include(v) })))) elements.push(e); if(options.tree) { var grandchildren = this.findElements(e, options); if(grandchildren) elements.push(grandchildren); } });  return (elements.length>0 ? elements.flatten() : null); 
add: return Element.findChildren( element, options.only, options.tree ? true : false, options.tag); 
context:   findElements: function(element, options) {    if(!element.hasChildNodes()) return null;    var elements = [];    var only = options.only ? [options.only].flatten() : null;    $A(element.childNodes).each( function(e) {      if(e.tagName && e.tagName.toUpperCase()==options.tag.toUpperCase() &&        (!only || (Element.classNames(e).detect(function(v) { return only.include(v) }))))          elements.push(e);      if(options.tree) {        var grandchildren = this.findElements(e, options);        if(grandchildren) elements.push(grandchildren);      }    });    return (elements.length>0 ? elements.flatten() : null);  },
meta: 4319	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/4319/bb2276098a5a21c35e5ee72b3097bd9d7caa919f/dragdrop.js/buggy/actionpack/lib/action_view/helpers/javascripts/dragdrop.js