function show(elementName) {



  var element = document.getElementById(elementName);



  element.style.display = '';



}







function hide(elementName) {



  var element = document.getElementById(elementName);



  element.style.display = 'none';



}







function showHide(elementName, imageName) {



  var element = document.getElementById(elementName);



  var image = document.getElementById(imageName);



  



  fields = new String(getField('show'));  



  if(element.style.display == 'none') {



    show(elementName);  



    if(image) image.src='/images/collapse.gif';



    if(fields.length) { fields += ',' + elementName; }



    else { fields = elementName; }



  } else {



    hide(elementName);



    if(image) image.src='/images/expand.gif';



    var re = new RegExp('^'+elementName+',?');



    fields = fields.replace(re,'');



    re = new RegExp(','+elementName);



    fields = fields.replace(re,'');



  }



  updateField('show', fields);



}



function getField(fieldName, doc) {

  if(doc == undefined) { doc = document; }

  var element = doc.getElementById(fieldName);

  if(element) {

    return getElement(element);

  }

  var elements = doc.getElementsByName(fieldName);

  if(elements) {

    var value;

    for(var i = 0; i < elements.length; i++) {

      if(value != undefined) { value += "," + getElement(elements[i]); }

      else { value = getElement(elements[i]); }

    }

    return value;

  }

  return null;

}



function getElement(element, value) {

  if(element.selectedIndex != undefined) { return element.options[element.selectedIndex].value; }

  else if(element.value != undefined) { return element.value; }

  else if(element.innerHTML != undefined) { return element.innerHTML; }

  else { return null; }

}
