--
-- VREMENSKI OKVIR - BOJE
--
w = {};
math_mod = require('Module:Math');
function w._temperature_color(val)
local background, text_color;
if val == nil then
return {background = "#FFFFFF",
color = "#000000"};
end
-- background-color
if val < -20 then background = '#6495ED'
elseif val < -15 then background = '#8AB0FF'
elseif val < -10 then background = '#B9D3FF'
elseif val < -5 then background = '#CFE8FF'
elseif val < 0 then background = '#F0F8FF'
elseif val < 5 then background = '#FFFFEE'
elseif val < 10 then background = '#FFFF99'
elseif val < 15 then background = '#FFCC66'
elseif val < 20 then background = '#FFA500'
elseif val < 25 then background = '#FF8C00'
elseif val < 30 then background = '#FF6347'
elseif val < 35 then background = '#FF4040'
else background = '#EE0000'
end
-- text-color
if val >= 35 then text_color = "#FFFFFF";
else text_color = "#000000";
end
return {background = background,
color = text_color};
end
function w._precipitation_color(val)
local background, text_color;
if val == nil then
return {background = "#FFFFFF",
color = "#000000"};
end
-- background-color
if val < 10 then background = '#EED8AE'
elseif val < 20 then background = '#FFF8DC'
elseif val < 30 then background = '#FFFFF0'
elseif val < 40 then background = '#F0F8FF'
elseif val < 50 then background = '#CFE8FF'
elseif val < 60 then background = '#B9D3FF'
elseif val < 70 then background = '#8AB0FF'
elseif val < 80 then background = '#6495ED'
elseif val < 90 then background = '#4169E1'
elseif val < 100 then background = '#002FA7'
elseif val < 110 then background = '#00008B'
elseif val < 120 then background = '#000060'
else background = '#00004F'
end
-- text-color
if val >= 80 then text_color = "#FFFFFF";
else text_color = "#000000";
end
return {background = background,
color = text_color};
end
function w._rainy_days(val)
local background, text_color;
if val == nil then
return {background = "#FFFFFF",
color = "#000000"};
end
-- background-color
if val < 2 then background = '#EED8AE'
elseif val < 5 then background = '#FFF8DC'
elseif val < 8 then background = '#FFFFF0'
elseif val < 10 then background = '#F0F8FF'
elseif val < 13 then background = '#CFE8FF'
elseif val < 15 then background = '#B9D3FF'
elseif val < 17 then background = '#8AB0FF'
elseif val < 20 then background = '#6495ED'
elseif val < 22 then background = '#4169E1'
elseif val < 25 then background = '#002FA7'
elseif val < 27 then background = '#00008B'
elseif val < 30 then background = '#000060'
else background = '#00004F'
end
-- text-color
if val >= 20 then text_color = "#FFFFFF";
else text_color = "#000000";
end
return {background = background,
color = text_color};
end
function w._humidity(val)
local background, text_color;
if val == nil then
return {background = "#FFFFFF",
color = "#000000"};
end
-- background-color
if val < 8 then background = '#EED8AE'
elseif val < 16 then background = '#FFF8DC'
elseif val < 24 then background = '#FFFFF0'
elseif val < 32 then background = '#F0F8FF'
elseif val < 40 then background = '#CFE8FF'
elseif val < 48 then background = '#B9D3FF'
elseif val < 56 then background = '#8AB0FF'
elseif val < 64 then background = '#6495ED'
elseif val < 72 then background = '#4169E1'
elseif val < 80 then background = '#002FA7'
elseif val < 88 then background = '#00008B'
elseif val < 96 then background = '#000060'
else background = '#00004F'
end
-- text-color
if val >= 64 then text_color = "#FFFFFF";
else text_color = "#000000";
end
return {background = background,
color = text_color};
end
function w._sunshine_hours(val)
local background, text_color;
if val == nil then
return {background = "#FFFFFF",
color = "#000000"};
end
-- background-color
if val < 1 then background = '#929292'
elseif val < 2 then background = '#AFAFAF'
elseif val < 3 then background = '#D0D0D0'
elseif val < 4 then background = '#E4E4E4'
elseif val < 5 then background = '#F4F3F3'
elseif val < 6 then background = '#FEFCEE'
elseif val < 7 then background = '#F9F5C0'
elseif val < 8 then background = '#F9F199'
elseif val < 9 then background = '#FDCB67'
elseif val < 10 then background = '#F6A316'
else background = '#F18918'
end
-- text-color
text_color = "#000000";
return {background = background,
color = text_color};
end
function w.temperature(frame)
local val = math_mod._cleanNumber(frame.args[1])
local t_val = w._temperature_color(val)
return "background:" .. t_val.background .. "; color:" .. t_val.color .. ";"
end
function w.precipitation(frame)
local val = math_mod._cleanNumber(frame.args[1])
local p_val = w._precipitation_color(val)
return "background:" .. p_val.background .. "; color:" .. p_val.color .. ";"
end
function w.rainy_days(frame)
local val = math_mod._cleanNumber(frame.args[1])
local p_val = w._rainy_days(val)
return "background:" .. p_val.background .. "; color:" .. p_val.color .. ";"
end
function w.humidity(frame)
local val = math_mod._cleanNumber(frame.args[1])
local h_val = w._humidity(val)
return "background:" .. h_val.background .. "; color:" .. h_val.color .. ";"
end
function w.sunshine_hours(frame)
local val = math_mod._cleanNumber(frame.args[1])
local s_val = w._sunshine_hours(val)
return "background:" .. s_val.background .. "; color:" .. s_val.color .. ";"
end
return w