/* тип браузера */
var browserOpera = navigator.userAgent.indexOf("Opera") > -1 || window.opera;
var browserMSIE = navigator.userAgent.indexOf("MSIE") > -1;
var browserGecko = navigator.userAgent.indexOf("Gecko") > -1 || window.sidebar;

/* предзагрузка изображений */

var imagesFolder = "/images";
var filesSrc = new Array(
);
var filesImg = new Array();
for (var i = 0; i < filesSrc.length; i++) {
	filesImg[i] = new Image();
	filesImg[i].src = imagesFolder + "/" + filesSrc[i];
}

/* общие функции */

function setCookie(name, value)
{
	document.cookie = name + "=" + escape(value) + "; path=/;";
}

function pageTrigger(name, value, freeze)
{
	setCookie(name, value);
	if (!freeze)
		location.reload(true);
}

function confirmDelete()
{
	var result = prompt("Производится операция удаления.\nЧтобы продолжить, введите слово \"delete\".", "");
	if (result != "delete") {
		if (result > "")
			alert("Неверное слово! Нужно: \"delete\" (без кавычек).");
	} else
		return true;
	return false;
}

function sendEmail(before, after)
{
	location = "mailto:" + before + "@" + after;
}

/* формы */

function formCheckRequired(obj, required, re, format, obj_other)
{
	var testRE = new RegExp(re ? re : "[^\s\t]", "i"), testValue;
	if (obj.length)
		for (i = 0; i < obj.length; i++)
			if (obj[i].checked) {
				testValue = 1;
				break;
			}
	testValue = testValue || (obj.value ? obj.value : (obj_other ? obj_other.value : ''));
	if (testRE.test(testValue) || !testValue && !required)
		return true;
	else {
		alert(testValue ? "Поле заполнено неверно!" + (format ? " Формат:\n" + format : "") : "Заполнены не все обязательные поля!");
		if (obj.length)
			obj[0].focus();
		else if (!obj_other || obj.value || obj_other && obj_other.disabled)
			obj.focus();
		else
			obj_other.focus();
		return false;
	}
}

function formCreateOption(obj, text, value)
{
	if (document.createElement) {
		var newOption = document.createElement("OPTION");
		newOption.text = text;
		newOption.value = value;
		if (obj.options.add)
			obj.options.add(newOption)
		else
			obj.add(newOption, null);
	} else {
		obj.options[obj.options.length] = new Option(text, value, false, false);
	}
}

/* форматирование */

function tagsStoreCaret(textarea)
{ 
	if (textarea.createTextRange)
		textarea.selectedText = document.selection.createRange().duplicate().text; 
	else if (typeof(textarea.selectionStart) == "number")
		textarea.selectedText = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
}

function tagsInsertText(textarea, text)
{
	textarea.focus();
	if (document.selection) {
		var s = document.selection.createRange();
		s.text = text;
		s.select();
	} else if (typeof(textarea.selectionStart) == "number") {
		var start = textarea.selectionStart;
		var end = textarea.selectionEnd;
		textarea.value = textarea.value.substr(0, start) + text + textarea.value.substr(end);
		textarea.setSelectionRange(start + text.length, start + text.length);
	}
	return false;
}

function tagsInsert(tagOpen, tagClose, tagHint)
{
	if (!tagClose && tagClose != '')
		tagClose = tagOpen;
	tagOpen = "[" + tagOpen + "]";
	tagClose = (tagClose != '' ? "[/" + tagClose + "]" : "");
	var textarea = document.getElementById("form_content");
	tagsInsertText(textarea, tagOpen + (tagHint ? tagHint : textarea.selectedText ? textarea.selectedText : "") + tagClose);
	textarea.focus();
}
