﻿Ext.ns("eKonx.RieltObjects");
Ext.ns("eKonx.Plugins.RieltObjects");
Ext.ns("eKonx.Res.RieltObjects");
Ext.ns("eKonx.Urls.RieltObjects");

eKonx.Res.RieltObjects =
{
	AddressComment: 'Укажите адрес объекта и сообщите расширенную информацию, пользуясь закладками "Информация об объекте", "Продавец" и "Владелец".',
	AddressName: 'Название объекта',
	AddressNameEmptyText: '', //'Например, "Квартира на пр.Гагарина" или "Склад в черте города"',
	ActionTypesSelectionText: "Действие",
	BalconiesCount: "Кол-ство балконов",
	Balcony: "Балкон",
	BuildingMaterial: "Материал здания",
	BuildYear: "Год постройки",
	BusinessActionType: "Действие",
	
	Country: "Страна",
	CountrySelect: "выберите страну...",
	Region: "Регион",
	RegionSelect: "выберите регион...",
	City: "Город",
	CitySelect: "выберите город...",
	AdministrativeArea: "Район",
	AdministrativeAreaSelect: "выберите район",
	Street: "Улица",
	BuildingNumber: "№ здания",
	BuildingLetter: "Суффикс здания",
	PostalCode: "Почтовый индекс",
	AddressPhone: "Телефон по адресу",
	AddressDescription: "Дополнительная информация",
	
	Down: "Пол",
	EndEditTooltip: 'Кнопка "Завершить" активна только после того, как все обязательные поля заполнены, и была нажата кнопка "Сохранить"',
	ExitsCount: "Количество выходов",
	Exclusive: "Эксклюзив",
	Facade: "Фасад",
	FileIsAnnounce: "Файл в анонс",
	FillOwner: 'Заполнить данные владельца',
	FillSeller: 'Заполнить данные продавца',
	FloorMatherial: "Материал пола",
	FloorNumber: "Этаж",
	FloorsTotal: "Этажность",
	FloorsTotalCount: "Этажей",
	GetOwnerFromAddressBook: 'Взять данные владельца из адресной книги',
	GetOwnerFromOrganization: 'Взять данные владельца из профиля предприятия',
	GetOwnerFromProfile: 'Взять данные владельца из профиля',
	GetSellerFromOrganization: 'Взять данные продавца из профиля предприятия',
	GetSellerFromProfile: 'Взять данные продавца из профиля',
	HasPhone: "Наличие телефона",
	HasCanalization: "Наличие канализации",
	HasElectro: "Наличие электроснабжения",
	HasGas: "Наличие газоснабжения",
	HasWater: "Наличие водоснабжения",
	IDPrefix: "ro_",
	InnerItemsDescription: "Элементы интерьера",
	InnerBuildingsDescription: "Постройки на участке",
	KitchenSquare: "Площадь кухни",
	LandSquare: "Площадь участка",
	LandUsageType: "Назначение земли",
	LiveSquare: "Жилая площадь",
	ObjectDescription: "Дополнительная информация",
	ObjectInfo: 'Информация об объекте',
	ObjectInfoComment: 'Сообщите расширенную информацию, а также укажите данные владельца и продавца, пользуясь закладками "Продавец" и "Владелец".',
	ObjectTypeSelectionText: "Выберите тип объекта",
	ObjectTypeSelectionTitle: "Создание объекта недвижимости",
	PageDescription: "<b style='color:darkred;font-family:tahoma;font-size:12px'></b>",
	Photo: "Фото",
	Price: "Цена ($)",
	PriceInMonth: "Цена в месяц ($)",
	PriceFor: "Стоимость за",
	Privatized: "Приватизирован",
	Profile: "Профиль",
	RieltBuildingType: "Тип дома",
	RieltHouseType: "Зарегистрирован как",
	RieltObjectType: "Тип объекта",
	RieltObjectState: "Состояние",
	RieltObjectStatus: "Статус",
	RieltObjectStatusSelect: "нет...",
	RightAssertionDocument: "Документ, удостоверяющий право на недвижимость",
	RoofMatherial: "Материал кровли",
	RoomsCount: "Количество комнат",
	RoomsCountColumn: "Комнат",
	Seller: "Риелтор",
	Title: "Объекты недвижимости",
	TotalSquare: "Общая площадь",
	Verified: "Проверен",
	WC: "Санузел"
}

