-- Script lua para consultar y desplegar la alternativa A

require 'tcp'

function writeText(text)				-- Funcion para desplegar texto en la pantalla
   canvas:attrColor(0,0,20,0)
   canvas:attrFont("in_font", 20)
   canvas:drawText(10, 0, text)
   canvas:flush()
end


local function bg_draw()					-- Funcion para dibujar el fondo del color que corresponda a la alternativa
	local img = canvas:new('red.jpg')
	canvas:compose(0, 0, img)
	canvas:flush()
end

local function winHandler (evt)
	if evt.class == "ncl" and evt.type == "presentation" then 				-- Se revisa que el formato del evento sea coherente
		if (evt.action == 'start') then													
		bg_draw()															-- Se dibuja el fondo de color de la alternativa
		local host = "www2.elo.utfsm.cl"									-- Se especifica el host como "www2.elo.utfsm.cl"
		tcp.execute(
			function ()
				tcp.connect(host, 80)														-- Se conecta al host al puerto 80 (http)
				local url = "GET http://"..host.."/~elo323/survey/get_question.php"			-- Requerimiento http para las alternativas
				tcp.send(url)
				tcp.send("\n")
				--obtém todo o conteúdo da página acessada
				local result = nil
				result = tcp.receive()												-- Result guarda la informacion de alternativas
				if result then															
					_,_,ansA = string.find(result, "<opt1>(.*)</opt1>")				-- Se parsea el string para guardar la alternativa A
					writeText(ansA)													-- Se escribe la alternativa A
					canvas:flush()
				else																	
					writeText("Error al recibir datos de conexion TCP")
					if evt.error ~= nil then 
						result = 'error: ' .. evt.error
					end
				end
				tcp.disconnect()													-- Termino de conexion
			end
		)
		end
	end
end
event.register(winHandler)

