var NO_PARENT = 666666

/****************************************************************************************************/

function Dep(id, parent, display, attr0)
{
  this.id = id
  this.parent = parent
  this.display = display
  this.attr0 = attr0
}



function Man(parent, attr0, attr1)
{
  this.parent = parent
  this.attr0 = attr0
  this.attr1 = attr1
}

/****************************************************************************************************/

function getDep(id)
{
  for (var i = 0; Deps[i]; i++)
  {
    if (Deps[i].id == id)
    {
      return Deps[i]
    }
  }
}



function getMan(id)
{
  for (var i = 0; Man[i]; i++)
  {
    if (Man[i].id == id)
    {
      return Man[i]
    }
  }
}

/****************************************************************************************************/

function drawDep(id)
{
  id = id ? id : 0;

  var dep = getDep(id)

  if (id)
  {
    document.write('<table cellspacing="0" cellpadding="0" border="0" width="135">')
    document.write('<tr>')
    document.write('<td style="padding: 0px 0px 0px 15px;"><img id="folder' + id + '" src="i/folder' + dep.display + '.gif" border="0" style="cursor: hand;" onClick="displayFolder(' + id + ')" /></td>')
    document.write('<td style="padding: 0px 0px 0px 15px;"><a href="#" onClick="displayFolder(' + id + '); return false;">' + dep.attr0 + '</a></td>')
    document.write('</tr>')
    document.write('</table>')

    document.write('<div id="folderLayer' + id + '" style="display: ' + (dep.display ? "block" : "none") + '; margin: 0px 0px 0px 0px;">')
  }
 

  for (var i = 0; Deps[i]; i++)
  {
    if (Deps[i].parent == id)
    {
      drawDep(Deps[i].id)
    }
  }  

  for (var i = 0; People[i]; i++)
  {
    if (People[i].parent == id)
    {
      drawMan(People[i])
    }
  } 

  document.write('</div>')
}



function drawMan(obj)
{
  document.write('<table cellspacing="0" cellpadding="0" border="0" width="100">')
  document.write('<tr>')
  document.write('<td style="padding: 0px 0px 0px 15px;">')
  document.write('<table cellspacing="1" cellpadding="1" border="0">')
  document.write('<tr>')
  document.write('<td style="padding: 0px 0px 0px 10px;"><img src="img/page_text_ipmb_arrow.gif" width="9" height="12" border="0" /></td>')
  document.write('<td style="padding: 0px 0px 0px 10px;"><a href="' + obj.attr0 + '">' + obj.attr1 + '</a></td>')
  document.write('</tr>')
  document.write('</table>')
document.write('</td>')
document.write('</tr>')
document.write('</table>')
}

/****************************************************************************************************/

function displayFolder(id)
{
  var dep = getDep(id)

  dep.display = dep.display ? 0 : 1

  document.getElementById("folder" + id).src = "i/folder" + dep.display + ".gif"

  document.getElementById("folderLayer" + id).style.display = dep.display ? "block" : "none"

  setFolder()
}

/****************************************************************************************************/

function getFolder()
{
  var myCookie = document.cookie

  var depsTree = /depsTree=[^;]+/.exec(myCookie)

  if (depsTree)
  {
    if (depsTree[0].replace("depsTree=", "") == DEPS_TREE)
    {
      var depsCookie = /deps=[^;]+/.exec(myCookie)

      if (depsCookie)
      {
        var deps = depsCookie[0].replace("deps=", "").split(" ")

        for (var i = 0; deps[i]; i++)
        {
          var t = deps[i].split("/")

          var dep = getDep(t[0])

          if (dep)
          {
            dep.display = parseFloat(t[1])
          }
        }
      }
    }
  }
}



function setFolder()
{
  var myCookie = ""

  for (var i = 0; Deps[i]; i++)
  {
    myCookie += (myCookie ? " " : "") + Deps[i].id + "/" + Deps[i].display
  }

  document.cookie = "deps=" + myCookie
  document.cookie = "depsTree=" + DEPS_TREE
}

/****************************************************************************************************/

var Deps = new Array()

Deps.push(new Dep(0, NO_PARENT, 1))



var People = new Array()

