@@ -1,6 +1,11 @@
 REQUIRED_REST_HOURS = 5;
 
 function PlayerFrame_OnLoad(self)
+	PlayerFrameHealthBar.LeftText = PlayerFrameHealthBarTextLeft;
+	PlayerFrameHealthBar.RightText = PlayerFrameHealthBarTextRight;
+	PlayerFrameManaBar.LeftText = PlayerFrameManaBarTextLeft;
+	PlayerFrameManaBar.RightText = PlayerFrameManaBarTextRight;
+
 	UnitFrame_Initialize(self, "player", PlayerName, PlayerPortrait,
 						 PlayerFrameHealthBar, PlayerFrameHealthBarText, 
 						 PlayerFrameManaBar, PlayerFrameManaBarText,
@@ -56,7 +61,13 @@ end
 
 function PlayerFrame_Update ()
 	if ( UnitExists("player") ) then
-		PlayerLevelText:SetText(UnitLevel(PlayerFrame.unit));
+		local level = UnitLevel(PlayerFrame.unit);
+		if ( level == 100 ) then
+			PlayerLevelText:SetPoint("CENTER", PlayerFrameTexture, "CENTER", -62, -17);
+		else
+			PlayerLevelText:SetPoint("CENTER", PlayerFrameTexture, "CENTER", -61, -17);
+		end
+		PlayerLevelText:SetText(level);
 		PlayerFrame_UpdatePartyLeader();
 		PlayerFrame_UpdatePvPStatus();
 		PlayerFrame_UpdateStatus();
@@ -130,7 +141,7 @@ function PlayerFrame_OnEvent(self, event
 	local arg1, arg2, arg3, arg4, arg5 = ...;
 	if ( event == "UNIT_LEVEL" ) then
 		if ( arg1 == "player" ) then
-			PlayerLevelText:SetText(UnitLevel(self.unit));
+			PlayerFrame_Update();
 		end
 	elseif ( event == "UNIT_COMBAT" ) then
 		if ( arg1 == self.unit ) then
@@ -775,6 +786,7 @@ function PlayerFrame_AttachCastBar()
 	local petCastBar = PetCastingBarFrame;
 	-- player
 	castBar.ignoreFramePositionManager = true;
+	castBar:SetAttribute("ignoreFramePositionManager", true);
 	CastingBarFrame_SetLook(castBar, "UNITFRAME");
 	castBar:ClearAllPoints();
 	castBar:SetPoint("LEFT", PlayerFrame, 78, 0);
@@ -786,6 +798,7 @@ function PlayerFrame_AttachCastBar()
 	petCastBar:SetPoint("TOP", castBar, "TOP", 0, 0);
 	
 	PlayerFrame_AdjustAttachments();
+	UIParent_ManageFramePositions();
 end
 
 function PlayerFrame_DetachCastBar()
@@ -793,6 +806,7 @@ function PlayerFrame_DetachCastBar()
 	local petCastBar = PetCastingBarFrame;
 	-- player
 	castBar.ignoreFramePositionManager = nil;
+	castBar:SetAttribute("ignoreFramePositionManager", false);
 	CastingBarFrame_SetLook(castBar, "CLASSIC");
 	castBar:ClearAllPoints();
 	-- pet