﻿
// *** IQSoft Gmbh: Panel-Extender ***

Type.registerNamespace('ASPiq_AjaxExtender');

ASPiq_AjaxExtender.PanelExtenderBehavior = function(element) {

ASPiq_AjaxExtender.PanelExtenderBehavior.initializeBase(this, [element]);

    this._strCssStandard = null;
    this._strCssHover = null;
    this._strCssActive = null;
    this._booActive = null;
}

ASPiq_AjaxExtender.PanelExtenderBehavior.prototype = {

    initialize: function() {

        ASPiq_AjaxExtender.PanelExtenderBehavior.callBaseMethod(this, 'initialize');

        this._onmouseoverHandler = Function.createDelegate(this, this._onMouseOver);
        this._onmouseoutHandler = Function.createDelegate(this, this._onMouseOut);
        $addHandlers(this.get_element(), { 'mouseover': this._onMouseOver, 'mouseout': this._onMouseOut }, this);
    
       
    },

    dispose: function() {
        $clearHandlers(this.get_element());
        ASPiq_AjaxExtender.PanelExtenderBehavior.callBaseMethod(this, 'dispose');
    },
    
    
    _onMouseOver: function(e) {
        if (this.get_element() && !this.get_element().disabled) {
            if (!this._booActive)
                this.get_element().className = this.get_strCssHover();
        }
    },

    _onMouseOut: function(e) {
        if (this.get_element() && !this.get_element().disabled) {
            if (!this._booActive)
                this.get_element().className = this.get_strCssStandard();
        }
    },


    get_strCssStandard: function() {
        return this._strCssStandard;
    },
    set_strCssStandard: function(value) {
        if (this._strCssStandard !== value) {
            this._strCssStandard = value;
            this.raisePropertyChanged('strCssStandard');
        }
    },

    get_strCssHover: function() {
        return this._strCssHover;
    },
    set_strCssHover: function(value) {
        if (this._strCssHover !== value) {
            this._strCssHover = value;
            this.raisePropertyChanged('strCssHover');
        }
    },

    get_strCssActive: function() {
        return this._strCssActive;
    },
    set_strCssActive: function(value) {
        if (this._strCssActive !== value) {
            this._strCssActive = value;
            this.raisePropertyChanged('strCssActive');
        }
    },

    get_booActive: function() {
        return this._booActive;
    },
    set_booActive: function(value) {
        if (this._booActive !== value) {
            this._booActive = value;
            this.raisePropertyChanged('booActive');
        }
    }
} 

ASPiq_AjaxExtender.PanelExtenderBehavior.descriptor =
{
    properties: [
        { name: 'strCssStandard', type: String },
        { name: 'strCssHover', type: String },
        { name: 'strCssActive', type: String },
        { name: 'booActive', type: Boolean }
    ]
}

ASPiq_AjaxExtender.PanelExtenderBehavior.registerClass('ASPiq_AjaxExtender.PanelExtenderBehavior', Sys.UI.Control);

if (typeof (Sys) !== 'undefined') Sys.Application.notifyScriptLoaded(); 
