function draw()
	UiFont("bold.ttf", 48)
	UiAlign("center middle")
	UiTranslate(UiCenter(), UiMiddle())
	local state = GetString("level.track.state")
	local timer = math.floor(GetFloat("level.track.timer") * 100) / 100
	local bestTime = math.floor(GetFloat("level.track.best") * 100) / 100
	local lastTime = math.floor(GetFloat("level.track.last") * 100) / 100

	UiImage("LEVEL/script/racetrack/background.jpg")
	
	UiColor(1,1,1)

	if state == "ready" then
		UiPush()
			UiScale(2)
			UiText("loc@UI_TEXT_GET_READY")
		UiPop()
	elseif state == "broken" then
		UiPush()
			UiScale(2)
			UiText("loc@UI_TEXT_GATE_BROKEN")
		UiPop()
	elseif state == "start" then
		UiPush()
			UiScale(4)
			UiText(GetString("level.track.start"))
		UiPop()
	elseif state == "race" then
		UiPush()
			UiScale(4)
			UiAlign("left middle")
			UiTranslate(-50, 0)
			UiText(timer)
		UiPop()
	elseif state == "finish" then
		UiPush()
			UiScale(2)
			UiTranslate(0, -22)	
			UiText(GetTranslatedStringByKey("UI_TEXT_LAP_TIME"), true)
			lastTime = timer
			UiText(timer)
		UiPop()
	else
		UiPush()
			UiScale(1.3)
			UiAlign("center middle")
			if lastTime > 0 then
				UiTranslate(0, -30)
				UiText(GetTranslatedStringByKey("UI_TEXT_LAST_LAP").." "..lastTime)
				UiTranslate(0, 60)
			end
			UiText(GetTranslatedStringByKey("UI_TEXT_TRACK_RECORD").." "..bestTime)
		UiPop()
	end
end
