function getElement(id)
{
	if ( typeof id == 'object' )
		return id;
	
	if (!document.getElementById)
		return;
	var element = document.getElementById(id);
	return element;
}

function hide(id)
{
	change_visibility(id, false);
}

function show(id)
{
	change_visibility(id, true);
}

function change_visibility(id, show)
{
	var element = getElement(id);
	
	if (!element)
		return;
	
	element.style.display = show ? '' : 'none';
}

function switch_visibility(id)
{
	var element = getElement(id);
	if (!element)
		return;
	element.style.display = element.style.display=='none' ? '' : 'none';
}

function get_visibility(id)
{
	var element = getElement(id);
	if (!element)
		return;
	return element.style.display;
}

function clearDefaultValue(field, value)
{
	if (field.value==value)
		field.value = '';
}

function setDefaultValue(field, value)
{
	if (field.value=='')
		field.value = value;
}

function update_visibilities(name, update_field_prefix, force_visible)
{
	if (!document.getElementById)
		return;
	var selected_value = 0;
	for (i=0; obj = document.getElementsByName(name)[i]; ++i) {
		var new_status = force_visible ? obj.value==force_visible : obj.checked;
		if (document.getElementById(update_field_prefix + obj.value))
			change_visibility(update_field_prefix + obj.value, new_status);
		if (new_status == true)
			selected_value = obj.value;
	}
	return selected_value;
}