
// toggles the css hidden state of the specified element (by ID)
function flip_hidden(id)
{
	if (document.getElementById)
	{
		var obj = document.getElementById(id);
	}
	else if (document.all)
	{
		var obj = document.all[id];
	}
	if (obj)
	{
		if (obj.style.display != "none")
		{
			obj.style.display = "none";
		}
		else if (obj.style.display == "none")
		{
			obj.style.display = "block";
		}
	}
	return false;
}

// sets the css hidden state of the specified element (by ID)
function hide_by_id(id)
{
	if (document.getElementById)
	{
		var obj = document.getElementById(id);
	}
	else if (document.all)
	{
		var obj = document.all[id];
	}
	if (obj)
	{
		obj.style.display = "none";
	}
	return false;
}

// toggles the css hidden state of the specified element (by ID)
function show_by_id(id)
{
	if (document.getElementById)
	{
		var obj = document.getElementById(id);
	}
	else if (document.all)
	{
		var obj = document.all[id];
	}
	if (obj)
	{
		obj.style.display = "block";
	}
	return false;
}

// sets form radio using value
function set_radio_by_value(radioObj, value)
{
	if (typeof(radioObj) == 'object')
	{
		var radioLength = radioObj.length;
		if (typeof(radioLength) == 'undefined') 
		{
			radioObj.checked = (radioObj.value == value.toString());
			return;
		}
		for (var i = 0; i < radioLength; i++) 
		{
			radioObj[i].checked = false;
			if (radioObj[i].value == value.toString()) 
			{
				radioObj[i].checked = true;
			}
		}
	}
	return false;
}

// sets form select by text
function set_select(listObj,text)
{
	listObj.options[0].selected = true;
	for (var i=0; i<listObj.options.length; i++)
	{
		if (listObj.options[i].text == text)
		{
			listObj.options[i].selected = true;
			break;
		}
	}
	listObj.blur();
}

// sets form select by value
function set_select_by_value(listObj, value)
{
	for (var i=0; i<listObj.options.length; i++)
	{
		if (listObj.options[i].value == value)
		{
			listObj.options[i].selected = true;
			break;
		}
	}
	listObj.blur();
}

// gets form radio checked value
function get_radio_value(radioObj)
{
	if (typeof(radioObj) == 'object')
	{
		var radioLength = radioObj.length;
		if (typeof(radioLength) == 'undefined') 
		{
			if (radioObj.checked)
				return radioObj.value;
		}
		else
		{
			for (var i = 0; i < radioLength; i++) 
			{
				if (radioObj[i].checked)
				{
					return radioObj[i].value;
				}
			}
		}
	}
	return false;
}


// clears background coloring of specified element
function trClear(element)
{
	if (element.className == 'oh')
		element.className = 'o';
	else if (element.className == 'eh')
		element.className = 'e';
	else if (element.className == 'rh')
		element.className = 'r';
}
// clears background coloring all rows of specified table
function trClearTable(table)
{
	var i = 0;
	while ( (tr = table.getElementsByTagName('TR')[i++]) )
	{
		trClear(tr);
	};
}
function trClearTableById(id)
{
	var table = document.getElementById(id);
	if (table)
	{
		trClearTable(table);
	}
}
// sets background coloring of specified element
function trSet(element)
{
	if (element.className == 'o')
		element.className = 'oh';
	else if (element.className == 'e')
		element.className = 'eh';
	else if (element.className == 'r')
		element.className = 'rh';
}
// toggles background coloring of specified element
function trToggle(element)
{
	if (element.className == 'oh' || element.className == 'eh' || element.className == 'rh')
		trClear(element);
	else
		trSet(element);
}

// search functions used by paging system
function search_hits(n)
{
	var form = document.searchForm;
	if (form)
	{
		form.p.value = 0;
		form.hpp.value = n;
		form.submit();
	}
	return false;
}
function search_page(n)
{
	var form = document.searchForm;
	if (form)
	{
		form.p.value = n;
		form.submit();
	}
	return false;
}
function search_progress(n,m)
{
	if (document.getElementById)
	{
		var obj = document.getElementById('imgProgressBar');
	}
	else if (document.all)
	{
		var obj = document.all['imgProgressBar'];
	}
	if (typeof(obj) != "undefined")
	{
		obj.width = Math.round(parseInt(m) * parseInt(n) / 100);
	}
}

