	GLOBALS = {};

	//units = [];
	units = {"ml": "мл.", "kg": "кг.", "l": "л."};
	
	function calcMagnitude(n)
	{
		switch (n) {
			case 0:
				return calcMagnitude(GLOBALS.calc_magnitude);
				break;
			case 1:
				GLOBALS.calc_magnitude = n;

				$('#SeamLength').attr('value', 0);
				$('#SeamLength').attr('disabled','disabled');
				$('#UnitNumber').removeAttr('disabled');

				$('#SeamLengthLabel').css('font-weight','bold');
				$('#UnitNumberLabel').css('font-weight','100');

				var r, v, k, s;

				s = getCalcValue('#SeamWidth') * getCalcValue('#SeamDepth');
				k = getCalcValue('#UnitNumber');
				v = getVolume('#Volume')[0];

				r = parseValue(v * k / s);
				r = r - (r / 100 * 6);
				r = r.toFixed(1);

				$('#SeamLength').attr('value', r);

				break;
			case 2:
				GLOBALS.calc_magnitude = n;

				$('#UnitNumber').attr('value', 0);
				$('#SeamLength').removeAttr('disabled');
				$('#UnitNumber').attr('disabled','disabled');

				$('#SeamLengthLabel').css('font-weight','100');
				$('#UnitNumberLabel').css('font-weight','bold');

				var r, v, t, s;

				s = getCalcValue('#SeamWidth') * getCalcValue('#SeamDepth');
				t = getCalcValue('#SeamLength');
				v = getVolume('#Volume')[0];

				r = parseValue(s * t / v);
				r = r + (r / 100 * 6);
				r = Math.ceil(r);

				$('#UnitNumber').attr('value', r);
				break;
			default:
				var undef;

				if (typeof(undef) == typeof(n)) {
					alert('Выберите искомую величину');
				} else {
					alert('Неизвестная величина ' + n);
				}
				break;
		}
	}

	function resetCalc()
	{
		$('#SeamWidth').attr('value', 0);
		$('#SeamDepth').attr('value', 0);
		$('#SeamLength').attr('value', 0);
		$('#UnitNumber').attr('value', 0);
	}

	function getVolume(id)
	{
		var ret;
		ret = $(id).attr('value').split(/_/);

		if (ret[1] == 'l') {
			ret[0] = ret[0] * 1000;
			ret[1] = 'ml';
		}

		return ret;
	}

	function getCalcValue(id)
	{
		return parseValue($(id).attr('value'));
	}

	function parseValue(x)
	{
		x = parseFloat(x);

		if (isNaN(x)) {
			x = 0;
		}

		return x;
	}
