	function StringBuffer() {
		this.__string__ = new Array();
	}

	StringBuffer.prototype.append = function(str) {
		this.__string__.push(str);
		//this.__string__[this.__string__.length] = str;
	};

	StringBuffer.prototype.toString = function() {
		return this.__string__.join("");
	};
	
	function $(id, frm) {
		var	oTarget = (frm == undefined) ? document:frm.document;
		return oTarget.getElementById(id);
	}
	
	var ListUtil = new Object();
	
	ListUtil.add = function(oListBox, sName, sValue, bSelected, frm) {
		var	oTarget = (frm == undefined) ? document:frm.document;
		
		var oOption = oTarget.createElement("option");
		oOption.appendChild(oTarget.createTextNode(sName));
		
		if (sValue != undefined) {
			oOption.setAttribute("value", sValue);
		}
		
		if (bSelected != undefined && bSelected) {
			oOption.setAttribute("selected", "selected");
		}
		
		oListBox.appendChild(oOption);
	};
	
	ListUtil.remove = function (oListBox, iIndex) {
		oListBox.remove(iIndex);
	};
	
	ListUtil.clear = function (oListBox) {
		for (var i=oListBox.options.length -1; i >= 0; i--) {
			ListUtil.remove(i);
		}
	};