function HonorFrame_OnLoad(self)
	self:RegisterEvent("PLAYER_PVP_KILLS_CHANGED");
	self:RegisterEvent("PLAYER_ENTERING_WORLD");
	self:RegisterEvent("PLAYER_PVP_RANK_CHANGED");
end

function HonorFrame_OnEvent(self, event, ...)
	if ( event == "PLAYER_PVP_KILLS_CHANGED" or event == "PLAYER_PVP_RANK_CHANGED") then
		HonorFrame_Update();
	elseif event == "PLAYER_ENTERING_WORLD" then
		HonorFrame_Update(1);
	end
end

function HonorFrame_Update(updateAll)
	local hk, cp, dk, contribution, rank, highestRank, rankName, rankNumber;
	
	-- This only gets set on player entering the world
	if updateAll then
		-- Yesterday's values
		hk, contribution = GetPVPYesterdayStats();
		HonorFrameYesterdayHKValue:SetText(hk);
		HonorFrameYesterdayContributionValue:SetText(contribution);
		-- This Week's values
		--hk, contribution = GetPVPThisWeekStats();
		--HonorFrameThisWeekHKValue:SetText(hk);
		--HonorFrameThisWeekContributionValue:SetText(contribution);
		-- Last Week's values
		--hk, dk, contribution, rank = GetPVPLastWeekStats();
		--HonorFrameLastWeekHKValue:SetText(hk);
		--HonorFrameLastWeekContributionValue:SetText(contribution);
		--HonorFrameLastWeekStandingValue:SetText(rank);
	end
	
	-- This session's values
	hk, cp = GetPVPSessionStats();
	HonorFrameCurrentHKValue:SetText(hk);
	--HonorFrameCurrentDKValue:SetText(dk);
	
	-- Lifetime stats
	hk, highestRank = GetPVPLifetimeStats();
	HonorFrameLifeTimeHKValue:SetText(hk);
	--HonorFrameLifeTimeDKValue:SetText(dk);
	rankName, rankNumber = GetPVPRankInfo(highestRank);
	if not rankName then
		rankName = NONE;
	end
	HonorFrameLifeTimeRankValue:SetText(rankName);

	-- Set rank name and number
	rankName, rankNumber = GetPVPRankInfo(UnitPVPRank("player"));
	if not rankName then
		rankName = NONE;
	end
	HonorFrameCurrentPVPTitle:SetText(rankName);
	HonorFrameCurrentPVPRank:SetText("("..RANK.." "..rankNumber..")");
	
	-- Set icon
	if rankNumber > 0 then
		HonorFramePvPIcon:SetTexture(format("%s%02d","Interface\\PvPRankBadges\\PvPRank",rankNumber));
		HonorFramePvPIcon:Show();
	else
		HonorFramePvPIcon:Hide();
	end
	
	-- Set rank progress and bar color
	local factionGroup, factionName = UnitFactionGroup("player");
	if factionGroup == "Alliance" then
		HonorFrameProgressBar:SetStatusBarColor(0.05, 0.15, 0.36);
	else
		HonorFrameProgressBar:SetStatusBarColor(0.63, 0.09, 0.09);
	end
	HonorFrameProgressBar:SetValue(GetPVPRankProgress());

	-- Recenter rank text
	HonorFrameCurrentPVPTitle:SetPoint("TOP", "HonorFrame", "TOP", - HonorFrameCurrentPVPRank:GetWidth()/2, -83);
end