So, in this normal script it is suppose to change a TextButton and a frame to invisible, while changing another frame to visible. I have tried both local and normal scripts. It is a SurfaceGui that I am using. The TextButton will not function at all when clicked. Here is the script(currently normal script):

debounce = false
function OnClick()
	if debounce == false then
	debounce = true
	script.Parent.Text = "Logging In" 
	script.Parent.Parent.Login.TextLabel.Text = "Welcome to russieTECH Wayfarer"
	wait(5)
	script.Parent.Parent.Login.TextLabel.Text = "russieTECH"
	script.Parent.Text = "Login"
	script.Parent.Parent.Login.Visible = false
	script.Parent.Visible = false
	script.Parent.Parent.Main.Visible = true
	debounce = false
	else
		print "Invalid debounce"
	end

end

script.Parent.MouseButton1Down:connect(OnClick)