// Change CSS class for an element
function change_css(element_id, class_name)
{
	document.getElementById(element_id).className = class_name;
}

// Toggles visibility for a page element
function show_hide_elem(element_name)
{
	if (document.getElementById(element_name))
	{
		new_style = (document.getElementById(element_name).style.display == "none") ? "block" : "none";
		document.getElementById(element_name).style.display = new_style;
	}
}

// Hides a page element
function hide_elem(element_name)
{
	if (document.getElementById(element_name))
	{
		document.getElementById(element_name).style.display = 'none';
	}
}

// Shows a page element
function show_elem(element_name)
{
	if (document.getElementById(element_name))
	{
		document.getElementById(element_name).style.display = 'block';
	}
}

// Replace all occurences of one substring with a given substring
function string_replace_all(str, from, to)
{
	pos = str.indexOf(from);
	while (pos != -1)
	{
		str = str.replace(from, to);
		pos = str.indexOf(from);
	}
	return str;
}

// Creates a XMLHttp object
function GetXmlHttpObject(handler)
{ 
	var objXMLHttp = null;
	if (window.XMLHttpRequest)
	{
		objXMLHttp = new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return objXMLHttp;
}
