/*
function to open and close div-tags

Copyright (c) 2007 Webbkonsulterna www.wk.se
*/

function toggle()
{
  this.openid = '';
  this.intid = 0;
  this.toggle = function(id)
  {
    if(this.openid == id)
    {
      this.close(id);
      this.openid = '';
    }
    else
    {
      if(this.openid != '')
        this.close(this.openid);
      this.openid = id;
    }
    if(this.intid == 0)
    {
      var obj = this;
      this.intid = setInterval(function() {
        didsomething = false;
        if(obj.openid != '')
        {
          if(document.getElementById(obj.openid).offsetHeight < document.getElementById(obj.openid).childNodes[0].offsetHeight)
          {
            document.getElementById(obj.openid).style.height = (document.getElementById(obj.openid).offsetHeight + 2) + "px";
            didsomething = true;
          }
        }
        if(obj.closeids)
        {
          for(i = 0; i < obj.closeids.length; i ++)
            if(obj.closeids[i] != obj.openid)
              if(document.getElementById(obj.closeids[i]).offsetHeight > 1)
              {
                document.getElementById(obj.closeids[i]).style.height = (document.getElementById(obj.closeids[i]).offsetHeight - 2) + "px";
                didsomething = true;
              }
        }
        if(!didsomething)
        {
          clearInterval(obj.intid);
          obj.intid = 0;
        }
      }, 5);
    }
  };
  this.close = function(id)
  {
    if(this.closeids)
    {
      j = 0;
      for(i = 0; i < this.closeids.length; i ++)
        if(this.closeids[i] == id)
          j ++;
      if(j == 0)
        this.closeids[this.closeids.length] = id;
    }
    else
    {
      this.closeids = Array();
      this.closeids[0] = id;
    }
  };
  var callback = function(obj)
  {
    if(obj.openid != '')
    {
      if(document.getElementById(obj.openid).offsetHeight != document.getElementById(obj.openid).childNodes[0].offsetHeight)
        document.getElementById(obj.openid).style.height = document.getElementById(obj.openid).childNodes[0].offsetHeight + "px";
    }
    if(obj.closeids)
    {
      for(i = 0; i < obj.closeids.length; i ++)
      {
        if(obj.closeids[i] != obj.openid)
          if(document.getElementById(obj.closeids[i]).offsetHeight > 1)
            document.getElementById(obj.closeids[i]).style.height = 1 + "px";
      }
    }
  };
}
