// Вывод текста
function echo(text)
{
	document.write(text);
}

// Вывод текста с переводом строки
function echoln(text)
{
	document.writeln(text);
}

// Объект документа по имени
function $(i, doc)
{
	if (doc == null)
		doc = document;
	if (doc.getElementById)
		return doc.getElementById(i);
	if (doc.all)
		return doc.all(i);
	if (doc.layers)
		return doc.layers(i);
}

// Подключить css
function use_css(url)
{
	echo('<link rel="stylesheet" type="text/css" href="' + url + '">');
}

// Подключить скрипт
function use_script(url)
{
	echo('<script language="JavaScript" type="text/javascript" src="' + url + '"></script>');
}

// Назад
function go_back()
{
	history.go(-1);
}

// Перейти по ссылке
function redirect(url)
{
	window.location = url;
}

// Открыть блок
function menu_open(id)
{
	$(id).style.display = "block"; 
}

function menu_close(id)
{
	$(id).style.display = "none";
}

function menu_swap(id)
{
	if (($(id).style.display == "") || ($(id).style.display == "none"))
	{
		menu_open(id);
	}
	else
	{
		menu_close(id);
	}
}

// Обработчик меню для IE
admin_menu_hover = function()
{
	var lis = $("admin_menu")
	if (lis == null)
		return;
	lis = lis.getElementsByTagName("LI");
	for (var i=0; i<lis.length; i++) {
		lis[i].onmouseover=function() {
			this.className+=" iehover";
		}
		lis[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" iehover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", admin_menu_hover);

// Коррекция альфа-канала PNG в IE
function fix_png(element)
{
	if (/MSIE (5|6)/.test(navigator.userAgent))
	{
		var src;

		if (element.tagName=='IMG')
		{
			if (/\.png$/.test(element.src))
			{
				src = element.src;
				element.src = "/x.gif";
			}
			
			if (src)
			{
				element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='image')";
			}
		}
		else
		{
			src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i)
			if (src)
			{
				src = src[1];
				element.runtimeStyle.backgroundImage="none";
			}
			if (src)
				element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
		}
		
	}
}

String.prototype.starts = function(item)
{
	return this.substr(0, item.length) === item;
};


function admin_set_checkboxes(form, name, checked)
{
		for (var i=0; i < form.length; i++)
			if (form[i].name.starts(name))
				form[i].checked = checked;
}

function ui_detail_window(url, width, height, scroll, resizable)
{
	if (scroll == null)
		scroll = 0;
	if (resizable == null)
		resizable = 0;
	w = width;
	h = height;
	var x, y, w, h;
	x = Math.round((screen.availWidth - w) / 2);
	y = Math.round((screen.availHeight - h) / 2);
	var param = 'toolbar=0,status=0,scrollbars=' + scroll + ',resizable=' + resizable +
		',left=' + x.toString() + 
		',top=' + y.toString() +
		',width=' + w.toString() + 
		',height=' + h.toString();
	wnd=open(url, 'detail' + Math.round(Math.random() * 4000000000), param);
	wnd.focus();
	return wnd;
}


function insert_text(area, text)
{
	area.focus();
	// IE
	if(typeof document.selection != 'undefined')
	{
		var range = area.document.selection.createRange();
		var sel = range.text;
		range.text = text;
		range = area.document.selection.createRange();
		range.select();
	}
	// Mozilla
	else if(typeof area.selectionStart != 'undefined')
	{
		var scroll = area.scrollTop;
		var start = area.selectionStart;
		var end = area.selectionEnd;
		var before = area.value.substring(0, start);
		var sel = area.value.substring(start, end);
		var after = area.value.substring(end, area.textLength);
		area.value = before + text + after;
		var caret = sel.length == 0 ? start + text.length : start + text.length + sel.length;
		area.selectionStart = caret;
		area.selectionEnd = caret;
		area.scrollTop = scroll;
	}
}

