﻿//workbench.js
Type.registerNamespace('TabDocWebLib');

TabDocWebLib.WorkBench = function(element)
{
    TabDocWebLib.WorkBench.initializeBase(this, [element]);
};

TabDocWebLib.WorkBench.prototype = {
    initialize: function()
    {
        TabDocWebLib.WorkBench.callBaseMethod(this, 'initialize');

        var e = this.get_element();
        if ( !IsNullOrEmpty(e ))
        {
            switch (e.id)
            {
                case "BenchContentContainer_modeTray":
                    {
                        this.BenchType = "modeTray";
                    }
                    break;
                case "BenchContentContainer_workBench":
                    {
                        this.BenchType = "workBench";
                    }
                    break;
                default:
                    break;
            }

            switch (this.BenchType)
            {
                case "modeTray":
                    {
                        SetClientSideTrayTriggerID(this.TriggerId);
                        SetClientSideTrayHiddenID(this.HiddenId);
                        SetClientSideTrayContentContainerId(e.id);
                    }
                    break;
                case "workBench":
                    {
                        SetClientSideBenchTriggerID(this.TriggerId);
                        SetClientSideBenchHiddenID(this.HiddenId);
                        SetClientSideBenchContentContainerId( e.id );
                    }
                    break;
                default:
                    break;
            }
        }
    },

    dispose: function()
    {
        $clearHandlers(this.get_element());

        TabDocWebLib.WorkBench.callBaseMethod(this, 'dispose');
    },

    getHiddenId: function()
    {
        return this.HiddenId;
    },

    setHiddenId: function(value)
    {
        this.HiddenId = value;
        this.raisePropertyChanged('HiddenId');
    },

    getTriggerId: function()
    {
        return this.TriggerId;
    },

    setTriggerId: function(value)
    {
        this.TriggerId = value;
        this.raisePropertyChanged('TriggerId');
    }
};

TabDocWebLib.WorkBench.registerClass('TabDocWebLib.WorkBench', Sys.UI.Control);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();