﻿$(document).ready(function() {

$('.callback a img').hover(function() {
	$('.callback').stop(); $('.callback').animate({right:'0px'}, 400);
}, function() {
	$('.callback').stop(); $('.callback').animate({right:'-149px'}, 400);
});

$('.feedback a img').hover(function() {
	$('.feedback').stop(); $('.feedback').animate({right:'0px'}, 400);
}, function() {
	$('.feedback').stop(); $('.feedback').animate({right:'-149px'}, 400);
});

$("input#login").labelify();
$("input#password").labelify();
$("input#search").labelify();

});

function callbackfunction_AddIntoCart(responseJS)
{
	sended_request = false;

	if (typeof responseJS != 'undefined')
	{
		if (typeof responseJS.cart != 'undefined')
		{
			html = responseJS.cart;

			var little_cart = document.getElementById('little_cart');
			
			if (little_cart)
			{
				little_cart.innerHTML = html;
			}

			var add_cart = document.getElementById('add_cart');
			
			if (add_cart)
			{
				add_cart.innerHTML = '<div class="added"><i>Добавлено в <a href="/cart/?reload">корзину</a>.</i></div>';
			}

			var link_cart = document.getElementById('link_cart');
			
			if (link_cart)
			{
				link_cart.innerHTML = '<span class="highlight">»</span>&nbsp;<a href="/cart/?reload">Заказать</a></div>';
			}
		}
	}
}

function AddIntoCart(shop_path, item_id, item_count)
{
	//location.href = shop_path + 'cart/?ajax_add_item_id=' + item_id + '&count=' + item_count;
	cmsrequest = shop_path + 'cart/?ajax_add_item_id=' + item_id + '&count=' + item_count;
	
	// Отправляем запрос backend-у
	sendRequest(cmsrequest, 'get', callbackfunction_AddIntoCart);
	
	return false;
}

function callbackfunction_UserExit(responseJS)
{
	sended_request = false;

	if (typeof responseJS != 'undefined')
	{
		if (typeof responseJS.all != 'undefined')
		{
			html = responseJS.all;

			var userform = document.getElementById('userform');
			
			if (userform)
			{
				userform.innerHTML = html;
				$("input#login").labelify();
				$("input#password").labelify();
			}

		}

	}
}

function UserExit()
{
	cmsrequest = '/js_profile/?action=exit';
	
	sendRequest(cmsrequest, 'get', callbackfunction_UserExit);
	
	return false;
}


function UserReload()
{
	cmsrequest = '/js_profile/?action=reload';
	
	sendRequest(cmsrequest, 'get', callbackfunction_UserExit);
	
	return false;
}


function callbackfunction_UserLogin(responseJS)
{
	sended_request = false;

	if (typeof responseJS != 'undefined')
	{
		if (typeof responseJS.all != 'undefined')
		{
			html = responseJS.all;

			var userform = document.getElementById('userform');
			
			if (userform)
			{
				userform.innerHTML = html;
			}

		}

	}
}

function UserLogin(login,password)
{
	cmsrequest = '/js_profile/?action=login&site_users_login=' + login + '&site_users_password=' + password;
	
	sendRequest(cmsrequest, 'get', callbackfunction_UserLogin);
	
	return false;
}

