// Set the initial state if no current state or length changed
// Get current cookie setting
var current=getCurrState()
function getCurrState() {
  var label = "currState="
  var labelLen = label.length
  var cLen = document.cookie.length
  var i = 0
  while (i < cLen) {
    var j = i + labelLen
    if (document.cookie.substring(i,j) == label) {
      var cEnd = document.cookie.indexOf(";",j)
      if (cEnd == -1) { cEnd = document.cookie.length }
      return unescape(document.cookie.substring(j,cEnd))
    }
    i++
  }
  return ""
}

// Add an entry to the database
function dbAdd(mother,display,URL,indent,top,newitem) {
  db[total] = new Object;
  db[total].mother = mother
  db[total].display = display
  db[total].URL = URL
  db[total].indent = indent
  db[total].top = top
  db[total].newitem = newitem
  total++
  }

// Record current settings in cookie
function setCurrState(setting) {
  var expire = new Date();
  expire.setTime(expire.getTime() + ( 10*60*1000 ) ); // expire in 1 week
  document.cookie = "currState=" + escape(setting) + "; expires=" + expire.toGMTString();
  }

// toggles an outline mother entry, storing new value in the cookie
function toggle(n) {
  if (n != 0) {
    var newString = ""
    var expanded = current.substring(n-1,n) // of clicked item
    newString += current.substring(0,n-1)
    newString += expanded ^ 1 // Bitwise XOR clicked item
    newString += current.substring(n,current.length)
    setCurrState(newString) // write new state back to cookie
  }
}

// returns padded spaces (in mulTIPles of 2) for indenting
function pad(n) {
  var result = ""
  for (var i = 1; i <= n; i++) { result += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" }
  return result
}

if (current == "" || current.length != (db.length-1))
{
  current = ""
  initState = ""
  for (i = 1; i < db.length; i++)
  {
    initState += "0"
    current += "0"
  }

  setCurrState(initState)

}

var prevIndentDisplayed = 0
var showMyDaughter = 0

// end -->

<!--
var Outline=""
// cycle through each entry in the outline array
for (var i = 1; i < db.length; i++)
{
  var currIndent = db[i].indent           // get the indent level
  var expanded = current.substring(i-1,i) // current state
  var top = db[i].top
  if (top == "") { top="content" }

  // display entry only if it meets one of three criteria

  if ((currIndent == 0 || currIndent <= prevIndentDisplayed || (showMyDaughter == 1 && (currIndent - prevIndentDisplayed == 1))))
  {
       Outline += pad(currIndent)

       // Insert the appropriate GIF and HREF
       newitem = "";
       if (db[i].newitem) { newitem="_new"; }
       if ((db[i].mother))
       {
           Outline += "<A HREF=\"javascript:history.go(0)\" onClick=\"toggle(" + i + ");this.blur()\" class=\"leftmenu\"><img src=\"images/vierkant_zwart.gif\" border=\"0\">"
       }

       if (db[i].URL == "" || db[i].URL == null)
       {
              Outline += db[i].display + "</A><BR><IMG SRC=\"images/menu_white_line.gif\" HEIGHT=\"8\" WIDTH=\"163\">"     // no link, just a listed item
       }
       else
       {
           if ((db[i].mother)) Outline += "<A HREF=\"" + db[i].URL + "\" onClick=\"toggle(" + i + ");this.blur()\" class=\"leftmenu\" target=\"_top\">" + db[i].display + "</A><BR><IMG SRC=\"images/menu_white_line.gif\" HEIGHT=\"8\" WIDTH=\"163\">"
           else Outline += "<A HREF=\"" + db[i].URL + "\" class=\"leftsubmenu\" target=\"_top\">" + db[i].display + "</A>"
       }

       Outline += "<BR>"

       prevIndentDisplayed = currIndent
       showMyDaughter = expanded
       if (db.length > 25)
       {
           document.write(Outline)
           Outline = ""
       }
    }
}

document.write(Outline)