eKonx.Urls.RieltObjects =
{
	GetColumns: "Objects/GetRieltObjectsColumns",
	GetRieltObjects: "Objects/GetRieltObjects",
	SaveRieltObjects: "Objects/SaveRieltObjects",
	CreateObject: "Objects/CreateObject",
	SaveObject: "Objects/SaveObject",
	DeleteObject: "Objects/DeleteObject",
	GetObjectOwner: "Objects/GetObjectOwner",
	GetObjectSeller: "Objects/GetObjectSeller",
	GetAddress: "Objects/GetAddress",
	GetFilesList: "Objects/GetFilesList",
	GetAddressActionFields: "Objects/GetAddressActionFields"
}

eKonx.Plugins.RieltObjects.ExclusiveColumn =
{
	Instance: null,
	Create: function()
	{
		eKonx.Plugins.RieltObjects.ExclusiveColumn.Instance = new Ext.grid.CheckColumn(
		{
			header: eKonx.Res.RieltObjects.Exclusive,
			dataIndex: 'Exclusive',
			hidden: !eKonx.CurrentUser.Permissions.CanMakeRieltObjectsExclusive,
			width: 55,
			sortable: true,
			disabled: eKonx.CurrentUser.Permissions.CanMakeRieltObjectsExclusive != true
		});
	}
};

eKonx.Plugins.RieltObjects.AllowedColumn =
{
	Instance: null,
	Create: function()
	{
		eKonx.Plugins.RieltObjects.AllowedColumn.Instance =
		 new Ext.grid.CheckColumn(
		{
			dataIndex: "Allowed",
			hidden: !eKonx.CurrentUser.Permissions.CanMakeRieltObjectsAllowed,
			header: eKonx.Res.Common.Allowed,
			sortable: true,
			width: 55,
			disabled: eKonx.CurrentUser.Permissions.CanMakeRieltObjectsAllowed != true
		});
	}
};

eKonx.Plugins.RieltObjects.Filters =
{
	Instance: null,
	Create: function()
	{
		eKonx.Plugins.RieltObjects.Filters.Instance = new Ext.ux.grid.GridFilters(
		{
			menuFilterText: eKonx.Res.Common.Filter,
			filters:
			[
				{
					type: 'numeric',
					menuItemCfgs:
					{
						emptyText: eKonx.Res.Common.FilterEmptyText,
						selectOnFocus: true,
						width: 125
					},
					dataIndex: 'ID'
				},
				{
					type: 'numeric',
					menuItemCfgs:
					{
						emptyText: eKonx.Res.Common.FilterEmptyText,
						selectOnFocus: true,
						width: 125
					},
					dataIndex: 'Price'
				},
				{
					type: 'numeric',
					menuItemCfgs:
					{
						emptyText: eKonx.Res.Common.FilterEmptyText,
						selectOnFocus: true,
						width: 125
					},
					dataIndex: 'FloorNumber'
				},
				{
					type: 'numeric',
					menuItemCfgs:
					{
						emptyText: eKonx.Res.Common.FilterEmptyText,
						selectOnFocus: true,
						width: 125
					},
					dataIndex: 'FloorsTotal'
				},
				{
					type: 'list',
					dataIndex: 'AdministrativeAreaID',
					labelField: 'Name',
					valueField: 'ID',
					phpMode: true,
					store: eKonx.Cache.GetStore("AdministrativeAreas")
				},
				{
					type: 'list',
					dataIndex: 'BusinessActionTypeID',
					labelField: 'Name',
					valueField: 'ID',
					phpMode: true,
					store: eKonx.Cache.GetStore("BusinessActions")
				},
				{
					type: 'list',
					dataIndex: 'RieltObjectTypeID',
					labelField: 'Name',
					valueField: 'ID',
					phpMode: true,
					store: eKonx.Cache.GetStore("RieltItems.RieltObjectTypes")
				},
				{
					type: 'string',
					dataIndex: 'Street'
				},
				{
					type: 'list',
					dataIndex: 'ManagerInfo',
					labelField: 'Name',
					valueField: 'ID',
					store: eKonx.Cache.GetStore("OrganizationUsers"),
					phpMode: true
				},
				{
					type: 'numeric',
					menuItemCfgs:
					{
						emptyText: eKonx.Res.Common.FilterEmptyText,
						selectOnFocus: true,
						width: 125
					},
					dataIndex: 'RoomsCount'
				}
			]
		});
	}
};

