/**
 * @class Ext.Element
 */

Ext.Element.addMethods({
   
/**
     * Initializes a {@link Ext.dd.DD} drag drop object for this element.
     * @param {String} group The group the DD object is member of
     * @param {Object} config The DD config object
     * @param {Object} overrides An object containing methods to override/implement on the DD object
     * @return {Ext.dd.DD} The DD object
     */

    initDD
: function(group, config, overrides){
       
var dd = new Ext.dd.DD(Ext.id(this.dom), group, config);
       
return Ext.apply(dd, overrides);
   
},

   
/**
     * Initializes a {@link Ext.dd.DDProxy} object for this element.
     * @param {String} group The group the DDProxy object is member of
     * @param {Object} config The DDProxy config object
     * @param {Object} overrides An object containing methods to override/implement on the DDProxy object
     * @return {Ext.dd.DDProxy} The DDProxy object
     */

    initDDProxy
: function(group, config, overrides){
       
var dd = new Ext.dd.DDProxy(Ext.id(this.dom), group, config);
       
return Ext.apply(dd, overrides);
   
},

   
/**
     * Initializes a {@link Ext.dd.DDTarget} object for this element.
     * @param {String} group The group the DDTarget object is member of
     * @param {Object} config The DDTarget config object
     * @param {Object} overrides An object containing methods to override/implement on the DDTarget object
     * @return {Ext.dd.DDTarget} The DDTarget object
     */

    initDDTarget
: function(group, config, overrides){
       
var dd = new Ext.dd.DDTarget(Ext.id(this.dom), group, config);
       
return Ext.apply(dd, overrides);
   
}
});