function	GetField (p_field)
{
	var obj = document.getElementById (p_field);
	if	(obj != null)	return obj;

	var len = document.forms.length;
	for (var i = 0; i < len; i++)
	{
		obj = document.forms[i].elements[p_field];
		if	(obj != null)	return obj;
	}

	return obj;
}

function	GetParent (p_field, p_type)
{
	
	var obj = GetField (p_field);
	if	(obj == null)	return null;
	obj = obj.parentNode;

	while (obj != null)
	{
		if	(obj.nodeName == p_type)
			return obj;
		obj = obj.parentNode;
	}

	return obj;
}

function	GetFieldValue (p_field)
{

	var obj = GetField(p_field);
	if	(obj == null)	return null;

	var	type = obj.type;
	if	(type == null)
		type = obj[0].type;

	var i;
	var s;
	var len;
	if	((type == 'checkbox')||(type == 'radio'))
	{
		if	(obj.length)
		{
			s = '';
			len = obj.length;
			for (i = 0; i < len; i++)
			{
				if	(obj[i].checked)
				{
					if	(s != '')
						s += ",";
					s += obj[i].value;
				}
			}
		}
		else
			s = (obj.checked)? obj.value: '';
	}
	else if ((type == 'select-one')||(type == 'select-multiple'))
	{
		s = '';
		len = obj.length;
		for (i = 0; i < len; i++)
		{
			if	(obj.options[i].selected)
			{
				if	(s != '')
					s += ",";
				s += obj.options[i].value;
			}
		}
	}
	else
	{
		s = obj.value;
	}

	return s;
}

function	HideIfValue (p_field, p_type)
{

	var value = GetFieldValue(p_field);
	if	(value == null)		return;

	var len = arguments.length;
	var s, i, j, a, len, a_len, obj;
	for (i = 2; i < len; i += 2)
	{
		if	(arguments[i] != value)		continue;
		a = arguments[i + 1].split(/\s*,\s*/);
		a_len = a.length;
		for (j = 0; j < a_len; j += 2)
		{
			obj = GetParent(a[j], p_type);
			if	(obj != null)
				obj.style.display = (a[j + 1] == 0)? 'none':
					((obj.nodeName.match(/^(TABLE|TBODY|TR)$/))? '': "block");
		}
		break;
	}
}

var HIV_data = new Array ();
function	HideIfValueInitial ()
{
	var len = HIV_data.length;
	var i, obj;
	for (i = 0; i < len; i++)
	{
		obj = GetField(HIV_data[i]);
		if	((obj != null)&&(obj.onchange))
			obj.onchange();
	}
}

var EF_onload_init = 0;
var EF_onload_data = new Array ();

function	OnLoad (p_func)
{

	if	(!EF_onload_init)
	{
		if	(window.onload)
    		EF_onload_data.push(window.onload);
		window.onload = OnLoadProcess;
		EF_onload_init = 1;
	}

	EF_onload_data.push (p_func);
}

function	OnLoadProcess ()
{

	var len = EF_onload_data.length;
	for (var i = 0; i < len; i++)
	{
		EF_onload_data[i]();
	}
	EF_onload_data.length = 0;
}
