﻿Type.registerNamespace('MyExtenders');

MyExtenders.LinkScriptless = function(element) { 
    MyExtenders.LinkScriptless.initializeBase(this, [element]);

    this._script = null;
    this._disableClick = false;
}

///Create prototype
MyExtenders.LinkScriptless.prototype = {

    initialize : function() {
        MyExtenders.LinkScriptless.callBaseMethod(this, 'initialize');

        var a = this.get_element();
        
        if (this._script)
        {
            var _script = this._script;
            if (this._disableClick)
            {
                _script = "javascript:$find('" + this._id + "').Click();";
            }
            a.href = _script;
            a.target = "_self";
        }
    },

    dispose : function() {
        //$clearHandlers(this.get_element());

        MyExtenders.LinkScriptless.callBaseMethod(this, 'dispose');
    },
    
    get_Script : function() {
        return this._script;
    },

    set_Script : function(value) {
        if (this._script !== value) {
            this._script = value;
            this.raisePropertyChanged('Script');
        }
    },
    
    get_DisableOnClick : function()
    {
        return this._disableClick;
    },
    
    set_DisableOnClick : function(value)
    {
        if (this._disableClick !== value) {
            this._disableClick = value;
            this.raisePropertyChanged('DisableOnClick');
        }
    },
    
    Click : function()
    {
        var a = this.get_element();
        a.href = "javascript:void(0)";
        eval(this._script);
    }
}

MyExtenders.LinkScriptless.registerClass('MyExtenders.LinkScriptless', Sys.UI.Behavior);

if (typeof(Sys) != 'undefined') Sys.Application.notifyScriptLoaded();

