setCurrentRailMain (t, fakeTime) {
		if (t.getCurrentTime() !== undefined && t.getDuration()) {
			const nTime = (typeof fakeTime === 'undefined') ? t.getCurrentTime() : fakeTime;

			// update bar and handle
			if (t.total && t.handle) {
				const tW = parseFloat(getComputedStyle(t.total).width);

				let
					newWidth = Math.round(tW * nTime / t.getDuration()),
					handlePos = newWidth - Math.round(t.handle.offsetWidth / 2)
				;

				handlePos = (handlePos < 0) ? 0 : handlePos;
				t.setTransformStyle(t.current,`scaleX(${newWidth/tW})`);
				t.setTransformStyle(t.handle,`translateX(${handlePos}px)`);

				if (t.options.useSmoothHover && !hasClass(t.hovered, 'no-hover')) {
					let pos = parseInt(t.hovered.getAttribute('pos'), 10);
					pos = (isNaN(pos)) ? 0 : pos;

					const hoverScaleX = pos/tW - handlePos/tW;

					t.hovered.style.left = `${handlePos}px`;
					t.setTransformStyle(t.hovered,`scaleX(${hoverScaleX})`);

					if (hoverScaleX >= 0) {
						removeClass(t.hovered, 'negative');
					} else {
						addClass(t.hovered, 'negative');
					}
				}
			}
		}
	}
Method that handles the calculation of the width of the rail.

@param {MediaElementPlayer} t
@param {?Number} fakeTime