var JS_GETELEMENTBYID = true;
var JS_GETELEMENTSBYTAGNAME = true;


// OBJECT DETECTION
// ===========
if ( !document.getElementById )
	JS_GETELEMENTBYID = false;
if ( !document.getElementsByTagName )
	JS_GETELEMENTSBYTAGNAME = false;


// FORM VALUES
// ===========
function getValue( objName )
{
	var objValue = document.getElementById(objName).value
	return ( objValue );
}

function setValue( objName, newValue )
{
	document.getElementById(objName).value = newValue;
}

function getSelected( objName )
{
	var objValue = document.getElementById(objName).selectedIndex;
	return objValue;
}

function setSelected( objName, newValue )
{
	if ( newValue < document.getElementById(objName).options.length )
		document.getElementById(objName).selectedIndex = newValue;
}

function getChecked( objName )
{
	var objValue = document.getElementById(objName).checked;
	return objValue;
}

function setChecked( objName, newValue )
{
	document.getElementById(objName).checked = newValue;
}

function addOption( objName, objValue, objNum )
{
	var obj = document.getElementById(objName);
	var iSize = obj.options.length;

	obj.options[iSize] = new Option(objValue);
	obj.options[iSize].value = objNum;
}

function addOptions( objName, valuesArr, iDefault )
{
	var oldSelect = getValue( objName );
	removeOptions( objName );

	for ( var i=0; i<valuesArr.length; i++ )
		addOption( objName, valuesArr[i], i );

	// reselect old value, or select default
	if ( oldSelect )
		setSelected( objName, oldSelect );
	else if ( iDefault )
	{
		setSelected( objName, iDefault );
	}
}

function removeOptions( objName )
{
	var obj = document.getElementById(objName);
	obj.options.length = 0;
}

function setDisplay( objName, strType )
{
	document.getElementById(objName).style.display = strType;
}

function getDisplay( objName )
{
	return document.getElementById(objName).style.display;
}


// PROTOTYPES
// ==========
Array.prototype.find = function( s )
{
	for ( var i=0; i<this.length; i++ )
		if ( this[i] == s ) return ( i );

	return ( -1 );
};

Array.prototype.copy = function( Arr )
{
	for ( i=0; i<this.length; i++ )
		Arr[ i ] = this[ i ];
}
