local monarch = require "monarch.monarch"
local transitions = require "monarch.transitions.gui"

function init(self)
	msg.post(".", "acquire_input_focus")

	gui.set_text(gui.get_node("timestamp"), os.date())

	gui.animate(gui.get_node("spinner"), gui.PROP_ROTATION, vmath.vector3(0, 0, -360), gui.EASING_INOUTQUAD, 2, 0, nil, gui.PLAYBACK_LOOP_FORWARD)

	self.transition = transitions.fade_in_out(gui.get_node("root"), 0.6, 0)
end

function on_input(self, action_id, action)
	if action_id == hash("touch") and action.released then
		if gui.pick_node(gui.get_node("startgame_button"), action.x, action.y) then
			monarch.show(hash("popup"), nil, nil, function()
				print("showing popup done")
			end)
		elseif gui.pick_node(gui.get_node("about_button"), action.x, action.y) then
			monarch.show(hash("about"), nil, nil, function()
				print("showing about done")
			end)
		elseif gui.pick_node(gui.get_node("back_button"), action.x, action.y) then
			monarch.back()
		end
	end
end

function on_message(self, message_id, message, sender)
	self.transition.handle(message_id, message, sender)
	if message_id == monarch.FOCUS.GAINED then
		gui.set_text(gui.get_node("timestamp"), os.date())
	end
end
