// Функция, выделяющая все чекбоксы в админке
function checkAll(f) {
	var len = f.elements.length;
	for(var i = 0; i < len; i ++) {
		f.elements[i].checked = true;
	}
}

// Функция, убирающая все чекбоксы в админке
function clearAll(f) {
	var len = f.elements.length;
	for(var i = 0; i < len; i ++) {
		f.elements[i].checked = false;
	}
}	

// Функция, которая вешается на самый нижний чекбокс;
function pressCheck(f, th)
{
	if (th.checked) {
		checkAll(f);
	} else {
		clearAll(f);
	}
}

// Функция, которая берет выделенный фрагмент мышью (в админке в работе с текстом);
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 ConfirmDel(name) {
	if(confirm("Точно удалить?")) {
		name.action+="del";
		name.submit();
	}
}

// Функция, которая подтверждает перемещение в админке;
function ConfirmRem(name) {
	if(confirm("Точно переместить?")) {
		name.action+="rem";
		name.submit();
	}
}

// Функция, которая вставляет файл;
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;
}

// Функция, которая открывает новое окно с заданными параметрами;
function BigPic(pic, w, h, name) {
	var winPic = open("/application/tech/pic.php?pic=" + pic + "&name=" + name + "&rand=" + Math.random(), "_blank", "toolbar=no,location=no,directoties=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=" + w + ",height=" + h);
}

// Функция, которая открывает окно с fckeditor'ом;
function openFCKeditor(form, edit_id, name, ident_files) 
{
	form.elements[name].disabled = true;
	$("refresh_textarea").style.visibility = "visible";
	var winFCKeditor = window.open("/admin/fckeditor.php?id=" + edit_id + "&ident_files=" + ident_files, "", "width=800, height=600, status=no");
	winFCKeditor.focus()
}

// Функция, которая обновляет текст, при закрытии fckeditor'а;
function refreshTextarea(form, edit_id, name, ident_files) 
{
	new Ajax.Request('/admin/getcontent.php?id=' + edit_id + "&ident_files=" + ident_files + "&rand=" + Math.random(),
    {
    	method: 'get',
        onSuccess: function(transport){
        	var response = transport.responseText;
            if (response) {
            	form.elements[name].value = response;
            	form.elements[name].disabled = false;
            } 
        },
        onFailure: function(){ alert('Something went wrong...') }
	});
}

function addB(id) {
	add_simple('b', id);
}

function addI(id) {
	add_simple('ii', id);
}

function addU(id) {
	add_simple('u', id);
}

function addL(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 addC(id) {
	sel=get_selection(id);
	if (sel=="")  { 
		alert("Выделите текст для ссылки мышью.");
	} else {
		c="[cit]"+sel+"[/cit]";
		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 add_simple(tagname, id) {
	sel=get_selection(id);
	if (sel=="") { 
		alert("Выделите текст мышью.");
	} else {
		c="["+tagname+"]"+sel+"[/"+tagname+"]";
		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 addSmile(num, id) {
	d=document.getElementById(id);
	d.focus();
	if (d.createTextRange) {
		d.caretPos=document.selection.createRange().duplicate(); 
		d.caretPos.text="[sm" + num + "]";
	} else {
		startPos_  = d.selectionStart;
        endPos_	  = d.selectionEnd;
		d.value = d.value.substring(0, startPos_) + "[sm" + num + "]" + d.value.substring(endPos_, d.value.length);
	}	
}