
local PANEL = {}

/*---------------------------------------------------------
   Init
---------------------------------------------------------*/
function PANEL:Init()

	self:SetText( "" )
	self.DoClick = function() RunConsoleCommand( "seensplash" ) self:Remove() end
	self:SetSkin( GAMEMODE.HudSkin )

	self.lblGamemodeName = vgui.Create( "DLabel", self )
		self.lblGamemodeName:SetText( GAMEMODE.Name )
		self.lblGamemodeName:SetFont( "FRETTA_LARGE" )
		self.lblGamemodeName:SetColor( color_white )
		
	self.lblGamemodeAuthor = vgui.Create( "DLabel", self )
		self.lblGamemodeAuthor:SetText( "by " .. GAMEMODE.Author )
		self.lblGamemodeAuthor:SetFont( "FRETTA_MEDIUM" )
		self.lblGamemodeAuthor:SetColor( color_white )
		
	self.lblServerName = vgui.Create( "DLabel", self )
		self.lblServerName:SetText( GetHostName() )
		self.lblServerName:SetFont( "FRETTA_MEDIUM" )
		self.lblServerName:SetColor( color_white )
		
	self.lblIP = vgui.Create( "DLabel", self )
		self.lblIP:SetText( "0.0.0.0" )
		self.lblIP:SetFont( "FRETTA_MEDIUM" )
		self.lblIP:SetColor( color_white )
		
	
	self:PerformLayout()
	
	self.FadeInTime = RealTime()
	
end

/*---------------------------------------------------------
   PerformLayout
---------------------------------------------------------*/
function PANEL:PerformLayout()

	self:SetSize( ScrW(), ScrH() )
	
	local CenterY = ScrH() / 2.0
	
	self.lblGamemodeName:SizeToContents()
	self.lblGamemodeName:SetPos( ScrW()/2 - self.lblGamemodeName:GetWide()/2, CenterY - 200 - self.lblGamemodeName:GetTall() - self.lblGamemodeAuthor:GetTall() )
	
	self.lblGamemodeAuthor:SizeToContents()
	self.lblGamemodeAuthor:SetPos( ScrW()/2 - self.lblGamemodeAuthor:GetWide()/2, CenterY - 200 - self.lblGamemodeAuthor:GetTall() )
	
	self.lblServerName:SizeToContents()
	self.lblServerName:SetPos( 100, CenterY + 200 )
	
	self.lblIP:SetText( GetConVarString( "ip" )  )
	self.lblIP:SizeToContents()
	self.lblIP:SetPos( self:GetWide() - 100 - self.lblIP:GetWide(), CenterY + 200 )
	
end

/*---------------------------------------------------------
   Paint
---------------------------------------------------------*/
function PANEL:Paint()

	Derma_DrawBackgroundBlur( self )
	
	local Fade = RealTime() - self.FadeInTime
	if ( Fade < 3 ) then
	
		Fade = 1- (Fade / 3);
		surface.SetDrawColor( 0,0, 0, Fade * 255 );
		surface.DrawRect( 0, 0, self:GetWide(), self:GetTall() );
	
	end
	
	
	local CenterY = ScrH() / 2.0
	
	surface.SetDrawColor( 0, 0, 0, 200 );
	surface.DrawRect( 0, 0, self:GetWide(), CenterY - 180 );
	
	surface.DrawRect( 0, CenterY + 180, self:GetWide(), self:GetTall() - ( CenterY+ 180 ) );
	
	GAMEMODE:PaintSplashScreen( self:GetWide(), self:GetTall() )

end

local vgui_Splash = vgui.RegisterTable( PANEL, "DButton" )

function GM:ShowSplash()

	local pnl = vgui.CreateFromTable( vgui_Splash )
	pnl:MakePopup()

end


function GM:PaintSplashScreen( w, h )

	// Customised splashscreen render here ( The center bit! )

end
