Class UIP_News extends KFGUI_MultiComponent;

var KFGUI_TextField NewsField;
var string WebsiteURL;
var KFGUI_Button WebsiteButton;

var localized string WebSiteButtonText;
var localized string WebsiteButtonToolTip;

function InitMenu()
{
	Super.InitMenu();

	// Client settings
	NewsField = KFGUI_TextField(FindComponentID('News'));
	WebsiteButton = KFGUI_Button(FindComponentID('Website'));
	
	WebsiteButton.ButtonText=WebSiteButtonText;
	
	Timer();
}

function ShowMenu()
{
	local KFGameReplicationInfo GRI;
	
	Super.ShowMenu();
	GRI = KFGameReplicationInfo(GetPlayer().WorldInfo.GRI);
	WebsiteButton.SetDisabled(GRI==None || GRI.ServerAdInfo.WebsiteLink=="");
	if (!WebsiteButton.bDisabled)
	{
		WebsiteURL = GRI.ServerAdInfo.WebsiteLink;
		WebsiteButton.ChangeToolTip(WebsiteButtonToolTip$" "$WebsiteURL);
	}
}

function Timer()
{
	if (!ExtPlayerController(GetPlayer()).bMOTDReceived)
		SetTimer(0.2,false);
	else NewsField.SetText(ExtPlayerController(GetPlayer()).ServerMOTD);
}

function ButtonClicked(KFGUI_Button Sender)
{
	switch (Sender.ID)
	{
	case 'Website':
		class'GameEngine'.static.GetOnlineSubsystem().OpenURL(WebsiteURL);
		break;
	}
}

defaultproperties
{
	Begin Object Class=KFGUI_TextField Name=NewsText
		ID="News"
		XPosition=0.025
		YPosition=0.025
		XSize=0.95
		YSize=0.893
	End Object
	Begin Object Class=KFGUI_Button Name=WebSiteButton
		ID="Website"
		XPosition=0.44
		YPosition=0.92
		XSize=0.12
		YSize=0.06
		OnClickLeft=ButtonClicked
		OnClickRight=ButtonClicked
	End Object

	Components.Add(NewsText)
	Components.Add(WebSiteButton)
}