﻿function SimpleTag(t, tag) {
	var ta = TextareaGet(t);
	var mid = SelectionGet(ta);
	if (mid == '')
		TextPaste(ta, '['+tag+'][/'+tag+']', ta.selectionStart + tag.length + 2);
	else
		TextPaste(ta, '['+tag+']' + mid + '[/'+tag+']');
}
function ListTag(t, type) {
	var ta = TextareaGet(t);
	var mid = SelectionGet(ta);
	var listHtml;
	if (mid == '')
		listHtml = cr+'[list='+type+']'+cr+'\t[*]Текст 1'+cr+'\t[*]Текст 2'+cr+'\t[*]Текст 3'+cr+'[/list]'+cr;
	else {
		var a = mid.split(cr);
		listHtml = cr+'[list='+type+']';
		for (var i = 0; i < a.length; ++i)
			if (a[i] != '')
				listHtml += cr+'\t[*]'+a[i];
		listHtml += cr+'[/list]'+cr;
	}
	TextPaste(ta, listHtml);
}
function TextInsert(t, txt) {
	var ta = TextareaGet(t);
	TextPaste(ta, txt);
}
function TextareaGet(el) {
	return el.parentNode.parentNode.parentNode.parentNode.getElementsByTagName('textarea')[0];
}
function SelectionGet(el) {
	return el.value.substring(el.selectionStart, el.selectionEnd);
}
function TextPaste(el, text, cpos) {
	el.focus();
	var ss = el.selectionStart;
	var st = el.scrollTop;
	var start = el.value.substring(0, el.selectionStart);
	var end = el.value.substring(el.selectionEnd, el.textLength);
	el.value = start + text + end;
	if (!cpos)
		cpos = ss + text.length;
	el.setSelectionRange(cpos, cpos);
	el.scrollTop = st;
}
function KeyPressFilter(t, e) {
	if (e.keyCode == 9 && !e.shiftKey) {
		TextPaste(t, '\t');
		if (op)
			t.onblur = function() { t.focus(); t.onblur = null; };
		else
			e.preventDefault();
	}
}
function KeyDownFilter() {}