function collapse_toggle(imageBase,elementid,containerElement) {
  var element=document.getElementById(elementid);

  if (element) {
    //    collapse_remember[elementid]=!collapse_remember[elementid];
    //alert(collapse_remember[elementid]);
    if ((element.style.visibility=='visible') || !element.style.visibility) {
      element.style.visibility='hidden';
      element.style.position='absolute';
      if (containerElement!=null)
        containerElement.outerHTML=collapse_getIcon(imageBase,1,elementid);
      collapse_setcookie(elementid,0);
    } else {
      element.style.visibility='visible';
      element.style.position='relative';
      if (containerElement!=null)
        containerElement.outerHTML=collapse_getIcon(imageBase,0,elementid);
      collapse_setcookie(elementid,1);
    }
  }
}
function collapse_setcookie(elementid,showsection) {
  statemap=collapse_parsestates(document.cookie);
  statemap[elementid]=showsection;
  collapse_generatestates(statemap);
}
function collapse_parsestates(cookie) {
  var retVal=new Array();
  if (cookie) {
    cookies=document.cookie.split('; ');
    if (cookies.length==0) //in case the browser doesn't use the extra space
      cookies=document.cookie.split(';');

    map=new Array();
    for (a in cookies) {
      pair=cookies[a].split('=');
      map[pair[0]]=pair[1];
    }

    if (map['collapse_states']) {
      states=map['collapse_states'].split(',');
      for (a in states) {
        pair=states[a].split('/');
        retVal[pair[0]]=pair[1];
      }
    }
  }
  return retVal;
}
function collapse_generatestates(statearray) {
  var pairArray=new Array();
  for (a in statearray) {
    pairArray[pairArray.length]=a+'/'+statearray[a];
  }
  document.cookie='collapse_states='+pairArray.join(',');
  
}
function collapse_getcookie(elementid) {
  var retVal=1;
  var map;

  statemap=collapse_parsestates(document.cookie);
  if (statemap[elementid])
    retVal=statemap[elementid];

  return retVal;
}

function collapse_insert(imageBase,elementid) {
  if (collapse_getcookie(elementid)==0)
    which=1;
  else which=0;

  document.write('<div>');
  document.write(collapse_getIcon(imageBase,which,elementid));
  document.write('</div>');
}
function collapse_getIcon(imageBase,which,elementid) {
  var retVal='';
  retVal='<a id="';
  retVal+=elementid+'_collapse" href="#" OnMouseOver="javascript: window.status=\'';
  if (which==0)
    retVal+='Collapse Section';
  else retVal+='Expand Section';
  retVal+='\';return true;" OnMouseOut="javascript: window.status=\'\';" OnClick="javascript: collapse_toggle(\'';
  retVal+=(imageBase+'\',\''+elementid+'\',this);">');
  if (which==0) {
    retVal+='<img border="0" alt="Collapse" src="'+imageBase+'collapse.gif">';
  } else {
    retVal+='<img border="0" alt="Expand" src="'+imageBase+'uncollapse.gif">';
  }

  retVal+='</a>';
  return retVal;
}

