/***********************************************************************************************
 * stellt ein Fenster bereit, welches eine Information ueber zugeordnete Menuepunkte enthaelt.
 * Alle ST-Fenster sollten von diesem Fenster ableiten, da das Menue immer vom aktuellen
 * Fenster abhaengig ist.
 **********************************************************************************************/
BasicWindow = Ext.extend(Ext.Window, {

   // Array mit Menuitem-IDs, die aktiviert werden sollen
   activeMenuItems: [],
   listeners: {
      minimize: function() {
         this.hide();
      }
   },

   initComponent: function() {
      if(TaskbarManager.isWinAllowed() || this.id == 'wizardWin'){
         // Animationsziel bestimmen (zur Animation der Minimier- und Maximierfunktion)
         Ext.apply(this, {
            animateTarget: TaskbarManager.createButtonId(this)
         });

         // Events
         this.mon(this, 'activate', this.activateFunction, this);
         this.mon(this, 'deactivate', this.deactivateFunction, this);

         // zu Taskleiste hinzufuegen
         TaskbarManager.addToTaskbar(this);
         BasicWindow.superclass.initComponent.apply(this, arguments);
      }else{
         Ext.Msg.show({
            title:'Info',
            msg: 'Es können max. 3 Tracks gleichzeitig geoeffnet werden',
            buttons: Ext.Msg.OK,
            icon: Ext.MessageBox.INFO
         });
      }

   },

   /********************************************************************************************
    * wird beim Schliessen des Fensters aufgerufen und entfernt den zugehoerigen Eintrag der
    * Taskleiste
    *******************************************************************************************/
   onDestroy: function() {
      TaskbarManager.removeFromTaskbar(this);
      BasicWindow.superclass.onDestroy.apply(this, arguments);
   },

   /********************************************************************************************
    * wird aufgerufen, sobald das Fenster aktiviert wird. Es wird der Aktivierungsstatus des
    * Applikationsmenues gesetzt und die Taskleiste entsprechend aktualisiert.
    *******************************************************************************************/
   activateFunction: function() {
      TaskbarManager.activateButton(this);
   },

   /********************************************************************************************
    * wird aufgerufen, sobald das Fenster deaktiviert wird. Hier werden alle zu Beginn akti-
    * vierten Menuepunkte wieder deaktiviert.
    *******************************************************************************************/
   deactivateFunction: function() {
   }

});