
		if (document.createElementNS && window.DOMParser) document.createElement = function(elName) {
			document.createElementNS("http://www.w3.org/1999/xhtml", elName); }

		var savedhighlighttagid = '';

		var W3CDOM = (document.createElement && document.getElementsByTagName && document.getElementById);

		function trim (text) {
			text = text.replace(/^\s*|\s*$/g,"");
			return text;
		}

		function highlight(tagid) {
			if (!W3CDOM) return;
			var listid = tagid.substring(3);
			document.getElementById('list' + listid).className = 'activelist';
		}

		function savehighlight(tagid) {
			if (!W3CDOM) return;
			var listid = tagid.substring(3);
			if (document.getElementById('list' + savedhighlighttagid)) {
				document.getElementById('list' + savedhighlighttagid).className = 'inactivelist';
			}
			if (savedhighlighttagid == listid) {
				savedhighlighttagid = '';
				document.getElementById('list' + listid).className = 'activelist';
			} else {
				savedhighlighttagid = listid;
				document.getElementById('list' + listid).className = 'savedactivelist';
			}
		}

		function dehighlight(tagid) {
			if (!W3CDOM) return;
			var listid = tagid.substring(3);
			if (savedhighlighttagid == listid) {
				document.getElementById('list' + listid).className = 'savedactivelist';
			} else {
				document.getElementById('list' + listid).className = 'inactivelist';
			}
		}