function ltrim(s) {
	return s.replace(/\s*((\S+\s*)*)/, "$1");
}

function rtrim(s) {
	return s.replace(/((\s*\S+)*)\s*/, "$1");
}

function trim(s) {
	return ltrim(rtrim(s));
}

function setDisplay(id, value) {
	document.getElementById(id).style.display = value;
}

function addSelectOption(id, text, value, onclick)
{
	var option = document.createElement("option");
	option.text = text;
	option.value = value;
	var attr = document.createAttribute("onClick");
	attr.value = onclick;
	option.setAttributeNode(attr);
	var selectElement = document.getElementById(id);

	// IE, as always, doesn't agree with the standards. Thus, we first try adding the element
	// in the correct way. If it fails, let's do it IE-style.
	try {
		selectElement.add(option, null);
	}
	catch(ex) {
		selectElement.add(option);
	}
}

function deleteSelectOptions(id) {
	var selectElement = document.getElementById(id);
	var selectLength = selectElement.length;

	for (var i = selectLength; i >= 0; i--) {
		selectElement.remove(i);
	}
}