eKonx.RieltObjectsStore = new Ext.data.JsonStore(
{
	storeId: eKonx.Res.RieltObjects.IDPrefix + 'RieltObjectsStore',
	root: "root",
	autoSave: false,
	autoLoad: true,
	remoteSort: true,
	idProperty: 'ID',
	proxy: new Ext.data.HttpProxy(
	{
		api:
		{
			read: eKonx.Urls.RieltObjects.GetRieltObjects,
			update: eKonx.Urls.RieltObjects.SaveRieltObjects
		},
		method: 'POST'
	}),
	writer: new Ext.data.JsonWriter({}),
	fields:
	[
		"Image",
		{ name: "CountryID" },
		{ name: "RegionID" },
		{ name: "CityID" },
		{ name: "AdministrativeAreaID" },
		{ name: "Street", type: "string" },
		{ name: "BuildingNumber", type: "string" },
		{ name: "BuildingLetter", type: "string" },
		{ name: "PostalCode" },
		"ManagerInfo",
		"AddressID",
		"BuildYear",
		"FloorNumber",
		"FloorsTotal",
		"ObjectSquare",
		"Price",
		"ModifiedDate",
		"RoomsCount",
		"BusinessActionTypeID",
		"RieltObjectTypeID",
		{ name: "RieltObjectStatusID" },
		{ name: "Active", type: "boolean" },
		{ name: "Allowed", type: "boolean" },
		{ name: "Exclusive", type: "boolean" },
		{ name: "CreatedByUserID" },
		{ name: "Verified", type: "boolean" },
		{ name: "FromSite", type: "boolean" },
		{ name: "ID" }
	]
});