function insert_tags(area, tag1, tag2, attr)
{
	if (!attr)
		attr = '';
	area.focus();
	// IE
	if(typeof document.selection != 'undefined')
	{
		var range = document.selection.createRange();
		var sel = range.text;
		range.text = tag2 ? "[" + tag1 + attr + "]" + sel + "[/" + tag2 + "]" : ":" + tag1 + ":";
		range = document.selection.createRange();
		if (tag2 && !sel.length)
			range.move('character', -tag2.length - 3);
		else if(tag2)
			range.move('character', tag1.length + 2 + attr.length + sel.length + tag2.length + 3);
		range.select();
	}
	// Mozilla
	else if(typeof area.selectionStart != 'undefined')
	{
		var scroll = area.scrollTop;
		var start = area.selectionStart;
		var end = area.selectionEnd;
		var before = area.value.substring(0, start);
		var sel = area.value.substring(start, end);
		var after = area.value.substring(end, area.textLength);
		area.value = tag2 ? before + "[" + tag1 + attr + "]" + sel + "[/" + tag2 + "]" + after : before + ":" + tag1 + ":" + after;
		var caret = sel.length == 0 ? start + tag1.length + 2 + attr.length : start + tag1.length + 2 + attr.length + sel.length + tag2.length + 3;
		area.selectionStart = caret;
		area.selectionEnd = caret;
		area.scrollTop = scroll;
	}
}

function bb_insert_url(area)
{
	var enterURL = prompt('Введите ссылку', 'http://');
	if (!enterURL)
		return;
	var enterTITLE = prompt('Введите текст ссылки', 'Ссылка');
	if (enterTITLE)
		insert_text(area, '[url=' + enterURL + ']' + enterTITLE + '[/url]');
	else
		insert_text(area, enterURL);
}

function bb_insert_img(area)
{
	var enterURL = prompt('Введите путь к картинке', '/res/');
	if (!enterURL)
		return;
	var enterTITLE = prompt('Введите альтернативный текст', '');
	if (enterTITLE)
		insert_text(area, '[img alt="' + enterTITLE + '"]' + enterURL + '[/img]');
	else
		insert_text(area, '[img]' + enterURL + '[/img]');
}

function bb_insert_list(area, type)
{
	var listvalue = "init";
	var thelist   = "";
	
	opentag = ( type == 'ordered' ) ? '[list=1]' : '[list]';
	
	while ( (listvalue != "") && (listvalue != null) )
	{
		listvalue = prompt('Введите пункт списка. Для завершения списка, нажмите «отмена» или оставьте очередное поле пустым', '');
		
		if ( (listvalue != "") && (listvalue != null) )
		{
			thelist = thelist+"[*]"+listvalue+"\n";
		}
	}
	
	if (thelist != "")
	{
		insert_text(area, opentag + "\n" + thelist + "[/list]\n");
	}
}

