// Normalizza l'altezza delle due colonne principali del sito,
// colonnasx e contenuto, in modo che siano entrambe alte come
// la pił alta delle due. Da chiamare onload e ogni volta
// che uno dei due elementi cambia la propria altezza.
function normalizePageHeight() {
  leftElement = document.getElementById('colonnasx');
  rightElement = document.getElementById('contenuto');

  leftHeight = leftElement.offsetHeight;
  rightHeight = rightElement.offsetHeight;

  if (leftHeight > rightHeight)
    rightElement.style.height = leftHeight + 'px';
  else if (rightHeight > leftHeight)
    leftElement.style.height = rightHeight + 'px';
}

// Sblocca le dimensioni fisse delle due colonne principali del sito,
// colonnasx e contenuto, in modo che se il loro contenuto cambia
// la loro altezza si possa adattare liberamente.
function unlockPageHeight() {
  document.getElementById('colonnasx').style.height = null;
  document.getElementById('contenuto').style.height = null;
}

// Nasconde o mostra l'elemento indicato, cambiando anche il titolo
// dell'anchor e la descrizione dello span opportunamente.
// Versione per pagine in inglese.
function hideShowElement(anchorID, elementID, spanID, spanDesc) {
  return _hideShowElement(anchorID, elementID, spanID, spanDesc, "Hide", "Show");
}

// Nasconde o mostra l'elemento indicato, cambiando anche il titolo
// dell'anchor e la descrizione dello span opportunamente.
// Versione per pagine in italiano.
function nascondiMostraElemento(anchorID, elementID, spanID, spanDesc) {
  return _hideShowElement(anchorID, elementID, spanID, spanDesc, "Nascondi", "Mostra");
}

// Implementazione delle due funzioni sopra. Non usare direttamente.
function _hideShowElement(anchorID, elementID, spanID, spanDesc, hideStr, showStr) {
  // Mi accerto che la pagina si possa ridimensionare liberamente
  // (ved. normalizePageHeight).
  unlockPageHeight();

  anchorElement = document.getElementById(anchorID);
  targetElement = document.getElementById(elementID);
  spanElement = document.getElementById(spanID);
  // show
  if (targetElement.style.display == "none") {
    targetElement.style.display = "";
    anchorElement.title = "Collapse section";
    anchorElement.innerHTML = "<img src='images/minus.gif'>";
    spanElement.innerHTML = hideStr + " " + spanDesc;
  // hide
  } else {
    targetElement.style.display = "none";
    anchorElement.title = "Expand section";
    anchorElement.innerHTML = "<img src='images/plus.gif'>";
    spanElement.innerHTML = showStr + " " + spanDesc;
  }
  normalizePageHeight();
}
