function setImageSrc( elementId, imageSrc )
{
    var element = document.getElementById( elementId );
    element.setAttribute( 'src', imageSrc );
}

function toggleElementVisibility( elementId )
{
	var element = new getObj( elementId );
	if( element.style.display == 'none' )
	{	
		element.style.display = 'block';
	}
	else
	{
		element.style.display = 'none';
	}
}

function toggleElementVisibilityInline( elementId )
{
	var element = new getObj( elementId );
	if( element.style.display == 'none' )
	{	
		element.style.display = 'inline';
	}
	else
	{
		element.style.display = 'none';
	}
}

function toggleDisplayState( visibleElementId, headerElementId )
{
	toggleElementVisibility( visibleElementId );
	var visibleElement = new getObj( visibleElementId );
	var element = new getObj( headerElementId );	
	if( visibleElement.style.display == 'none' ) {
		element.style.backgroundImage = 'url(../gfx/arrow_up.gif)';
	} else {
		element.style.backgroundImage = 'url(../gfx/arrow_down.gif)';
	}
	
}

function setElementVisible( elementId )
{
	var element = new getObj( elementId );
	element.style.display = 'block';
}

function getElementVisible( elementId )
{
	var element = new getObj( elementId );
	if( element.style.display == 'none' )
		return( false );
	return( true );
}

function setElementHidden( elementId )
{
	var element = new getObj( elementId );
	element.style.display = 'none';
}

function enableFormElement( formNumber, elementName )
{
	var element = getFormElementByName( formNumber, elementName );
	element.disabled = false;
}

function disableFormElement( formNumber, elementName )
{
	var element = getFormElementByName( formNumber, elementName );
	element.disabled = true;
}

function getFormElementByName( formNumber, elementName )
{
	for( var i = 0; i < document.forms[formNumber].length; ++i )
	{
		if( document.forms[formNumber].elements[i].name == elementName )
		{
			return( document.forms[formNumber].elements[i] );
		}
	}
	return( null );
}

/**
 *	This function will return a DOM element by id 
 *	and should work in many browsers including very very
 *	old ones.
 *
 *	@param elementId The id of the element we wish to fetch.
 */
function getElementById( elementId )
{
	if( document.getElementById )
	{
		return( document.getElementById( elementId ) );
	}
	else if( document.all )
	{
		return( document.all[elementId] );
	}
	else if( document.layers )
	{
		return( document.layers[elementId] )
	}
	return( null );
}

function getObj(name)
{
  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
	if( this.obj.style )
	{
		this.style = this.obj.style
		document.getElementById(name).style;
	}
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
	this.obj = getObjNN4(document,name);
	this.style = this.obj;
  }
}

function getObjNN4(obj,name)
{
	var x = obj.layers;
	var foundLayer;
	for (var i=0;i < x.length;i++)
	{
		if (x[i].id == name)
		 	foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = getObjNN4(x[i],name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}
