
// Функция, которая берет выделенный фрагмент мышью (в админке в работе с текстом);
var startPos;
var endPos;

function get_selection(id) {
	var selection;
	var elem = document.getElementById(id);
	if(elem.selectionStart || elem.selectionStart == '0'){
    	startPos  = elem.selectionStart;
        endPos	  = elem.selectionEnd;
        selection = elem.value.substring(startPos,endPos);
    } else if (document.selection && document.selection.createRange) {
   		selection = document.selection.createRange().text;
   	} 	
	return selection;
}

// Функция, которая добавляет открывающий и закрывающий теги к выделенному тексту;
function addUBB(tagname, id, tagname_close) {
	sel=get_selection(id);
	if (sel=="") { 
		alert("Выделите текст мышью.");
	} else {
		c=tagname+sel+tagname_close;
		d=document.getElementById(id);
		if (d.createTextRange) {
			d.caretPos=document.selection.createRange().duplicate(); 
			d.caretPos.text=c;
		} else {
			d.value = d.value.substring(0, startPos) + c + d.value.substring(endPos, d.value.length);
		}
	}
	return false;
}

// Функция, которая проставляет стандартные теги < и >;
function addUBBsimple(tagname, id, tagname_close) {
	sel=get_selection(id);
	if (sel=="") { 
		alert("Выделите текст мышью.");
	} else {
		c="<"+tagname+">"+sel+"</"+tagname_close+">";
		d=document.getElementById(id);
		if (d.createTextRange) {
			d.caretPos=document.selection.createRange().duplicate(); 
			d.caretPos.text=c;
		} else {
			d.value = d.value.substring(0, startPos) + c + d.value.substring(endPos, d.value.length);
		}
	}
	return false;
}

// Функция, которая проставляет b;
function addUBBb(id) {
	addUBBsimple('b', id, 'b');
}

// Функция, которая проставляет i;
function addUBBi(id) {
	addUBBsimple('i', id, 'i');
}

// Функция, которая проставляет u;
function addUBBu(id) {
	addUBBsimple('u', id, 'u');
}

// Функция, которая проставляет center;
function addUBBcenter(id) {
	addUBBsimple('center', id, 'center');
}

// Функция, которая проставляет выравнивание вправо;
function addUBBright(id) {
	addUBBsimple('p class=text align=right', id, 'p');
}

// Функция, которая проставляет выравнивание влево;
function addUBBleft(id) {
	addUBBsimple('p class=text align=left', id, 'p');
}

// Функция, которая добавляет list;
function addUBBlist(id) {
	addUBB('[list]\n', id, '\n[/list]');
}

// Функция, которая добавляет numlist;
function addUBBnumlist(id) {
	addUBB('[numlist]\n', id, '\n[/numlist]');
}

// Функция, которая спрашивает про вид списка;
function addUBBchoose_list(id) {
	if (confirm ("Вставить нумерованный список ? Если откажетесь, список будет ненумерованный. ")) addUBBnumlist(id);
	else addUBBlist(id)
}

// Функция, которая вставляет таблицу;
function addUBBtable(id) {
	addUBB('[table]\n', id, '\n[/table]');
}


// Функция, которая вставляет картинку;
function addUBBimg(id) {
	def="http://";
	l=prompt("Укажите ссылку на изображение", def);
	if (!l) return false;
	if ((l==def)||(l=='')) return false;
	a=prompt("Укажите подпись к изображению", "");
	if (a) a='alt="'+a+'"';
	d=document.getElementById(id);
	d.focus();
	if (d.createTextRange) d.caretPos=document.selection.createRange().duplicate(); 
	d.caretPos.text="<img src="+l+" "+a+">";
}

// Функция, которая вставляет ссылку;
function addlink(id) {
	sel=get_selection(id);
	if (sel=="")  { 
		alert("Выделите текст для ссылки мышью.");
	} else {
		def="http://";
		l=prompt("Введите ссылку", def);
		if (!l) return false;
		if ((l==def)||(l=='')) return false;
		if (confirm ("Открывать эту ссылку в новом окне?")) l=l+" target=_blank";
		c="<a href="+l+">"+sel+"</a>";
		d=document.getElementById(id);
		if (d.createTextRange) {
			d.caretPos=document.selection.createRange().duplicate(); 
			d.caretPos.text=c;
		} else {
			d.value = d.value.substring(0, startPos) + c + d.value.substring(endPos, d.value.length);		
		}
	}
	return false;
}



function InsertFile(textareaid, selectedfileid, radioleftid, radiorightid)
{
	var cTextArea = document.getElementById(textareaid);
        cTextArea.focus();
	var SelectedFile = document.getElementById(selectedfileid).value;

	var IsRadioLeft = document.getElementById(radioleftid).checked;
	var IsRadioRight = document.getElementById(radiorightid).checked;
	
	var AlignText = "";
	
	if(IsRadioLeft)
	{
	    AlignText = "align=left";
	}
	if(IsRadioRight)
	{
	    AlignText = "align=right";
	}
    
    
    var TagText;
    TagText = "[file=";
    
    TagText = TagText + SelectedFile;
    if('' != AlignText)
    {
        TagText = TagText + " " + AlignText;
    }
    TagText = TagText + "]";
    
    get_selection(textareaid);
    
	if (cTextArea.createTextRange) 
	{
        cTextArea.caretPos = document.selection.createRange().duplicate(); 
        cTextArea.caretPos.text = TagText;
	}
	else
	{
        cTextArea.value = cTextArea.value.substring(0, startPos) + 
                      TagText +
                      cTextArea.value.substring(startPos, cTextArea.value.length);
	}

    cTextArea.focus();
}


// Функция, которая вставляет файл;
function ins_file(id, xx) {
	var d=document.getElementById(xx);
	d.focus();
	if (id.indexOf("[file]") == -1) {
		var new_txt = "";
		var align2 = document.getElementById("alignL");
		var align3 = document.getElementById("alignR");
		if (align2.checked == true) new_txt = " align=left";
		else if (align3.checked == true) new_txt = " align=right";
		var arr;
		arr = id.split(">");
		id = arr[0] + new_txt + ">";
	}
	if (d.createTextRange) {
		d.caretPos=document.selection.createRange().duplicate();
		d.caretPos.text=id; 
	} else {
		d.value = d.value.substring(0, d.selectionStart) + id + d.value.substring(d.selectionStart, d.value.length);
	}	
	return false;
}


