
(function () {

	if (!window.rl)
	{
		return;
	}

	/**
	 * @constructor
	 */
	function CustomUserSettings()
	{
		this.userSkype = ko.observable('');
		this.userFacebook = ko.observable('');

		this.loading = ko.observable(false);
		this.saving = ko.observable(false);

		this.savingOrLoading = ko.computed(function () {
			return this.loading() || this.saving();
		}, this);
	}

	CustomUserSettings.prototype.customJsonSaveData = function ()
	{
		var self = this;

		if (this.saving())
		{
			return false;
		}

		this.saving(true);

		rl.pluginRemoteRequest((iError, oData) => {

			self.saving(false);

			if (!iError)
			{
				// true
			}
			else if (rl.Enums.StorageResultType.Abort === iError) {
				// show abort
			}
			else
			{
				// false
			}

		}, 'JsonSaveCustomUserData', {
			'UserSkype': this.userSkype(),
			'UserFacebook': this.userFacebook()
		});
	};

	CustomUserSettings.prototype.onBuild = function () // special function
	{
		var self = this;

		this.loading(true);

		rl.pluginRemoteRequest((iError, oData) => {

			self.loading(false);

			if (!iError)
			{
				self.userSkype(oData.Result.UserSkype || '');
				self.userFacebook(oData.Result.UserFacebook || '');
			}

		}, 'JsonGetCustomUserData');

	};

	rl.addSettingsViewModel(CustomUserSettings, 'PluginCustomSettingsTab',
		'SETTINGS_CUSTOM_PLUGIN/TAB_NAME', 'custom');

}());