eKonx.RieltObjects = Ext.extend(
Ext.Panel,
{
	constructor: function(config)
	{
		eKonx.Plugins.RieltObjects.ExclusiveColumn.Create();
		eKonx.Plugins.RieltObjects.AllowedColumn.Create();
		eKonx.Plugins.RieltObjects.Filters.Create();

		var RieltObjectsConfig =
		{
			title: eKonx.Res.RieltObjects.Title,
			//height: 650,
			autoHeight: true,
			border: false,
			items:
			[
				{
					html: eKonx.Res.RieltObjects.PageDescription,
					height: 40,
					border: false
				},
				{
					xtype: 'editorgrid',
					id: eKonx.Res.RieltObjects.IDPrefix + 'ObjectsList',
					height: 500,
					clicksToEdit: 1,
					stripeRows: true,
					trackMouseOver: true,
					viewConfig: { forceFit: true },
					//layout: "fit",
					//bodyStyle: "overflow-x:scroll",
					plugins:
					[
						eKonx.Plugins.RieltObjects.ExclusiveColumn.Instance,
						eKonx.Plugins.RieltObjects.AllowedColumn.Instance,
						eKonx.Plugins.RieltObjects.Filters.Instance,
						new Ext.ux.PanelResizer({ minHeight: 100 })
					],
					stateId: eKonx.Res.RieltObjects.IDPrefix + 'ObjectsListState',
					stateful: true,
					stateEvents: ['columnresize', 'columnmove', 'headermousedown', 'show', 'hide', 'sortchange'],
					sm: eKonx.UI.GetCellSelectionModel(),
					store: eKonx.RieltObjectsStore,
					loadMask:
					{
						msg: "Загрузка данных - пожалуйста, подождите",
						store: eKonx.RieltObjectsStore
					},
					cm: new Ext.grid.ColumnModel(
					[
						{
							dataIndex: "ID",
							id: eKonx.Res.RieltObjects.IDPrefix + "ID",
							header: "N",
							sortable: true,
							width: 30,
							editable: false
						},
						{
							dataIndex: "Image",
							id: eKonx.Res.RieltObjects.IDPrefix + "Image",
							header: eKonx.Res.RieltObjects.Photo,
							width: 50,
							sortable: false,
							menuDisabled: true
						},
						{
							dataIndex: "AdministrativeAreaID",
							header: eKonx.Res.RieltObjects.AdministrativeArea,
							id: eKonx.Res.RieltObjects.IDPrefix + "AdministrativeAreaID",
							sortable: true,
							width: 170,
							renderer: function(value)
							{
								var city = eKonx.Cache.GetByID("AdministrativeAreas", value);
								if (city == null) return "";
								return city.Name;
							}
						},
						{
							dataIndex: "Street",
							header: eKonx.Res.RieltObjects.Street,
							id: eKonx.Res.RieltObjects.IDPrefix + "Street",
							sortable: true
						},
						{
							dataIndex: "BuildingNumber",
							header: eKonx.Res.RieltObjects.BuildingNumber,
							id: eKonx.Res.RieltObjects.IDPrefix + "BuildingNumber",
							width: 65,
							menuDisabled: true
						},
						{
							dataIndex: "ManagerInfo",
							header: eKonx.Res.RieltObjects.Seller,
							id: eKonx.Res.RieltObjects.IDPrefix + "ManagerInfo",
							width: 65,
							menuDisabled: false,
							sortable: false
						},
						{
							dataIndex: "BuildYear",
							header: eKonx.Res.RieltObjects.BuildYear,
							id: eKonx.Res.RieltObjects.IDPrefix + "BuildYear",
							width: 65,
							menuDisabled: true
						},
						{
							dataIndex: "FloorNumber",
							header: eKonx.Res.RieltObjects.FloorNumber,
							id: eKonx.Res.RieltObjects.IDPrefix + "FloorNumber",
							width: 65,
							menuDisabled: false
						},
						{
							dataIndex: "FloorsTotal",
							header: eKonx.Res.RieltObjects.FloorsTotal,
							id: eKonx.Res.RieltObjects.IDPrefix + "FloorsTotal",
							width: 65,
							menuDisabled: false
						},
						{
							dataIndex: "RoomsCount",
							header: eKonx.Res.RieltObjects.RoomsCountColumn,
							id: eKonx.Res.RieltObjects.IDPrefix + "RoomsCount",
							width: 65,
							menuDisabled: false
						},
						{
							dataIndex: "ObjectSquare",
							header: eKonx.Res.RieltObjects.LandSquare,
							id: eKonx.Res.RieltObjects.IDPrefix + "ObjectSquare",
							width: 65,
							menuDisabled: true
						},
						{
							dataIndex: "Price",
							header: eKonx.Res.RieltObjects.Price,
							id: eKonx.Res.RieltObjects.IDPrefix + "Price",
							width: 65,
							menuDisabled: false,
							sortable: true
						},
						eKonx.Cache.GetColumn(
							"RieltItems.RieltObjectStatuses",
							eKonx.Res.RieltObjects.RieltObjectStatus,
							"RieltObjectStatusID",
							eKonx.Res.RieltObjects.RieltObjectStatusSelect,
							100,
							{
								editable: eKonx.CurrentUser.Permissions.CanChangeRieltObjectsStatus === true,
								sortable: true
							}),
						{
							dataIndex: "RieltObjectTypeID",
							header: "Тип объекта",
							id: eKonx.Res.RieltObjects.IDPrefix + "RieltObjectTypeID",
							sortable: true,
							width: 170,
							renderer: function(value)
							{
								var action = eKonx.Cache.GetByID("RieltItems.RieltObjectTypes", value);
								if (action == null) return "";
								return action.Name;
							}
						},
						{
							dataIndex: "BusinessActionTypeID",
							header: "Действие",
							id: eKonx.Res.RieltObjects.IDPrefix + "BusinessActionTypeID",
							sortable: true,
							width: 170,
							renderer: function(value)
							{
								var action = eKonx.Cache.GetByID("BusinessActions", value);
								if (action == null) return "";
								return action.Name;
							}
						},
						eKonx.Plugins.RieltObjects.ExclusiveColumn.Instance,
						eKonx.Plugins.RieltObjects.AllowedColumn.Instance,
					//edit rielt object icon
						{
							header: 'Изменить',
							dataIndex: "CreatedByUserID",
							id: eKonx.Res.RieltObjects.IDPrefix + "UserID",
							width: 55,
							align: 'center',
							css: 'cursor:pointer;',
							isAction: true,
							sortable: false,
							menuDisabled: true,
							click: function(column, rowIndex, data)
							{
								var w = eKonx.RieltObjectsEditor.Create(data);
								w.show();
							},
							renderer: function(val)
							{
								if (val == eKonx.Cache.User.ID || eKonx.CurrentUser.Permissions.CanEditAllRieltObjects)
								{
									return "<img src='../../I/Actions/Modify.gif' title='Редактировать' />";
								}
								return "<img src='../../I/Actions/zoom-blue.png' title='Просмотреть'/>";
							}
						},
					//DeleteObject
						{
							header: 'Удалить',
							isAction: true,
							align: 'center',
							css: 'cursor:pointer;',
							hidden: !eKonx.CurrentUser.Permissions.CanViewDeleteRieltObjectIcon,
							click: function(column, rowIndex, data)
							{
								if (data.CreatedByUserID == eKonx.Cache.User.ID || eKonx.CurrentUser.Permissions.CanViewDeleteRieltObjectIcon)
								{
									eKonx.Ajax(eKonx.Urls.RieltObjects.DeleteObject, { ID: data.ID });
									this.grid.getStore().reload();
								}
							},
							dataIndex: "CreatedByUserID",
							id: eKonx.Res.RieltObjects.IDPrefix + "DeleteID",
							width: 55,
							renderer: function(val)
							{
								if (val == eKonx.Cache.User.ID || eKonx.CurrentUser.Permissions.CanViewDeleteRieltObjectIcon)
								{
									return "<img src='../../I/Actions/Del.gif' style='cursor:pointer' title='Удалить'/>";
								}
								return "";
							}
						},
						{
							css: "align: center",
							header: eKonx.Res.RieltObjects.Verified,
							dataIndex: "Verified",
							align: 'center',
							css: 'cursor:pointer;',
							sortable: true,
							renderer: function(val)
							{
								if (val)
								{
									return "<img src='../../Scripts/ext-3.0.0/resources/images/default/dd/drop-yes.gif' title='Объект проверен'/>"
								}
								return "<img src='../../I/unchecked.gif' title='Объект не проверен' />";
							}
						},
					//modified date
							{
							header: eKonx.Res.Common.ModifiedDate,
							dataIndex: "ModifiedDate",
							sortable: true
						},
					//rielt object source
						{
							header: "Происхождение",
							dataIndex: "FromSite",
							sortable: true,
							renderer: function(val)
							{
								if (val == true)
								{
									return "Сайт";
								}
								return eKonx.Cache.User.OrganizationName;
							}
						}
					]),
					tbar:
					{
						//pageSize: 25,
						store: eKonx.RieltObjectsStore,
						displayInfo: true,
						//displayMsg: 'Displaying topics {0} - {1} of {2}',
						//emptyMsg: "No topics to display",
						remoteSort: true,
						items:
						[
							{
								xtype: 'button',
								//cls: 'x-btn-over1',
								//text: "<b style='color:red;'>" + eKonx.Res.Common.AddButton + "</b>",
								text: eKonx.Res.Common.AddButton + ' объект',
								iconCls: 'silk-add',
								width: 50,
								handler: function()
								{
									var panel = this.findParentByType('editorgrid').ownerCt;
									panel.GetObjectTypeSelectionWindow(panel).show();
								}
							},
							'-',
							{
								xtype: 'button',
								//cls: 'x-btn-over1',
								text: eKonx.Res.Common.SaveButton + ' объект',
								iconCls: 'icon-save',
								width: 50,
								handler: function()
								{
									var st = this.findParentByType("editorgrid").getStore();
									st.save();
									st.commitChanges();
								}
							},
							'-',
							{
								xtype: 'button',
								text: eKonx.Res.Common.FilterClear,
								iconCls: 'silk-page-white-stack',
								handler: function()
								{
									this.findParentByType('editorgrid').filters.clearFilters();
								}
							},
							'-'
						]
					},
					bbar: new Ext.PagingToolbar(
					{
						//pageSize: 25,
						store: eKonx.RieltObjectsStore,
						displayInfo: true,
						//displayMsg: 'Displaying topics {0} - {1} of {2}',
						//emptyMsg: "No topics to display",
						remoteSort: true,
						items:
						[
							'-',
							{
								margins: '0 10 0 0',
								xtype: "tbfill"
							},
							{
								xtype: 'button',
								cls: 'x-btn-over1',
								text: "<b style='color:red;'>" + eKonx.Res.Common.AddButton + "</b>",
								iconCls: 'silk-add',
								width: 50,
								handler: function()
								{
									var panel = this.findParentByType('editorgrid').ownerCt;
									panel.GetObjectTypeSelectionWindow(panel).show();
								}
							},
							{
								xtype: 'button',
								cls: 'x-btn-over1',
								text: eKonx.Res.Common.SaveButton,
								width: 50,
								handler: function()
								{
									var st = this.findParentByType("editorgrid").getStore();
									st.save();
									st.commitChanges();
								}
							}
						]
					}),
					listeners:
					{
						afterRender: function()
						{
							eKonx.RieltObjectsStore.reload();
						}
					}
				}
			]
		};
		this.GetObjectTypeSelectionWindow = function(parent)
		{
			return new Ext.Window(
					{
						modal: true,
						title: eKonx.Res.RieltObjects.ObjectTypeSelectionTitle,
						width: 450,
						height: 130,
						id: eKonx.Res.RieltObjects.IDPrefix + 'ObjectTypeSelectionWindow',
						layout: "fit",
						resizable: false,
						parent: parent,
						items:
						[
							{
								xtype: 'form',
								id: eKonx.Res.RieltObjects.IDPrefix + 'ObjectTypeSelectionForm',
								labelWidth: 150,
								defaults: { anchor: "100%" },
								bodyStyle: "padding: 10px",
								border: false,
								standardSubmit: false,
								items:
								[
									eKonx.Cache.GetComboBox("BusinessActions", "",
									{
										fieldLabel: eKonx.Res.RieltObjects.ActionTypesSelectionText,
										id: eKonx.Res.RieltObjects.IDPrefix + "BusinessActions",
										hiddenName: eKonx.Res.RieltObjects.IDPrefix + "hdBusinessActions",
										allowBlank: false,
										editable: false,
										lazyRender: false,
										forceSelection: true
									}),
									eKonx.Cache.GetComboBox("RieltItems.RieltObjectTypes", "",
									{
										fieldLabel: eKonx.Res.RieltObjects.ObjectTypeSelectionText,
										id: eKonx.Res.RieltObjects.IDPrefix + "RieltObjectTypes",
										hiddenName: eKonx.Res.RieltObjects.IDPrefix + "hdRieltObjectTypes",
										allowBlank: false,
										editable: false,
										lazyRender: false,
										forceSelection: true
									})
								]
							}
						],
						bbar:
						[
							{
								xtype: "tbfill"
							},
							{
								xtype: 'button',
								text: eKonx.Res.Common.CreateButton,
								handler: function()
								{
									var win = Ext.getCmp(eKonx.Res.RieltObjects.IDPrefix + 'ObjectTypeSelectionWindow');
									var frm = Ext.getCmp(eKonx.Res.RieltObjects.IDPrefix + 'ObjectTypeSelectionForm');
									if (!frm.getForm().isValid()) return;
									var actionTypesCombo = Ext.getCmp(eKonx.Res.RieltObjects.IDPrefix + "BusinessActions");
									var addressObjectTypesCombo = Ext.getCmp(eKonx.Res.RieltObjects.IDPrefix + "RieltObjectTypes");
									var requestCfg =
									{
										BusinessActionID: actionTypesCombo.getValue(),
										RieltObjectTypeID: addressObjectTypesCombo.getValue()
									};
									var newAddressId = false;

									var result = eKonx.Json(eKonx.Urls.RieltObjects.CreateObject, requestCfg);
									win.close();
									if (result)
									{
										eKonx.Mediator.fireEvent(eKonx.Events.RieldObjectCreated, result);
										result.CreatedByUserID = result.CreatedBy.ID;
										var w = eKonx.RieltObjectsEditor.Create(result);
										w.show();
									}
								}
							},
							{
								xtype: 'button',
								text: eKonx.Res.Common.CancelButton,
								handler: function()
								{
									this.findParentByType('window').close();
								}
							}
						]
					});
		};

		eKonx.Mediator.on(eKonx.Events.RieltObjectChanged, function(data)
		{
			eKonx.RieltObjectsStore.reload();
		});
		eKonx.Mediator.on(eKonx.Events.RieldObjectCreated, function(data)
		{
			eKonx.RieltObjectsStore.reload();
		});
		config = config || {};
		Ext.apply(config, RieltObjectsConfig);
		eKonx.RieltObjects.superclass.constructor.call(this, config);
	}
});
