// "collapsed threads" cookie's name.
var CTC = "collapsed_threads";
// # of days for the collapsed threads cookie to last.
var CTCD = 5;

function getCollapsedThreads()
{
  var colArray = get_cookie(CTC);
  colArray = colArray.split(',');
  return colArray;
}

function setCollapsedThreads(colArray)
{
  cts = colArray.join(',');
  set_cookie(CTC, cts, CTCD);
}

function addCollapsedThread(id)
{
  var cts = getCollapsedThreads();
  var shouldAdd = true;
  for (var i=0;i<cts.length;i++)
  {
    if (cts[i] == id)
    {
      shouldAdd = false;
      break;
    }
  }
  if (shouldAdd)
  {
    cts.push(id);
    set_cookie(CTC, cts, CTCD);
  }
}

function removeCollapsedThread(id)
{
  var cts = getCollapsedThreads();
  var shouldRem = false;
  for (var i=0;i<cts.length;i++)
  {
    if (shouldRem)
    {
      cts[i-1] = cts[i];
    }
    else if (cts[i] == id)
    {
      shouldRem = true;
    }
  }
  if (shouldRem)
  {
    // not sure if this works properly in all browsers...
    cts.pop();
    cts.join(',');
    set_cookie(CTC, cts, CTCD);
  }
}


function toggleMe(a){
var e=document.getElementById(a);
var f=document.getElementById(a + 'b');
var g=document.getElementById(a + 'c');
if(!e)return true;
if(e.style.display=="none"){
removeCollapsedThread(a);
e.style.display="block"
f.style.display="none"
g.style.display="none"
} else {
addCollapsedThread(a);
e.style.display="none"
f.style.display="block"
g.style.display="block"
}
return true;
}


function initCollapsedThreads()
{
  var cts = getCollapsedThreads();
  for (var i=0;i<cts.length;i++)
  {
    toggleMe(cts[i]);
  }
}