Index: /Users/mh/Documents/workspace/trunk/server/HTML/Default/settings/index.html
===================================================================
--- /Users/mh/Documents/workspace/trunk/server/HTML/Default/settings/index.html	(revision 14864)
+++ /Users/mh/Documents/workspace/trunk/server/HTML/Default/settings/index.html	(working copy)
@@ -1,16 +1,4 @@
-[%- 	firstLevelItems = [
-		'BASIC_SERVER_SETTINGS',
-		'ITUNES',
-		'PLUGIN_PODCAST',
-		'SQUEEZENETWORK_SETTINGS',
-		'INTERFACE_SETTINGS',
-		'SETUP_GROUP_PLUGINS',
-		'SERVER_STATUS',
-		'PLUGINS',
-		'BEHAVIOR_SETTINGS'
-	];
-
-BLOCK settingsPage -%]
+[%- BLOCK settingsPage -%]
 	<div class="selectorMarker [% IF token == subPage %]selectedItem[% END %]" onclick="SettingsPage.onClicked(this);" onmouseover="SettingsPage.highlight(this);">
 		<div class="selector_topRight"><div class="selector_topLeft"><div class="selector_bottomRight"><div class="selector_bottomLeft">
 			<div class="homeMenuItem" id="[% token %][% IF category %]:[% category %][% END %]">
Index: /Users/mh/Documents/workspace/trunk/server/HTML/EN/settings/header.html
===================================================================
--- /Users/mh/Documents/workspace/trunk/server/HTML/EN/settings/header.html	(revision 14864)
+++ /Users/mh/Documents/workspace/trunk/server/HTML/EN/settings/header.html	(working copy)
@@ -1,13 +1,9 @@
-[% IF NOT ajaxUpdate %]
-<!-- Begin settingsheader.html -->
-[% FILTER null %]
-
-	[% IF NOT useTabList; pwd_list = BLOCK %]
-		[%- PROCESS setting_chooser.html setting_chooser_noHome = 1 %]
-	[% END; END %]
-
-	[% pageHeaderScripts = BLOCK %]
-		[% pageHeaderScripts %]
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+	<head>
+		[% PROCESS standardheader.html %]
+		
 		<script type="text/javascript" src="[% webroot %]html/prototype.js?r=[% revision %]" ></script>
 		<script type="text/javascript" src="[% webroot %]html/scriptaculous/scriptaculous.js?load=effects,controls&amp;r=[% revision %]" ></script>
 		<script type="text/javascript" src="[% webroot %]html/global.js?r=[% revision %]" ></script>
@@ -17,33 +13,33 @@
 			new Event.observe(window, 'load', function(){ initSettingsForm(); });
 			[%- END %]
 		</script>
-	[% END %]
-
-	[% IF useTabList; pageHeaderInfo = BLOCK %]
- 		[%- PROCESS setting_chooser.html setting_chooser_noHome = 1 %]
- 	[% END; END %]
- 	
-[% END %]
-
-[% IF playerid && needsClient; pagetitle='PLAYER_SETTINGS' | string; ELSE; pagetitle = 'SERVER_SETTINGS' | string; END %]
-[% pageicon = 'settings'; noSpacer = 1; PROCESS pageheader.html %]
+	</head>
+	<body  [% bodyscript %]>
+	<div id="statusMessage">
+		[% SET pwd_list = pageHeaderMenu IF pageHeaderMenu and not pwd_list -%]
+		[%- PROCESS crumblist IF pwd_list %]
+	</div>
+	<div id="pageHeaderInfo">
+		[% pageHeaderInfo %]
+	</div>
+	<div id="homeMenu">
 
-<div id="statusarea" class="statusarea">
-	[%- IF warning %]
-		[% warning %]
-	[% END -%]
-</div>
+	<div id="statusarea" class="statusarea">
+		[%- IF warning %]
+			[% warning %]
+		[% END -%]
+	</div>
+	
+	<div id="settingsRegion">
 
