function storeCaret (textEl) {
	if (textEl.createTextRange) 
	textEl.caretPos = document.selection.createRange().duplicate();
	}

function insertAtCaret (textEl, text) {
	if (textEl.createTextRange && textEl.caretPos) {
		var caretPos=textEl.caretPos;
		caretPos.text=caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
		textEl.focus();
		}
	else
		textEl.value +=  text;
		textEl.focus();
	}

function bb_border_js(){
	name='content'
	insertAtCaret(document.getElementById(name),"[-]")
	}

function file(id){
	name='content'
	insertAtCaret(document.getElementById(name),"[file="+id+"]")
	}

function preview(id){
	name='content'
	insertAtCaret(document.getElementById(name),"[preview="+id+"]")
	}

function image(id){
	name='content'
	insertAtCaret(document.getElementById(name),"[image="+id+"]")
	}

function quote(id){
	var name="comment"
	var p="cm_"+id;
	text=document.getElementById(p).innerText;
	insertAtCaret(document.getElementById(name),"[q]"+text+"[/q]\n")
}

function insert(str1,str2) {
	var txt_range_obj = document.selection.createRange(); 
	if (txt_range_obj.parentElement().tagName!="TEXTAREA") 
		alert("Выделите участок текста");
	else 
		txt_range_obj.text=str1+txt_range_obj.text+str2;
	}

function q_selection_insert(name) {
	var txt_range_obj = document.selection.createRange();
	var open="[q]";
	var close="[/q]";
	if (txt_range_obj.text == ""){
		alert("Выделите цитируемый участок текста");
	}else{
		if(txt_range_obj.parentElement().tagName == "TEXTAREA"){
			txt_range_obj.text=open + txt_range_obj.text + close;
		}else{
			document.getElementById(name).value+=open + txt_range_obj.text + close;
		}
	}
}

function bb_color(a) {
	var bb_open="[color="+ a +"]";
	var bb_close="[/color]";
	var selection = document.selection.createRange(); 
	if (selection.parentElement().tagName!="TEXTAREA") 
		alert("Выделите участок текста");
	else 
		selection.text=bb_open + selection.text + bb_close;
}

function bb_url() {
	var selection = document.selection.createRange();
	if (selection.parentElement().tagName!="TEXTAREA") 
		alert("Выделите участок текста");
	else 
		url=prompt("Введите полный URL","http://")
		href=selection.text
		var bb_open="[url="+ url +"]";
		var bb_close="[/url]";
		selection.text=bb_open + href + bb_close;
}

function bb_insert(bb) {
	var bb_open="";
	var bb_close="";
	switch (bb) {
		case "b":
			{
			bb_open="[b]";
			bb_close="[/b]";
			}
			break;
		case "u":
			bb_open="[u]";
			bb_close="[/u]";
			break;
		case "i":
			bb_open="[i]";
			bb_close="[/i]";
			break;
		case "s":
			bb_open="[s]";
			bb_close="[/s]";
			break;
		case "q":
			bb_open="[q]";
			bb_close="[/q]";
			break;
		case "left":
			bb_open="[left]";
			bb_close="[/left]";
			break;
		case "right":
			bb_open="[right]";
			bb_close="[/right]";
			break;
		case "center":
			bb_open="[center]";
			bb_close="[/center]";
			break;
		case "justify":
			bb_open="[justify]";
			bb_close="[/justify]";
			break;
	}
	var selection = document.selection.createRange(); 
	if (selection.parentElement().tagName!="TEXTAREA") 
		alert("Выделите участок текста");
	else 
		selection.text=bb_open + selection.text + bb_close;
}

function picture(area,picid){
	insertAtCaret(document.getElementById(area),picid)
}