function getPageSize()
{
	var xScroll, yScroll;

	if (window.innerHeight && window.scrollMaxY)
	{
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	}
	else if (document.body.scrollHeight > document.body.offsetHeight)
	{ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	}
	else
	{ // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}

	var windowWidth, windowHeight;

	if (self.innerHeight)
	{
		// all except Explorer
		if(document.documentElement.clientWidth)
		{
			windowWidth = document.documentElement.clientWidth;
		}
		else
		{
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
	{ // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	}
	else if (document.body)
	{ // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}

	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight)
	{
		pageHeight = windowHeight;
	}
	else
	{
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth)
	{
		pageWidth = xScroll;
	}
	else
	{
		pageWidth = windowWidth;
	}

	arrayPageSize = new Array(pageWidth, pageHeight, windowWidth, windowHeight);
	return arrayPageSize;
}

function getScrollXY()
{
	var scrOfX = 0, scrOfY = 0;

	if (typeof(window.pageYOffset ) == 'number' )
	{
		//Netscape
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	}
	else if (document.body && (document.body.scrollLeft || document.body.scrollTop))
	{
		//DOM
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	}
	else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop))
	{
		//IE6
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}

	return [ scrOfX, scrOfY ];
}

function CreateWindow(windowId, windowTitle, windowWidth, windowHeight)
{
	var windowDiv = document.getElementById(windowId);

	if (windowDiv == undefined)
	{
		// Создаем div для окна
		var fade_div = document.createElement("div");
		fade_div.setAttribute("id", windowId);
		var body = document.getElementsByTagName("body")[0];
		windowDiv = body.appendChild(fade_div);
	}

	// Тень
	windowDiv.className = "shadowed";

	if (windowWidth == '')
	{
		windowWidth = '300px';
	}

	windowDiv.style.width = windowWidth;

	if (windowHeight != '')
	{
		windowDiv.style.height = windowHeight;
	}

	var shadowed_tl = document.createElement("div");
	shadowed_tl.className = "tl";
	windowDiv.appendChild(shadowed_tl);

	var shadowed_t = document.createElement("div");
	shadowed_t.className = "t";
	windowDiv.appendChild(shadowed_t);

	var shadowed_tr = document.createElement("div");
	shadowed_tr.className = "tr";
	windowDiv.appendChild(shadowed_tr);

	var shadowed_l = document.createElement("div");
	shadowed_l.className = "l";
	windowDiv.appendChild(shadowed_l);

	var shadowed_r = document.createElement("div");
	shadowed_r.className = "r";
	windowDiv.appendChild(shadowed_r);

	var shadowed_bl = document.createElement("div");
	shadowed_bl.className = "bl";
	windowDiv.appendChild(shadowed_bl);

	var shadowed_b = document.createElement("div");
	shadowed_b.className = "b";
	windowDiv.appendChild(shadowed_b);

	var shadowed_br = document.createElement("div");
	shadowed_br.className = "br";
	windowDiv.appendChild(shadowed_br);

	// Верхняя полосочка(для отображения пустого заголовка передать ' ' - пробел)
	if(windowTitle != '')
	{
		var topbar = document.createElement("div");
		topbar.className = "topbar";
		windowDiv.insertBefore(topbar, windowDiv.childNodes[0]);
	}

	windowDiv.style.display = "none";

	// Закрыть
	var wclose_img = document.createElement("img");
	wclose_img.src = '/hostcmsfiles/images/wclose.gif';

	wclose_img.onclick = function() {HideWindow(windowId); };

	if(windowTitle != '')
	{
		topbar.appendChild(wclose_img);

		// Заголовок окна
		var textNode = document.createTextNode(windowTitle);
		topbar.appendChild(textNode);
	}
}

// Отображает/скрывает окно
function SlideWindow(windowId)
{
	var windowDiv = document.getElementById(windowId);

	if (windowDiv == undefined)
	{
		return false;
	}

	if (windowDiv.style.display == "block")
	{
		HideWindow(windowId);
	}
	else
	{
		ShowWindow(windowId);
	}
}

var prev_window = 0;

function ShowWindow(windowId)
{
	var windowDiv = document.getElementById(windowId);

	if (windowDiv == undefined)
	{
		return false;
	}

	// Добавлено  && windowId.indexOf('edit_window_') == 0 для того, чтобы при отображении всплывающего окошка с настройками изображения не закрывалось всплывающее окно ЦА
	if (prev_window && prev_window != windowId && (windowId.indexOf('edit_window_') == 0 || prev_window.indexOf('edit_window_') !== 0))
	{
		HideWindow(prev_window);
	}

	prev_window = windowId;

	// 0 - pageWidth, 1 - pageHeight, 2 - windowWidth, 3 - windowHeight
	var arrayPageSize = getPageSize();

	// 0 - scrOfX, 1 - scrOfY
	var arrayScrollXY = getScrollXY();

	// Отображаем до определения размеров div-а
	windowDiv.style.display = 'block';

	var clientHeight = windowDiv.clientHeight;
	var clientWidth = windowDiv.clientWidth;

	// Если высота div-а больше высоты окна
	if (clientHeight > arrayPageSize[3])
	{
		// Положим высоту равной 90% высоты окна
		clientHeight = Math.round(arrayPageSize[3] * 0.9);
	}

	// Если ширина div-а больше ширины окна
	if (clientWidth > arrayPageSize[2])
	{
		// Положим ширину равной 90% высоты окна
		clientWidth = Math.round(arrayPageSize[2] * 0.9);
	}

	windowDiv.style.top = ((arrayPageSize[3] - clientHeight) / 2 + arrayScrollXY[1]) + 'px';

	windowDiv.style.left = ((arrayPageSize[2] - clientWidth) / 2 + arrayScrollXY[0]) + 'px';
}

// Удаляет дочерние элементы элемента с ID, равным node_id
function deleteChildNodes(node_id)
{
	// Отключаем связь с редакторами
	DisableTinyMCE();

	var node = document.getElementById(node_id);

	if (node !== undefined)
	{
		if (node.hasChildNodes())
		{
			while (node.firstChild)
			{
				node.removeChild(node.firstChild);
			}
		}
	}
}

function HideWindow(windowId)
{
	var windowDiv = document.getElementById(windowId);

	if (windowDiv == undefined)
	{
		return false;
	}

	// Окно редактирования элементов ЦА при закрытии - удаляем полностью
	if (windowId.indexOf('edit_window_') == 0)
	{
		// Отключаем связь с редакторами
		DisableTinyMCE();

		// Удаляем дочерние узлы
		deleteChildNodes(windowId);

		// Удаляем окно
		windowDiv.parentNode.removeChild(windowDiv);
	}
	else
	{
		windowDiv.style.display = 'none';
	}
}

// Магазин
function doSetLocation(shop_country_id, path)
{
	var req = new JsHttpRequest();

	// Отображаем экран загрузки
	ShowLoadingScreen();

	req.onreadystatechange = function()
	{
		if (req.readyState == 4)
		{
			// Возвращаем обычный курсор
			document.body.style.cursor = '';

			// Убираем затемнение.
			HideLoadingScreen();

			if (req.responseJS != undefined)
			{
				// Данные.
				if (req.responseJS.result != undefined)
				{
					oSelect = document.getElementById(location_select_id);

					// Очищаем select
					oSelect.options.length = 0;

					// Добавляем значение " ... "
					oSelect.options[oSelect.options.length] = new Option(" ... ", 0);

					for (var key in req.responseJS.result)
					{
						oSelect.options[oSelect.options.length] = new Option(req.responseJS.result[key], key);
					}

					// Устанавливаем города
					//doSetCity(oSelect.options[oSelect.selectedIndex].value);
					oCity = document.getElementById(city_select_id);
					oCity.options.length = 0;
					oCity.options[oCity.options.length] = new Option(" ... ", 0);

					oCityarea = document.getElementById(cityarea_select_id);
					oCityarea.options.length = 0;
					oCityarea.options[oCityarea.options.length] = new Option(" ... ", 0);
				}
			}
			return true;
		}
	}

	req.open('get', path + "?action=get_location&shop_country_id="+shop_country_id, true);

	// Отсылаем данные в обработчик.
	req.send(null);

	// Курсор ставим на часики.
	document.body.style.cursor = "wait";
}


function FieldCheck(field)
{
	//if (null == fieldType || undefined == fieldType)
	if (typeof fieldType == 'undefined')
	{
		return false;
	}

	var value = field.value;

	if (fieldType[field.id])
	{
		var message = '';

		//if (value.length > 0)
		//{
		// Проверка на минимальную длину
		if (fieldType[field.id]['minlen'] && value.length < fieldType[field.id]['minlen'])
		{
			// Есть пользовательское сообщение
			if (fieldMessage[field.id] && fieldMessage[field.id]['minlen'])
			{
				message += fieldMessage[field.id]['minlen'];
			}
			else // Стандартное сообщение
			{
				message += 'Минимум ' + fieldType[field.id]['minlen'] + ' символов. Текущая длина &mdash; ' + value.length + '. ';
			}
		}

		// Проверка на максимальную длину
		if (fieldType[field.id]['maxlen'] && value.length > fieldType[field.id]['maxlen'])
		{
			// Есть пользовательское сообщение
			if (fieldMessage[field.id] && fieldMessage[field.id]['maxlen'])
			{
				message += fieldMessage[field.id]['maxlen'];
			}
			else // Стандартное сообщение
			{
				message += 'Максимум ' + fieldType[field.id]['maxlen'] + ' символов. Текущая длина &mdash; ' + value.length + '. ';
			}
		}

		// Проверка на регулярное выражение
		if (value.length > 0 && fieldType[field.id]['reg'] && !value.match(fieldType[field.id]['reg']))
		{
			// Есть пользовательское сообщение
			if (fieldMessage[field.id] && fieldMessage[field.id]['reg'])
			{
				message += fieldMessage[field.id]['reg'];
			}
			else // Стандартное сообщение
			{
				message += 'Значение поля не соответствует формату. ';
			}
		}

		// Проверка на соответствие значений полей
		if (fieldType[field.id]['fieldEquality'])
		{
			// Пытаемся получить значение поля, которому должны соответствовать
			var filed2 = document.getElementById(fieldType[field.id]['fieldEquality']);

			if (filed2)
			{
				// Сравниваем значение полей
				if (value != filed2.value)
				{
					// Есть пользовательское сообщение
					if (fieldMessage[field.id] && fieldMessage[field.id]['fieldEquality'])
					{
						message += fieldMessage[field.id]['fieldEquality'];
					}
					else // Стандартное сообщение
					{
						message += 'Значения полей различны. ';
					}
				}
			}
		}
		//}

		FieldCheckShowError(field.id, message);
	}
}

// Отправка формы методом Get или Post
// AAction - относительный адрес файла, который будет запрошен
// AAdditionalParams - внешние переметры, передаваемые в строку запроса. Должны начинаться с &
// ButtonObject - Объект нажатой кнопки
// AAdminFromsId - идентификатор формы центра администрирования
function doSendForm(AAction, AAdditionalParams, ButtonObject, AAdminFromsId, AOperation, ALimit, AOnPage)
{
	// Объект родительской формы по умолчанию
	var FormNode = ButtonObject.parentNode;

	// Пока родительская форма не является формой
	while (FormNode.nodeName.toLowerCase() != 'form')
	{
		var FormNode = FormNode.parentNode;
	}

	// Получим ID формы (не путать с ID формы центра администрирования)
	FormID = FormNode.id;

	// Пытаемся получить скрытый объект для input-а
	var HiddenInput = document.getElementById(ButtonObject.name);

	// Элемента нет, добавим его
	if (null == HiddenInput && undefined == HiddenInput || HiddenInput.type != 'hidden')
	{
		// Создадим скрытй input, т.к. нажатый не передается в форму
		var ElementInput = document.createElement("input");
		ElementInput.setAttribute("type", "hidden");
		ElementInput.setAttribute("id", ButtonObject.name);
		ElementInput.setAttribute("name", ButtonObject.name);

		// Добавим скрытый Input к форме
		var InputNode = FormNode.appendChild(ElementInput);
	}

	// Сохраним из визуальных редакторов данные
	if (typeof tinyMCE != 'undefined')
	{
		tinyMCE.triggerSave();
	}

	var JsHttpRequestSendForm = new JsHttpRequest();

	// Код вызывается, когда загрузка завершена
	JsHttpRequestSendForm.onreadystatechange = function ()
	{
		if (JsHttpRequestSendForm.readyState == 4)
		{
			// Возвращаем обычный курсор
			document.body.style.cursor = '';

			// Убираем затемнение.
			HideLoadingScreen();

			if (typeof JsHttpRequestSendForm.responseJS != 'undefined')
			{
				// Выводим результат ошибки в переменную.
				if (typeof JsHttpRequestSendForm.responseJS.error != 'undefined')
				{
					var div_id_message = document.getElementById('id_message');

					if (div_id_message)
					{
						// Создадим скрытый SPAN для IE, в который поместим текст + скрипт.
						// Если перед <script> не будет текста, нехороший IE не увидит SCRIPT
						var span = document.createElement("span");
						span.style.display = 'none';
						span.innerHTML = "Stupid IE. " + JsHttpRequestSendForm.responseJS.error;

						runScripts(span.getElementsByTagName('SCRIPT'));

						// Занесем текст сообщения только после выполнения скрипта
						div_id_message.innerHTML = JsHttpRequestSendForm.responseJS.error;
					}
				}

				// Данные записываем только тогда, если они есть и не пустые.
				if (typeof JsHttpRequestSendForm.responseJS.form_html != 'undefined' && JsHttpRequestSendForm.responseJS.form_html != '')
				{
					// Отключаем связь с редакторами
					DisableTinyMCE();

					// В клиентском разделе нам не нужно показывать результат отправки формы,
					// поэтому если такой результат пришел - закрываем окно.
					HideWindow(prev_window);

					/*html = JsHttpRequestSendForm.responseJS.form_html;

					document.getElementById('id_content').innerHTML = html;

					// Выполняем скрипты из полученного с сервера HTML-а
					runScripts(document.getElementById('id_content').getElementsByTagName('SCRIPT'));*/

				}
			}
			return true;
		}
	}

	// Определим action у формы
	//var FormAction = FormNode.getAttribute('action');
	// fix bug with IE 6 and getAttribute('') return [object]
	var FormAction = FormNode.attributes['action'].value;

	// Определим метод формы
	var FormMethod = FormNode.getAttribute('method');

	if (AOnPage)
	{
		sOnPage = '&admin_forms_on_page=' + AOnPage;
	}
	else
	{
		sOnPage = '';
	}

	// Текущая страница.
	if (ALimit == 0)
	{
		ALimit = '';
	}
	else
	{
		ALimit = '&limit=' + ALimit;
	}

	// передача параметров AAdditionalParams сделана явно, а не через hostcmsAAdditionalParams
	FormAction += (FormAction.indexOf('?') >= 0 ? '&' : '?') + 'hostcmsAAction=' + escape(AAction) +
	'&hostcmsAAdditionalParams=' + escape(AAdditionalParams) + AAdditionalParams +
	'&operation=' + AOperation + ALimit + sOnPage;

	// Prepare request object (automatically choose GET or POST).
	JsHttpRequestSendForm.open(FormMethod, FormAction, true);

	JsHttpRequestSendForm.send( { query: FormNode } );

	// Очистим поле для сообщений
	var div_id_message = document.getElementById('id_message');

	if (div_id_message)
	{
		div_id_message.innerHTML = '';
	}

	// Курсор ставим на часики.
	document.body.style.cursor = "wait";

	// Отображаем экран загрузки
	ShowLoadingScreen();

	return false;
}

function FieldCheckShowError(fieldname, message)
{
	// Вносим в див сообщение
	var ElementErrorDiv = document.getElementById(fieldname + '_error');

	if (ElementErrorDiv)
	{
		ElementErrorDiv.innerHTML = message;
	}

	// Плучаем элемент формы, над которым ведется работа
	var ElementField = document.getElementById(fieldname);

	if (ElementField)
	{
		if (message.length > 0)
		{
			//ElementField.style.backgroundColor = "#FFD1C3";
			ElementField.style.borderStyle="solid";
			ElementField.style.borderWidth="1px";
			ElementField.style.borderColor="#DB1905";

			ElementField.style.backgroundImage = "url('/admin/images/bullet_red.gif')";
			ElementField.style.backgroundPosition = "center right";
			ElementField.style.backgroundRepeat = "no-repeat";
			// ElementField.style.paddingRight = "20px";

			// Устанавливаем флаг несоответствия
			fieldsStatus[fieldname] = true;
		}
		else //if (ElementField.value.length > 0) // Ошибок нет и в поле есть данные
		{
			//ElementField.style.backgroundColor = "#FFFFFF";

			ElementField.style.borderStyle="";
			ElementField.style.borderWidth="";
			ElementField.style.borderColor="";

			ElementField.style.backgroundImage = "url('/admin/images/bullet_green.gif')";
			ElementField.style.backgroundPosition = "center right";
			ElementField.style.backgroundRepeat = "no-repeat";
			//ElementField.style.paddingRight = "20px";

			// Устанавливаем флаг несоответствия
			fieldsStatus[fieldname] = false;
		}
		/*else // В поле нет данных
		{
		ElementField.style.backgroundColor = "#F5F5F5";
		ElementField.style.backgroundImage = "none";

		// Устанавливаем флаг несоответствия
		fieldsStatus[fieldname] = false;
		}*/
	}

	// Отображать контрольные элементы
	var ControlElementsStatus = true;

	//document.title = aaa.length;

	for (ItemIndex in fieldsStatus)
	{
		// если есть хоть одно несоответствие - выключаем управляющие элементы
		if (fieldsStatus[ItemIndex])
		{
			ControlElementsStatus = false;
			//break;
		}
	}

	// ControlElements
	var ControlElementsDiv = document.getElementById('ControlElements');

	if (ControlElementsDiv)
	{
		// Получаем управляющие эелементы внутри дива
		var element_array = ControlElementsDiv.getElementsByTagName("input");

		//document.title += ' C = ' + ControlElementsStatus;

		// Если получили хотя бы один
		if (element_array.length > 0)
		{
			// Проходимся по списку
			for (var i = 0; i < element_array.length; i++)
			{
				if (ControlElementsStatus)
				{
					// Вкючаем кнопку
					element_array[i].removeAttribute('disabled');
				}
				else
				{
					// Выключаем кнопки
					element_array[i].setAttribute('disabled', true);
				}
			}
		}
	}
}

/**
 * Обновление картинки CAPTCHA
 * captchaKey - идентификатор CAPTCHA
 * captchaHeight - высота картинки с CAPTCHA
 */
function ReNewCaptcha(captchaKey, captchaHeight)
{	
	if (document.images['captcha'] != undefined)
	{
		var antiCache = Math.floor(Math.random()*100000);
		document.images['captcha'].src = "/captcha.php?get_captcha=" + captchaKey + "&height=" + captchaHeight + "&anc=" + antiCache;
	}
}

/**
 * Обновление картинки CAPTCHA для картинки по ее ID
 * captchaKey - идентификатор CAPTCHA
 * captchaHeight - высота картинки с CAPTCHA
 */
function ReNewCaptchaById(imageId, captchaKey, captchaHeight)
{	
	// Пытаемся получить скрытый объект для input-а
	var captchaObject = document.getElementById(imageId);

	// Элемента нет, добавим его
	if (null != captchaObject && undefined !== captchaObject)
	{
		var antiCache = Math.floor(Math.random()*100000);
		captchaObject.src = "/captcha.php?get_captcha=" + captchaKey + "&height=" + captchaHeight + "&anc=" + antiCache;
	}
}

// Отправка формы методом Get или Post
// callback_function функция обратного вызова
// AAdditionalParams - внешние переметры, передаваемые в строку запроса. Должны начинаться с &
// ButtonObject - Объект нажатой кнопки
function AjaxSendForm(callback_function, AAdditionalParams, ButtonObject)
{
	// Объект родительской формы по умолчанию
	var FormNode = ButtonObject.parentNode;

	// Пока родительская форма не является формой
	while (FormNode.nodeName.toLowerCase() != 'form')
	{
		var FormNode = FormNode.parentNode;
	}

	// Получим ID формы (не путать с ID формы центра администрирования)
	FormID = FormNode.id;

	// Пытаемся получить скрытый объект для input-а
	var HiddenInput = document.getElementById(ButtonObject.name);

	// Элемента нет, добавим его
	if (null == HiddenInput && undefined == HiddenInput || HiddenInput.type != 'hidden')
	{
		// Создадим скрытй input, т.к. нажатый не передается в форму
		var ElementInput = document.createElement("input");
		ElementInput.setAttribute("type", "hidden");
		ElementInput.setAttribute("id", ButtonObject.name);
		ElementInput.setAttribute("name", ButtonObject.name);

		// Добавим скрытый Input к форме
		var InputNode = FormNode.appendChild(ElementInput);
	}

	// Сохраним из визуальных редакторов данные
	if (typeof tinyMCE != 'undefined')
	{
		tinyMCE.triggerSave();
	}

	var JsHttpRequestSendForm = new JsHttpRequest();

	// Код вызывается, когда загрузка завершена
	JsHttpRequestSendForm.onreadystatechange = function ()
	{
		if (JsHttpRequestSendForm.readyState == 4)
		{
			// Возвращаем обычный курсор
			document.body.style.cursor = '';

			// Убираем затемнение.
			HideLoadingScreen();

			if (typeof callback_function != 'undefined')
			{
				callback_function(JsHttpRequestSendForm.responseJS);
			}
			
			return true;
		}
	}

	// Определим action у формы
	// fix bug with IE 6 and getAttribute('') return [object]
	var FormAction = FormNode.attributes['action'].value;

	// Определим метод формы
	var FormMethod = FormNode.getAttribute('method');

	// передача параметров AAdditionalParams сделана явно, а не через hostcmsAAdditionalParams
	FormAction += (FormAction.indexOf('?') >= 0 ? '&' : '?') + AAdditionalParams;

	// Prepare request object (automatically choose GET or POST).
	JsHttpRequestSendForm.open(FormMethod, FormAction, true);

	JsHttpRequestSendForm.send( { query: FormNode } );

	// Курсор ставим на часики.
	document.body.style.cursor = "wait";

	// Отображаем экран загрузки
	ShowLoadingScreen();

	return false;
}


function callbackfunction_showFormAddItem(responseJS)
{
	if (typeof responseJS != 'undefined')
	{
		HideLoadingScreen();
	
		// Данные.
		if (typeof responseJS.result != 'undefined')
		{
			html = responseJS.result;

			document.getElementById('AddItemForm').innerHTML = html;

			// Выполняем скрипты из полученного с сервера HTML-а
			runScripts(document.getElementById('AddItemForm').getElementsByTagName('SCRIPT'));
			
			// Очищаем поле сообщений
			var div_id_message = document.getElementById('AddItemMessage');

			if (div_id_message)
			{
				div_id_message.innerHTML = '';
			}
			
			//cr('AddItemForm');
		}
	}
}


function callbackfunction_SendFormItem(responseJS)
{
	if (typeof responseJS != 'undefined')
	{
		if (responseJS.message != 'undefined')
		{
			var div_id_message = document.getElementById('AddItemMessage');

			if (div_id_message)
			{
				div_id_message.innerHTML = responseJS.message;
				
				// Выполняем скрипты из полученного с сервера HTML-а
				runScripts(div_id_message.getElementsByTagName('SCRIPT'));
				
				// Переходим к сообщению
				window.location.href = (window.location.href.indexOf('#') >= 0 ? window.location.href : window.location.href + '#FocusAddItemMessage');
			}
		}
	}
}

function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}

var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();


addEvent(window,'unload',EventCache.flush);

function ShowImgWindow(title, src, width, height)

{
        LeftPosition = (screen.width) ? (screen.width - width) / 2 : 100;

        TopPosition = (screen.height) ? (screen.height - height) / 2 : 100;


	obj = window.open("", "", "top="+TopPosition+", left="+LeftPosition+",  scrollbars=0,dialog=0,minimizable=1,modal=1,width="+width+",height="+height+",resizable=0");

	obj.document.write("<html>");

	obj.document.write("<head>");

	obj.document.write("<title>"+title+"</title>");

	obj.document.write("</head>");

	obj.document.write("<body topmargin=0 leftmargin=0 marginwidth=0 marginheight=0>");

	obj.document.write("<img src=\""+src+"\" width=\""+width+"\" height=\""+height+"\" />");

	obj.document.write("</body>");

	obj.document.write("</html>");

	obj.document.close();

}


