

// Wrapper functions for DOM

// Get an object by id
function getObject(objectId)
{
  if (document.getElementById)
  {
    return document.getElementById(objectId);
  }
  else if (document.all)
  {
    return document.all(objectId);
  }
  else if (document.layers)
  {
    return document.layers[objectId];
  }
  else
  {
    return null;
  }   
}

// Get style of an object
function getStyleObject(objectId)
{
  if (document.getElementById && document.getElementById(objectId))
  {
    return document.getElementById(objectId).style;
  }
  else if (document.all && document.all(objectId))
  {
    return document.all(objectId).style;
  }
  else if (document.layers && document.layers[objectId])
  {
    return document.layers[objectId];
  }
  else
  {
    return false;
  }   
}

// Change display of an object
function changeObjectDisplay(objectId, newDisplay)
{
  var styleObject = getStyleObject(objectId);
  
  if (styleObject)
  {
    styleObject.display = newDisplay;
    return true;
  }
  else
  {
    return false;
  }
}

// Set an object 'editable'
function setEditable(objectId, editable)
{
  var object = getObject(objectId);
  if (object)
  {
    // use 'readonly' or 'disabled' depending on type of input field
    var tagName = object.tagName.toLowerCase();
    if (tagName == 'input' || tagName == 'textarea') 
    {
      object.setAttribute("readOnly",!editable);
    }
    else
    {
      object.setAttribute("disabled",!editable);
    }
    return true;
  }
  else
  {
    return false;
  }
}