-<div id="settingsRegion">
-[% END %]
-<form name="settingsForm" id="settingsForm" method="post" action="[% webroot %][% path %][% IF playerid %]?playerid=[% playerid | uri %][% END %]">
-<div id="innerSettingsBlock">
-<div id="fileselectorautocomplete" class="fileselectorautocomplete" style="display:none"></div>
-<div id="fileselectorindicator" class="fileselectorindicator" style="display:none"><img src="/html/images/wait.gif"></div>
-
-	<input type=hidden value="0" name="useAJAX">
-	<input type=hidden value="[% page %]" name="page">
-	[% IF playerid && needsClient %]<input type=hidden value="[% playerid %]" name="playerid">[% END %]
-	[% IF player %]<input type=hidden value="[% player %]" name="player">[% END %]
-
-<!-- End settingsheader.html -->
+	<form name="settingsForm" id="settingsForm" method="post" action="[% webroot %][% path %][% IF playerid %]?playerid=[% playerid | uri %][% END %]">
+	<div id="innerSettingsBlock">
+	<div id="fileselectorautocomplete" class="fileselectorautocomplete" style="display:none"></div>
+	<div id="fileselectorindicator" class="fileselectorindicator" style="display:none"><img src="/html/images/wait.gif"></div>
+	
+		<input type=hidden value="0" name="useAJAX">
+		<input type=hidden value="[% page %]" name="page">
+		[% IF playerid && needsClient %]<input type=hidden value="[% playerid %]" name="playerid">[% END %]
+		[% IF player %]<input type=hidden value="[% player %]" name="player">[% END %]
+	
+	<!-- End settingsheader.html -->
Index: /Users/mh/Documents/workspace/trunk/server/HTML/EN/settings/index.html
===================================================================
--- /Users/mh/Documents/workspace/trunk/server/HTML/EN/settings/index.html	(revision 14864)
+++ /Users/mh/Documents/workspace/trunk/server/HTML/EN/settings/index.html	(working copy)
@@ -0,0 +1,78 @@
+[%- IF menu == 'ADVANCED_SETTINGS';
+	PROCESS setting_chooser.html useTabList=1 style='list';
+%]
+
+[%- ELSIF menu == 'PLAYER';
+
+	stringkeys = playersetup.keys;
+	USE Clients; players = Clients.get("id")
+	%]
+		<p>&nbsp;</p>
+		<div id="playerSelector"></div>
+		<p>&nbsp;</p>
+	[%
+
+	IF links;
+		PROCESS setting_chooser.html useTabList=1 style='list';
+
+	END %]
+
+[%- ELSIF menu == 'main';
+	IF playerid && needsClient; pagetitle='PLAYER_SETTINGS' | string; ELSE; pagetitle = 'SERVER_SETTINGS' | string; END;
+	pageicon = 'settings';
+	noSpacer = 1;
+
+	pageHeaderMenu = BLOCK;
+	FOREACH stringkey = firstLevelItems;
+		link = additionalLinks.setup.$stringkey;
+		IF !link; link = path _ '?sub=' _ stringkey _ '&amp;'; END %]
+		<a href="[% webroot %][% link %]player=[% playerURI %][% IF playerid %]&amp;playerid=[% playerid %][% END %]" target="settings">[% stringkey | string | html %]</a>[% IF style == "list" %]</li>[% END %]
+		[% IF !loop.last %]<span class="bar">|</span>[% END %]
+	[%- END; END;
+
+	PROCESS pageheader.html;
+
+	PROCESS settings/footer.html nosubmit=1 %]
+
+[%- ELSIF sub == 'PLAYER' && !playerid;
+	PROCESS settings/header.html %]
+	<p><br/>[% "NO_PLAYER_FOUND" | string %]</p>
+	[% PROCESS settings/footer.html %]
+
+[%- ELSIF sub -%]
+	<frameset cols="250,*">
+		[% IF !subPage && sub == 'PLAYER';
+			subPage = "BASIC_PLAYER_SETTINGS";
+		ELSIF !subPage;
+			subPage = "FORMATTING_SETTINGS";
+		END %]
+		<frame src="[% webroot %]settings/index.html?player=[% playerURI %]&amp;menu=[% sub %]&amp;subPage=[% subPage %][% IF playerid %]&amp;playerid=[% playerURI; END %]" name="menu" frameborder="0">
+
+		[% IF additionalLinks.setup.$subPage;
+			myPage = additionalLinks.setup.$subPage;
+		ELSIF playersetup.$subPage;
+			myPage = playersetup.$subPage;
+		ELSIF sub == 'player';
+			myPage = webroot _ "settings/player/basic.html?player=" _ playerURI _ "&amp;playerid=" _ playerURI;
+		ELSE;
+			myPage = webroot _ "settings/server/formatting.html?player=" _ playerURI;
+		END %]
+
+		<frame src="[% myPage %]" name="subSettings" frameborder="0" marginwidth="15">
+	</frameset>
+
+[%- ELSE -%]
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+	<head>
+		<title>[% "SERVER_SETTINGS" | string %]</title>
+		<link rel="stylesheet" type="text/css" href="[% webroot %]slimserver.css?r=[% revision %]" />
+	</head>
+	<frameset rows="60,*">
+		<frame src="[% path %]?menu=main&amp;player=[% playerURI %]" name="mainmenu">
+		<frame src="[% webroot %]settings/server/basic.html" name="settings" id="settings">
+	</frameset>
+
+</html>
+[% END %]
\ No newline at end of file
Index: /Users/mh/Documents/workspace/trunk/server/Slim/Web/Settings/Server/Index.pm
===================================================================
--- /Users/mh/Documents/workspace/trunk/server/Slim/Web/Settings/Server/Index.pm	(revision 14864)
+++ /Users/mh/Documents/workspace/trunk/server/Slim/Web/Settings/Server/Index.pm	(working copy)
@@ -18,6 +18,7 @@
 	my ($class, $client, $paramRef) = @_;
 
 	$paramRef->{additionalLinks} = \%Slim::Web::Pages::additionalLinks;
+	$paramRef->{additionalLinks}->{setup}->{MY_MUSIC} = $paramRef->{additionalLinks}->{setup}->{BEHAVIOR_SETTINGS};
 
 	my @sortedLinks = 
 		map { $_->[1] }
@@ -27,6 +28,19 @@
 
 	$paramRef->{sortedLinks} = \@sortedLinks;
 
+	$paramRef->{firstLevelItems} = [
+		'BASIC_SERVER_SETTINGS',
+		'PLAYER',
+		'MY_MUSIC',
+		'SQUEEZENETWORK_SETTINGS',
+		'ITUNES',
+		'INTERFACE_SETTINGS',
+		'PLUGINS',
+		'PLUGIN_PODCAST',
+		'ADVANCED_SETTINGS',
+		'SERVER_STATUS',
+	];
+
 	$paramRef->{iTunesEnabled}  = Slim::Utils::PluginManager->isEnabled('Slim::Plugin::iTunes::Plugin');
 	$paramRef->{podcastEnabled} = Slim::Utils::PluginManager->isEnabled('Slim::Plugin::Podcast::Plugin');