function NumberColumn(x, y, w, h, number) {
	//Основной прямоугольник
	var rAll = new Rectangle(x, y, w, h);
	//Текущий статус по простою
	var prostoy = true;
	/*Проценты поднимаются снизу вверх (false)
	 *или слева направо (true)*/
	var rotate = false;
	/*Функции для работы с координатами
	* основного прямоугольника */
	this.X = function (val) {
		if (val === undefined) return rAll().X();
		rAll().X(val);
	};
	this.Y = function (val) {
		if (val === undefined) return rAll().Y();
		rAll().Y(val);
	};
	this.W = function (val) {
		if (val === undefined) return rAll().W();
		rAll().W(val);
	};
	this.H = function (val) {
		if (val === undefined) return rAll().H();
		rAll().H(val);
	};
	//Функция изменения начальной координаты и размеров прямоугольника
	this.RectParam = function (_x, _y, _w, _h) {
		rAll.RectParam(_x, _y, _w, _h);
	};
	//Функция изменения прямоугольника по другому прямоугольнику
	this.Rect = function (val) {
		if (val === undefined) return rAll;
		rAll.Rect(val);
	};
	//Функция установки номера
	this.Number = function (val) {
		if (val === undefined) return number;
		var v = parseInt(val);
		number = (isNaN(v) || v < 0) ? 0 : v;
	};
	this.Number(number);
	//Функция установки статуса по простою
	this.Prostoy = function (val) {
		if (val === undefined) return prostoy;
		prostoy = (typeof val === 'boolean') ? val : false;
	};
	//Изменение направления отрисовки текста
	this.Rotate = function (val) {
		if (val === undefined) return rotate;
		rotate = (typeof val === 'boolean') ? val : false;
	};
	//Печать номера
	this.Print = function (ctx) {
		ctx.fillStyle = (!prostoy) ? '#ff0' : '#ff8000';
		ctx.fillRect(rAll.X(), rAll.Y(), rAll.W(), rAll.H());
		ctx.strokeStyle = '#000';//'#333'
		ctx.strokeRect(rAll.X(), rAll.Y(), rAll.W(), rAll.H());
		ctx.save();
		ctx.translate(rAll.X() + rAll.W() / 2, rAll.Y() + rAll.H() / 2);
		if (rotate) ctx.rotate(3 * Math.PI / 2);
		ctx.fillStyle = '#000';
		ctx.textAlign = 'center';
		ctx.textBaseline = 'middle';
		var px = rAll.H() < rAll.W() ? rAll.H() - 3 : rAll.W() - 3;
		px = px < 0 ? 0 : px;
		ctx.font = px + 'px Arial';
		ctx.fillText(number, 0, 0);
		ctx.restore();
	};
}
