// Copyrights Loopback Systems AS & Nextframe AS 2006 //
// Author: haakon@loopback.no //
// contact: tom-erik@nextframe.net //


  function lbsTabs(classActive,classDisabled) {
    this.tabs = new Array(0);
    this.classDisabled = classDisabled;
    this.classActive = classActive;
    this.selectedTab = 0;

    this.addTab = function (sName) {
      this.tabs.push(sName);
    }
    this.listTabs = function () {
      alert('Lengde: ' + this.tabs.length);
    }
    this.findTabId = function (tabName) {
      for (var i = 0; i < this.tabs.length; ++i) {
        if (this.tabs[i] == tabName)
          return i;
      }
      return 0; // fallback
    }
    this.setActive = function (sName) {
      this.selectedTab = this.findTabId(sName);
      this.redraw();
    }
    this.redraw = function () {
      for (var i = 0; i < this.tabs.length; ++i) {
        var tabObj = this.getObj(this.tabs[i] + '_tab');
        var contentObj = this.getObj(this.tabs[i] + '_contents');

        if (tabObj)
          tabObj.className = (i == this.selectedTab ? this.classActive : this.classDisabled);
        if (contentObj && contentObj.style) {
          if (i == this.selectedTab) {
            contentObj.style.position = 'static';
            contentObj.style.visibility = 'visible';
          } else {
            contentObj.style.position = 'absolute';
            contentObj.style.visibility = 'hidden';
          }
        }
      }
    }
    this.onClick = function (cObj) {
      var tabName = cObj.id.split('_');
      this.selectedTab = this.findTabId(tabName[0]);
      this.redraw();
    }
    this.getObj = function (objName) {
      if (document.all) {
        return document.all[objName];
      } else {
        return document.getElementById(objName);
     }
    }
  }

