function bbaction(sender, cmd) {
	var name = sender.parentNode.id.replace('bbcontrols_', '') 
	var form = sender.form
	var obj = form[name] 
	if (! obj) return
	obj.focus()
	if (document.selection) {
		var rng = document.selection.createRange().duplicate()
		rng.text = bbaction_do(rng.text, cmd)
	} else if (typeof(obj.selectionStart)=="number") { 
		var text = obj.value.substring(obj.selectionStart, obj.selectionEnd)
		var is_sel = text.length ? true : false 
		var ss = obj.selectionStart
		var st = obj.scrollTop
		text = bbaction_do(text, cmd)
		var t1 = obj.value.substring(0, obj.selectionStart)
		var t2 = obj.value.substring(obj.selectionEnd, obj.value.length)
		obj.value = t1 + text + t2

		if(is_sel) {
			obj.selectionStart = ss
			obj.selectionEnd = ss + text.length
		} else {
			obj.selectionStart = ss
			obj.selectionEnd = ss
		}
		obj.scrollTop = st
	} 
	obj.focus()
} 

function bbaction_do(text, cmd) {
	if (cmd == 'b') return '[b]' + text + '[/b]'
	if (cmd == 'u') return '[u]' + text + '[/u]'
	if (cmd == 'i') return '[i]' + text + '[/i]'
	if (cmd == 'left') return '[left]' + text + '[/left]'
	if (cmd == 'right') return '[right]' + text + '[/right]'
	if (cmd == 'center') return '[center]' + text + '[/center]'
	if (cmd == 'img') {
		if (! text) text = window.prompt(_('Введите адрес картинки'), 'http://')
		return '[img]' + text + '[/img]'
	}
	if (cmd == 'link') {
		href = window.prompt(_('Введите адрес ссылки'), 'http://')
		if (! href) return text 
		text = text || href
		return '[link href="' + href + '"]' + text + '[/link]'
	}
	if (cmd == 'clear') {
		var re = new RegExp('\\[.+?\\]', 'g')
		return text.replace(re, '')
	}
	return text
}
