//#include ../core/escape.js
//#include ./add.js

/**
 * Вернуть родительский контекст
 *
 * @param {?number=} [opt_n=1] - родительский уровень
 * @param {?string=} [opt_id='active'] - ИД контекста
 * @return {(!Array|string)}
 */
Collection.prototype.parentContext = function (opt_n, opt_id) {
	var context = this._get('context', opt_id),
		contextIsArray = isArray(context);

	var list = contextIsArray ?
		context.slice() : this.splitPath(context, true);

	for (let i = opt_n || 1; i--;) {
		list.pop();
	}

	return contextIsArray ?
		list : list.join(' > ');
};

/**
 * Изменить контекст на родительский
 *
 * @param {?number=} [opt_n=1] - родительский уровень
 * @param {?string=} [opt_id='active'] - ИД контекста
 * @return {(!Array|string)}
 */
Collection.prototype.parent = function (opt_n, opt_id) {
	var ctx = this.parentContext(opt_n, opt_id);

	if (opt_id != null) {
		this._add('context', String(opt_id), ctx);

	} else {
		this._update('context', ctx);
	}

	return ctx;
};