function bb_bar(area, page_id, sub_id, block)
{
	if (page_id == null)
		page_id = 0;
	if (sub_id == null)
		sub_id = 0;
	if (block == null)
		block = '';
	echo
	(
		'<a title="Заголовок" ' +
		'onfocus=$(\'' + area + '\').focus() ' +
		'onclick="insert_tags($(\'' + area + '\'), \'h2\', \'h2\');return false;" class="bb_bar_btn" style="background-image:url(/ui/bb/h.gif)" href="."></a>' +

		'<span class="bb_bar_splitter"></span>' +

		'<a title="Жирный" ' +
		'onfocus=$(\'' + area + '\').focus() ' +
		'onclick="insert_tags($(\'' + area + '\'), \'b\', \'b\');return false;" class="bb_bar_btn" style="background-image:url(/ui/bb/bold.gif)" href="."></a>' +

		'<a title="Наклонный" ' +
		'onfocus=$(\'' + area + '\').focus() ' +
		'onclick="insert_tags($(\'' + area + '\'), \'i\', \'i\');return false;" class="bb_bar_btn" style="background-image:url(/ui/bb/italic.gif)" href="."></a>' +

		'<a title="Подчеркнутый" ' +
		'onfocus=$(\'' + area + '\').focus() ' +
		'onclick="insert_tags($(\'' + area + '\'), \'u\', \'u\');return false;" class="bb_bar_btn" style="background-image:url(/ui/bb/underline.gif)" href="."></a>' +

		'<a title="Перечеркнутый" ' +
		'onfocus=$(\'' + area + '\').focus() ' +
		'onclick="insert_tags($(\'' + area + '\'), \'s\', \'s\');return false;" class="bb_bar_btn" style="background-image:url(/ui/bb/strike.gif)" href="."></a>' +

		'<a title="Тире" ' +
		'onfocus=$(\'' + area + '\').focus() ' +
		'onclick="insert_text($(\'' + area + '\'), \'—\');return false;" class="bb_bar_btn" style="background-image:url(/ui/bb/dash.gif)" href="."></a>' +

		(page_id ?
		'<span class="bb_bar_splitter"></span>' +
		'<a title="Картинка" ' +
		'onfocus=$(\'' + area + '\').focus() ' +
		'onclick="ui_detail_window(\'/admin/pic/' + page_id + '/' + sub_id + '/' + block + '/' + area + '/\', 640, 480, 1, 1);return false;" class="bb_bar_btn" style="background-image:url(/ui/bb/pic.gif)" href="."></a>'
		: ''
		) +
/*
		'<a title="Внешняя картинка" ' +
		'onfocus=$(\'' + area + '\').focus() ' +
		'onclick="bb_insert_img($(\'' + area + '\'));return false;" class="bb_bar_btn" style="background-image:url(/ui/bb/image.gif)" href="."></a>' +
*/
		'<span class="bb_bar_splitter"></span>' +

		'<a title="Ссылка" ' +
		'onfocus=$(\'' + area + '\').focus() ' +
		'onclick="bb_insert_url($(\'' + area + '\'));return false;" class="bb_bar_btn" style="background-image:url(/ui/bb/url.gif)" href="."></a>' +


		'<span class="bb_bar_splitter"></span>' +

		'<a title="По левому краю" ' +
		'onfocus=$(\'' + area + '\').focus() ' +
		'onclick="insert_tags($(\'' + area + '\'), \'align\', \'align\', \'=left\');return false;" class="bb_bar_btn" style="background-image:url(/ui/bb/align_left.gif)" href="."></a>' +

		'<a title="По центру" ' +
		'onfocus=$(\'' + area + '\').focus() ' +
		'onclick="insert_tags($(\'' + area + '\'), \'align\', \'align\', \'=center\');return false;" class="bb_bar_btn" style="background-image:url(/ui/bb/align_center.gif)" href="."></a>' +

		'<a title="По правому краю" ' +
		'onfocus=$(\'' + area + '\').focus() ' +
		'onclick="insert_tags($(\'' + area + '\'), \'align\', \'align\', \'=right\');return false;" class="bb_bar_btn" style="background-image:url(/ui/bb/align_right.gif)" href="."></a>' +


		'<span class="bb_bar_splitter"></span>' +

		'<a title="Блок по левому краю" ' +
		'onfocus=$(\'' + area + '\').focus() ' +
		'onclick="insert_tags($(\'' + area + '\'), \'float\', \'float\', \'=left\');return false;" class="bb_bar_btn" style="background-image:url(/ui/bb/float_left.gif)" href="."></a>' +

		'<a title="Блок по правому краю" ' +
		'onfocus=$(\'' + area + '\').focus() ' +
		'onclick="insert_tags($(\'' + area + '\'), \'float\', \'float\', \'=right\');return false;" class="bb_bar_btn" style="background-image:url(/ui/bb/float_right.gif)" href="."></a>' +


		'<span class="bb_bar_splitter"></span>' +

		'<a title="Список" ' +
		'onfocus=$(\'' + area + '\').focus() ' +
		'onclick="bb_insert_list($(\'' + area + '\'), \'\');return false;" class="bb_bar_btn" style="background-image:url(/ui/bb/list.gif)" href="."></a>' +

		'<a title="Нумерованный список" ' +
		'onfocus=$(\'' + area + '\').focus() ' +
		'onclick="bb_insert_list($(\'' + area + '\'), \'ordered\');return false;" class="bb_bar_btn" style="background-image:url(/ui/bb/numbered_list.gif)" href="."></a>' +
		
		'<div style="clear:both"></div>'
	)
}

