function getCategoriesList(nElementId, oTd)
{
	var sOldClassName = $$('LeftCategoriesTreeIcon_' + nElementId).className;

	if (oTd.parentNode.className == 'ArrowClosed' && sOldClassName != 'LoadingIcon') {

		$$('LeftCategoriesTreeIcon_' + nElementId).className = 'LoadingIcon';

		Rx.ajax({
			Url: Rx.sExecuteActionUrl,
			Params:
			{
				_Module:    'Catalogue',
				_Model:     'Categories',
				_Component: 'ListTree',
				_MainTemplate: 'default',
				_Template:  'ListTree',
				OnlyMain: 1,
				ElementId: nElementId
			},
			OnReady: function (result)
			{
				$$('LeftCategoriesTreeIcon_' + nElementId).className = sOldClassName;
				$$('LeftCategoriesTreeChilds_' + nElementId).innerHTML = '';
				var oBox = Rx.findAjaxScripts(result['html']);
				$$('LeftCategoriesTreeChilds_' + nElementId).appendChild(oBox);
				oTd.parentNode.className = 'ArrowOpen';
				$('#LeftCategoriesTreeChilds_' + nElementId).slideDown("slow");
			}
		});
	} else {

		oTd.parentNode.className = 'ArrowClosed';
		$('#LeftCategoriesTreeChilds_' + nElementId).slideUp("slow", function () {$$('LeftCategoriesTreeChilds_' + nElementId).innerHTML = '';});
	}

	return true;
}

function doLogin(oButton)
{
	oButton.disabled = "disabled";
	Rx.ajax({
		Url: Rx.sReturnActionUrl,
		Params:
		{
			_Module: 'Users',
			_Model: 'Users',
			_Component: 'Login',
			_IsSended: 1,
			Data: $$('UsersLoginForm')
		},
		OnReady: function ()
		{
			oButton.disabled = null;
			location.href = '/';
		}
	});
}

function doLogout(oButton)
{
	oButton.disabled = "disabled";
	Rx.ajax({
		Url: Rx.sReturnActionUrl,
		Params:
		{
			_Module: 'Users',
			_Model: 'Users',
			_Component: 'Logout',
			_IsSended: 1,
			Data: $$('UsersLoginForm')
		},
		OnReady: function ()
		{
			oButton.disabled = null;
			location.href = '/';
		}
	});
}

function addToCart(nItemId, nCountItems, oButton)
{
	oButton.disabled = "disabled";
	Rx.ajax({
		Url: Rx.sReturnActionUrl,
		Params:
		{
			_Module: 'Shop',
			_Model: 'Cart',
			_Component: 'Add',
			ItemId: nItemId,
			CountItems: nCountItems
		},
		OnReady: function (result)
		{
			oButton.disabled = null;
			if (result['simple'] == 1) {
				refreshCartBlock();
				alert('Товар добавлен в корзину');
			} else {
				alert('Неизвестная ошибка');
			}
		}
	});

	return;
}

function delFromCart(nItemId)
{
	Rx.ajax({
		Url: Rx.sReturnActionUrl,
		Params:
		{
			_Module: 'Shop',
			_Model: 'Cart',
			_Component: 'Delete',
			ItemId: nItemId
		},
		OnReady: function (result)
		{
			if (result['simple'] == 1) {
				refreshCartBlock();
				refreshCart();
			} else {
				alert('Неизвестная ошибка');
			}
		}
	});

	return;
}

function changeCartItem(nItemId, nNewCount, oButton)
{
	oButton.disabled = "disabled";
	Rx.ajax({
		Url: Rx.sReturnActionUrl,
		Params:
		{
			_Module: 'Shop',
			_Model: 'Cart',
			_Component: 'Edit',
			ItemId: nItemId,
			CountItems: nNewCount
		},
		OnReady: function (result)
		{
			oButton.disabled = null;
			if (result['simple'] == 1) {
				refreshCartBlock();
				refreshCart();
			} else {
				alert('Неизвестная ошибка');
			}
		}
	});

	return;
}

function sendCart()
{
	location.href = '/cart/order/';
	return;
}

function refreshCartBlock()
{
	Rx.ajax({
		Url: Rx.sExecuteActionUrl,
		Params:
		{
			_Module: 'Shop',
			_Model: 'Cart',
			_Component: 'List',
			_MainTemplate: 'default',
			_Template: 'simple'
		},
		OnReady: function (result)
		{
			$$('CartBlockBoxId').innerHTML = '';
			var oBox;
			oBox = Rx.findAjaxScripts(result['html']);
			$$('CartBlockBoxId').appendChild(oBox);
		}
	});

	return;
}

function refreshCart()
{
	Rx.ajax({
		Url: Rx.sExecuteActionUrl,
		Params:
		{
			_Module: 'Shop',
			_Model: 'Cart',
			_Component: 'List',
			_MainTemplate: 'default',
			_Template: 'default'
		},
		OnReady: function (result)
		{
			$$('CartBoxId').innerHTML = '';
			var oBox;
			oBox = Rx.findAjaxScripts(result['html']);
			$$('CartBoxId').appendChild(oBox);
			$("a[rel^='prettyPhoto']").prettyPhoto();
		}
	});

	return;
}

function payWm()
{
	if ($$('DivPayWm').style.display == 'none') {
		Rx.ajax({
			Url: Rx.sReturnActionUrl,
			Params:
			{
				_Module: 'Users',
				_Model: 'Money',
				_Component: 'Add',
				_IsSended: 1,
				Name: 'WebMoney',
				Type: 1
			},
			OnReady: function (result)
			{
				$$('OrderInputId').value = result['object']['Id'];
				$$('SummInputId').value = '';
				$('#DivPayRobox').slideUp();
				$('#DivPayCard').slideUp();
				$('#DivPayWm').slideDown();
			}
		});
	} else {
		$('#DivPayWm').slideUp();
	}
}

function payRoboxchange()
{
	if ($$('DivPayRobox').style.display == 'none') {
		Rx.ajax({
			Url: Rx.sReturnActionUrl,
			Params:
			{
				_Module: 'Users',
				_Model: 'Money',
				_Component: 'Add',
				_IsSended: 1,
				Name: 'Roboxchange',
				Type: 1
			},
			OnReady: function (result)
			{
				$$('RoboxOrderInputId').value = result['object']['Id'];
				$$('RoboxCodeId').value = result['simple']['RoboxCode'];
				$('#DivPayWm').slideUp();
				$('#DivPayCard').slideUp();
				$('#DivPayRobox').slideDown();
			}
		});
	} else {
		$('#DivPayRobox').slideUp();
	}
}

function sendCartOrder(sComment, oButton)
{
	oButton.disabled = "disabled";
	Rx.ajax({
		Url: Rx.sReturnActionUrl,
		Params:
		{
			_Module: 'Shop',
			_Model: 'Orders',
			_Component: 'PublicAdd',
			_IsSended: 1,
			Comment: sComment
		},
		OnReady: function ()
		{
			oButton.disabled = null;
			location.href = '/cart/order/done/';
		}
	});
}

function deleteMessage(nItemId, sRedirect, oButton)
{
	if (confirm('Удалить сообщение?')) {
		oButton.disabled = "disabled";
		Rx.ajax({
			Url: Rx.sReturnActionUrl,
			Params:
			{
				_Module: 'Users',
				_Model: 'Messages',
				_Component: 'PublicDelete',
				Id: nItemId
			},
			OnReady: function ()
			{
				oButton.disabled = null;
				location.href = sRedirect;
			}
		});
	}

	return;
}