﻿///<reference path="../../../Element.js"/>

var njs;
if (!njs) njs = {};
if (!njs.ui) njs.ui = {};
if (!njs.ui.widgets) njs.ui.widgets = {};

njs.ui.widgets.File = function(tab, container, fileNumber, alertAlreadyActiveFunction) {
    var me = this;
    this.base = njs.ui.Element;
    this.base(this);
    this.FileNumber = fileNumber;
    this.content = new njs.ui.widgets.FileContent(container);
    this.tab = new njs.ui.widgets.FileTab(tab, this.content.Container);
    this.tab.AddEvent("click", function() { me.Activate.call(me) });
    this.IsActive = false;
    this.AlertAlreadyActive = alertAlreadyActiveFunction || function() { return; }

    this.Drawer = [];
    this.SetDrawer = function(drawer) { this.Drawer = drawer };

    this.Activate = function() {

        if (this.IsActive == false) {
            this.ResetDrawer();
            this.tab.Activate();
            this.content.Activate();
            this.IsActive = true;
        }
        else this.AlertAlreadyActive();
    }

    this.Disable = function() {

        this.tab.Disable();
        this.content.Disable();
        this.IsActive = false;
    }

    this.ResetDrawer = function() {
        for (var i = 0; this.Drawer[i]; i++) {
            if (this.Drawer[i].FileNumber != this.FileNumber) this.Drawer[i].Disable();
        }
    }
}
njs.ui.widgets.File.prototype = new njs.ui.Element;