По-моему то, что нужно:
<html>
<script>
function clc(){
var el=document.getElementById("area");
el.focus();
if (el.selectionStart==null){
var rng=document.selection.createRange();
rng.text="<b>"+rng.text+"</b>"
}
else{
el.value=el.value.substring(0,el.selectionStart)+
"<b>"+
el.value.substring(el.selectionStart,el.selectionEnd)+
"</b>"+
el.value.substring(el.selectionEnd);
}
}
</script>
<body>
<textarea id="area" rows="20" cols="100">
text text text
</textarea>
<br />
<button onclick="clc()">Click</button>
</body>
</html>