<input type=button value=test onclick="appendTextToObj(document.all.a,'b')"> 
<textarea name=a style="width:400;height:200;"      
 onbeforedeactivate="this.setAttribute('lastRange',document.selection.createRange());" rows="1" cols="20" > </textarea>   
</body> </html> 
<script> 
function appendTextToObj(obj,str){ 
var tempRange=obj.getAttribute('lastRange'); 
if(tempRange==null) { 
tempRange=obj.createTextRange(); 
tempRange.moveStart("character",obj.value.length); 

l = tempRange.text.match(/\n/g).length
e = 3+str.length
s = tempRange.text.length -l;
tempRange.text="["+str+"]"+tempRange.text+"[\/"+str+"]"; 
tempRange.moveEnd("character",-e); 
tempRange.moveStart("character",-s); 
tempRange.select(); 
obj.focus(); 

</script>