function replaceText(text,elem) {
	if(elem!=null) {
		var d1;
		try {
			d1=document.getElementById(elem);
		} catch(e) {
			try {
				d1=document.all.item(elem);
			} catch(e) {
			}
		}
		if(d1.hasChildNodes()) {
			clearDiv(elem);
			var d2=document.createElement("<div>");
			var d3=document.createTextNode(unescape(text));
			d2.appendChild(d3);
			d1.appendChild(d2);
		}
	}
}

function clearDiv(d) {
	d1=document.getElementById(d);
	while(d1.hasChildNodes()) {
		d1.removeChild(d1.firstChild);
	}
}

function clearText(elem) {
	if(elem!=null) {
		clearDiv(elem);
	}
}

function getText(elem) {
	var text="";
	if(elem!=null) {
		if(elem.childNodes) {
			for(var i=0; i<elem.childNodes.length; i++) {
				var childNode=elem.childNodes[i];
				text+=childNode.nodeValue;
			}
		}
	}
	return text;
}

function insertAtCursor(field, newtext) {
  //IE support
  if (document.selection) {
    field.focus();
    sel = document.selection.createRange();
    sel.text = newtext;
  }
  //MOZILLA/NETSCAPE support
  else if (field.selectionStart || field.selectionStart == '0') {
    var startPos = field.selectionStart;
    var endPos = field.selectionEnd;
    field.value = field.value.substring(0, startPos)
                  + newtext
                  + field.value.substring(endPos, field.value.length);
  } else {
    field.value += newtext;
  }
}
