print("MenuFunctions.lua: Loading Menu Functions...")

Triggered = false

function CheckCollision(Button, x, y)
	if	x > Button.X and x < Button.X + Button.W and y > Button.Y and y < Button.Y + Button.H then
		return true
	else
		return false
	end
end

function MoveMouse(x, y) 
	MouseCursor:SetX(MouseCursor.X + x)
	MouseCursor:SetY(MouseCursor.Y + y)
	
	if MouseCursor.X < 0 then
		MouseCursor:SetX(0)
	elseif MouseCursor.X > ScreenWidth then
		MouseCursor:SetX(ScreenWidth)
	end

	if MouseCursor.Y < 0 then
		MouseCursor:SetY(0)
	elseif MouseCursor.Y > ScreenHeight then
		MouseCursor:SetY(ScreenHeight)
	end
end

function TriggerButton()
	Triggered = true
end

function ColorTowards(Button, r, g, b, a, ColorSpeed)
	if Button.R < r then
		Button:SetR(Button.R + ColorSpeed)
		if Button.R > r then
			Button:SetR(r)
		end
	elseif Button.R > r then
		Button:SetR(Button.R - ColorSpeed)
		if Button.R < r then
			Button:SetR(r)
		end
	end
	
	if Button.G < g then
		Button:SetG(Button.G + ColorSpeed)
		if Button.G > g then
			Button:SetG(g)
		end
	elseif Button.G > g then
		Button:SetG(Button.G - ColorSpeed)
		if Button.G < g then
			Button:SetG(g)
		end
	end
	
	if Button.B < b then
		Button:SetB(Button.B + ColorSpeed)
		if Button.B > b then
			Button:SetB(b)
		end
	elseif Button.B > b then
		Button:SetB(Button.B - ColorSpeed)
		if Button.B < b then
			Button:SetB(b)
		end
	end
	
	if Button.A < a then
		Button:SetA(Button.A + ColorSpeed)
		if Button.A > a then
			Button:SetA(a)
		end
	elseif Button.A > a then
		Button:SetA(Button.A - ColorSpeed)
		if Button.A < a then
			Button:SetA(a)
		end
	end
end

function ScaleTowards(Button, w, h, wspeed, hspeed)
	if Button.W < w then
		if Button.W + wspeed > w then
			Button:SetWidth(w)
		else
			Button:SetWidth(Button.W + wspeed)
		end
	elseif Button.W > w then
		if Button.W - wspeed < w then
			Button:SetWidth(w)
			Button.blahblah = 100
		else
			Button:SetWidth(Button.W - wspeed)
		end
	end
	
	if Button.H < h then
		if Button.H + hspeed > h then
			Button:SetHeight(h)
		else
			Button:SetHeight(Button.H + hspeed)
		end
	elseif Button.H > h then
		if Button.H - hspeed < h then
			Button:SetHeight(h)
		else
			Button:SetHeight(Button.H - hspeed)
		end
	end
end

function MoveTowards(Button, x, y, xspeed, yspeed)
	if Button.X < x then
		if Button.X + xspeed > x then
			Button:SetX(x)
		else
			Button:SetX(Button.X + xspeed)
		end
	elseif Button.X > x then
		if Button.X - xspeed < x then
			Button:SetX(x)
		else
			Button:SetX(Button.X - xspeed)
		end
	end
	
	if Button.Y < y then
		if Button.Y + yspeed > y then
			Button:SetY(y)
		else
			Button:SetY(Button.Y + yspeed)
		end
	elseif Button.Y > y then
		if Button.Y - yspeed < y then
			Button:SetY(y)
		else
			Button:SetY(Button.Y - yspeed)
		end
	end
	
end

print("MenuFunctions.lua: Menu Functions Loaded.")
print("")