/* docscoapicommon.js
 *
 * Author: Alexander.Trofimov
 * Date: 09.11.12
 */
(	/**
	 * @param {Window} window
	 * @param {undefined} undefined
	 */
	function (window, undefined) {
		/*
		 * Import
		 * -----------------------------------------------------------------------------
		 */
		var asc = window["Asc"] ? window["Asc"] : (window["Asc"] = {});
		var prot;
		
		/**
		 * Класс user для совместного редактирования/просмотра документа
		 * -----------------------------------------------------------------------------
		 *
		 * @constructor
		 * @memberOf Asc
		 */
		function asc_CUser () {
			if ( !(this instanceof asc_CUser) ) {
				return new asc_CUser();
			}

			this.id				= null;					// уникальный id - пользователя
			this.userName		= null;					// имя пользователя
			this.isViewerMode	= false;				// режим просмотра или нет
			this.state			= undefined;			// состояние (true - подключен, false - отключился)

			return this;
		}

		asc_CUser.prototype = {
			constructor: asc_CUser,
			asc_getId: function () { return this.id; },
			asc_getUserName: function () { return this.userName; },
			asc_getIsViewerMode: function () { return this.isViewerMode; },
			asc_getState: function () { return this.state; },
			asc_setId: function (val) { this.id = val; },
			asc_setUserName: function (val) { this.userName = val; },
			asc_setIsViewerMode: function (val) { this.isViewerMode = val; },
			asc_setState: function (val) { this.state = val; }
		};
		
		/*
		 * Export
		 * -----------------------------------------------------------------------------
		 */
		window["Asc"]["asc_CUser"] = window["Asc"].asc_CUser = asc_CUser;
		prot = asc_CUser.prototype;
		prot["asc_getId"]				= prot.asc_getId;
		prot["asc_getUserName"]			= prot.asc_getUserName;
		prot["asc_getIsViewerMode"]		= prot.asc_getIsViewerMode;
		prot["asc_getState"]			= prot.asc_getState;
		prot["asc_setId"]				= prot.asc_setId;
		prot["asc_setUserName"]			= prot.asc_setUserName;
		prot["asc_setIsViewerMode"]		= prot.asc_setIsViewerMode;
		prot["asc_setState"]			= prot.asc_setState;
	}
)(window);