function b_edit()
{
	echo('<img title="Изменить" src="/ui/btn/edit.gif">');
}

function b_new()
{
	echo('<img title="Добавить" src="/ui/btn/new.gif">');
}

function b_delete()
{
	echo('<img title="Удалить" src="/ui/btn/delete.gif">');
}

function b_browse()
{
	echo('<img title="Просмотр" src="/ui/btn/browse.gif">');
}

function b_up()
{
	echo('<img title="Выше" src="/ui/btn/up.gif">');
}

function b_down()
{
	echo('<img title="Ниже" src="/ui/btn/down.gif">');
}

function b_cut()
{
	echo('<img title="Вырезать" src="/ui/btn/cut.gif">');
}

function b_copy()
{
	echo('<img title="Копировать" src="/ui/btn/copy.gif">');
}

function b_paste()
{
	echo('<img title="Вставить" src="/ui/btn/paste.gif">');
}

function b_folder()
{
	echo('<img title="Папка" src="/ui/btn/folder.gif">');
}

function b_item()
{
	echo('<img title="Элемент" src="/ui/btn/item.gif">');
}

function b_folder_new()
{
	echo('<img title="Добавить папку" src="/ui/btn/folder_new.gif">');
}

function b_active()
{
	echo('<img title="Активно" src="/ui/btn/active.gif">');
}

function b_inactive()
{
	echo('<img title="Неактивно" src="/ui/btn/inactive.gif">');
}

function b_apply()
{
	echo('<img title="Применить" src="/ui/btn/apply.gif">');
}

function b_textfield()
{
	echo('<img title="Текстовые поля" src="/ui/btn/textfield.gif">');
}

function pic_frame_start()
{
	echo('<table><tr><td style="padding:1px;border:#b7b7b7 1px solid">');
}

function pic_frame_end()
{
	echo('</td></tr></table>');
}

function antispam_error()
{
	echo('<div class="error">Сработала защита от спама! Вы ввели неправильный код.</div><br>');
}

function antispam_block_title()
{
	echo('<span title="Введите код, указанный на рисунке">Защита от спама</span>');
}

function antispam_block_input()
{
	echo('<span title="Введите код, указанный на рисунке"><input type="text" id="antispam" name="antispam" class="text" value="" style="width:60px" /></span>');
}

function antispam_block_pic()
{
	echo('<span title="Введите код, указанный на рисунке"><img src="/antispam.php"></span>');
}

function antispam_block()
{
	echo('<table class="ui_form_title" title="Введите код, указанный на рисунке"><tr><td style="vertical-align:middle">Защита от спама:</td><td style="vertical-align:middle;padding:0px 8px 0px 8px"><img src="/antispam.php"></td><td style="vertical-align:middle"><input type="text" id="antispam" name="antispam" class="admin_textbox" value="" style="width:60px" /></td></tr></table>');
}

function admin_panel_start()
{
	echo(
		'<table class="admin_panel">' +
		'<tr>' +
		'<td class="admin_panel_left" nowrap></td>' +
		'<td class="admin_panel_content">'
		);
}

function admin_panel_end()
{
	echo(
		'</td>' +
		'<td class="admin_panel_right" nowrap></td>' +
		'</tr>' +
		'</table>'
		);
}
