function appendLayer(id, width, height, parentLayer) {
	var w = (width == null ? 0 : width);
	var h = (height == null ? 0 : height);
	
	if ((typeof document.all) != "undefined") { // IE
		var layerHtml = "<div id=" + id + " style='position:absolute;overflow:hidden;left:0;top:0;width:" + w + ";height:" + h + "'></div>";

		if (parentLayer == null || parentLayer == document) 
			document.body.insertAdjacentHTML("beforeEnd", layerHtml);
		else 
			parentLayer.insertAdjacentHTML("beforeEnd", layerHtml);

		var element = getObject(id);
	}
	else if ((typeof document.layers) != "undefined") { // NS
		if (parentLayer == null || parentLayer == document) {
			var element = new Layer(w);
			eval("document."+id+"=element");
		}
		else {
			var element = new Layer(w, parentLayer);
			eval("parentLayer.document."+id+"=element");
		}
		element.visibility = "inherit";
	}
	else {
		var element = document.createElement("DIV");
		element.id = id;
		element.style.position = "absolute";
		element.style.left = "0px";
		element.style.top = "0px";
		element.style.width = w + "px";
		element.style.overflow = "hidden";

		if (parentLayer == null || parentLayer == this) 
			document.body.appendChild(element);
		else
			parentLayer.appendChild(element);
	}

	return element;
}

function getObject(/*a list of IDs*/) {
	if (arguments.length == 0) 
		return null;

	if ((typeof document.all) != "undefined") // IE
		return document.all[arguments[arguments.length-1]];
	else if ((typeof document.layers) != "undefined") { // NS
		var refString = "document." + arguments[0];
		for (var i=1; i < arguments.length; i++) {
			refString += ".document." + arguments[i];
		}
		var element = eval(refString);
		return element;
	}
	else 
		return document.getElementById(arguments[arguments.length-1]);
}

function getForms(layer) {
	if ((typeof document.layers) != "undefined") { // NS4
		if (layer != null)
			return layer.document.forms;
		else 
			return document.forms;
	}
	else 
		return document.forms;
}


function setContent(obj, content) {
	if ((typeof obj.innerHTML) == "undefined") { // NS4
		obj.document.open("text/html", "replace");
		obj.document.write(content);
		obj.document.close();
	}
	else 		
		obj.innerHTML = content;
}

function setClassContent(obj, cntClass, content) {
	var s = '<font class=' + cntClass + '>' + content + '</font>';
	setContent(obj, s);
}

function getVisibility(obj) {
	if ((typeof document.layers) != "undefined") { // NS4
		if (obj.visibility == "show")
			return "visible";
		else if (obj.visibility == "hide")
			return "hidden";
		else 
			return obj.visibility;
	}
	else
		return obj.style.visibility;
}

function setVisibility(obj, visibility) {
	if ((typeof document.layers) != "undefined") { // NS4
		if (visibility == "visible")
			obj.visibility = "show";
		else if (visibility == "hidden")
			obj.visibility = "hide";
		else 			
			obj.visibility = visibility;
	}
	else
		obj.style.visibility = visibility;
}







function trimLeft(s) {
	var k = s.length;
	for (var i=0; i < s.length; i++) {
		if (s.charAt(i) != ' ') {
			k = i;
			break;
		}
	}
	
	if (k == s.length)
		return "";
	else 		
		return s.substring(k, s.length);
}

function trimRight(s) {
	var k = -1;
	for (var i=s.length-1; i >= 0; i--) {
		if (s.charAt(i) != ' ') {
			k = i;
			break;
		}
	}
	
	if (k == -1)
		return "";
	else
		return s.substring(0, k+1);
}

function trimSpace(s) {
	var s1 = trimLeft(s);
	return trimRight(s1);
}

function ShowMessage(msg) {
	alert(msg);
}



