﻿
Type.registerNamespace('MindHarbor.AjaxControl.UI');

MindHarbor.AjaxControl.UI.TreeNodeDragItemBehavior = function(element) {
    MindHarbor.AjaxControl.UI.TreeNodeDragItemBehavior.initializeBase(this, [element]);
    this._postbackCode = null;
    this._argReplaceString = null;
}

MindHarbor.AjaxControl.UI.TreeNodeDragItemBehavior.prototype = {

    initialize : function() {
        MindHarbor.AjaxControl.UI.TreeNodeDragItemBehavior.callBaseMethod(this, 'initialize');
        var element=this.get_element();  
        var drag=this._findDragSource(); 
        if(drag){ 
            drag.setArgsReplace(this._argReplaceString);
            drag.setPostbackCode(this._postbackCode);
            drag.initDragElement(this.get_element());
            drag.initDocumentElement();        
        }
    },

    dispose : function() {
        MindHarbor.AjaxControl.UI.TreeNodeDragItemBehavior.callBaseMethod(this, 'dispose');
    },
    
    
    _findDragSource : function() {
    var element = this.get_element();
    while (element != null) {
        if (element.__dragDropList != null) {
            return element.__dragDropList;
        }
        element = element.parentNode;
    }
    return null;
    },
    
    
    get_postbackCode : function() {
        return this._postbackCode;
    },
    
    set_postbackCode : function(value) {             
        if (this._postbackCode != value) {
            this._postbackCode = value;        
            this.raisePropertyChanged('postbackCode');
        }
    },
    
    get_argReplaceString : function() {
        return this._argReplaceString;
    },
    
    set_argReplaceString : function(value) {             
        if (this._argReplaceString != value) {
           this._argReplaceString = value;        
           this.raisePropertyChanged('argReplaceString');
        }
    }
}

MindHarbor.AjaxControl.UI.TreeNodeDragItemBehavior.registerClass('MindHarbor.AjaxControl.UI.TreeNodeDragItemBehavior', AjaxControlToolkit.BehaviorBase);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();