

// 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') 
    {
      if (tagName == 'input' && object.type && (object.type.toLowerCase() == 'radio' || object.type.toLowerCase() == 'checkbox'))
      {
        if (!editable)
          object.setAttribute("disabled",!editable);
        else
          object.removeAttribute("disabled");
          
      }
      else      
      {
				if(editable)
					object.removeAttribute("readOnly");
				else
					object.setAttribute("readOnly",!editable);        
      }        
    }
    else
    {
      if (!editable)
        object.setAttribute("disabled",!editable);
      else
        object.removeAttribute("disabled");
    }
    return true;
  }
  else
  {
    return false;
  }
}


function setCursor(id,c)
{
	if (document.all || id != "body") // IE
	{
		var s = getStyleObject(id)
		{
			try
			{
				if (s && s.cursor)
				{
					s.cursor = c;
				}
			}
			catch (e)
			{
				alert(e);
			}
		}
	}
	else
	{
		document.body.style.cursor = c;
	}
}