// Toggle visibility of a CSS div
function ShowHide(id) {
  var element = document.getElementById(id);
  if (element) {
    if (!element.style.display) element.style.display = "none";
    if (element.style.display == "" || element.style.display == "none") {
      element.style.display = "block";
    } else { 
      element.style.display = "none";
    }
    SetPageHeight();
  }
}


// Change the content of a CSS div
function ChangeText(id,text) {
  var element = document.getElementById(id);
  if (element) element.innerHTML=text;
}

// Toggle all the checkboxes in a form
function checker(frm) {
  var i;
  for (i=0; i<frm.length; i++) {
    fld=frm.elements[i];
    if (fld.type=="checkbox") fld.checked=!(fld.checked);
  }
}

// Set the height of a page to fix crappy CSS's crappy handling of crappy absolute positioning
function SetPageHeight(q) {
  var p; 

  if (q) p=q+'-';
  else if (document.getElementById('content1')) p='';
  else if (document.getElementById('page-content1')) p='page-';

  osidebar1=document.getElementById(p+'sidebar1');
  osidebar2=document.getElementById(p+'sidebar2');
  ocontent1=document.getElementById(p+'content1');
  ocontent2=document.getElementById(p+'content2');
  ocontents=document.getElementById('contents');

  if (ocontents) {
    h=0;
 
    if (ocontent1 && ocontent1.style.display!="none") h=Math.max(h,ocontent1.offsetHeight);
    if (ocontent2 && ocontent2.style.display!="none") h=Math.max(h,ocontent2.offsetHeight);
    if (osidebar1 && osidebar1.style.display!="none") h=Math.max(h,osidebar1.offsetHeight);
    if (osidebar2 && osidebar2.style.display!="none") h=Math.max(h,osidebar2.offsetHeight);
  
    ocontents.style.height=h+'px';
  }
}

