Index: .hgsubstate
===================================================================
--- .hgsubstate	(revision 1327)
+++ .hgsubstate	(revision 1385)
@@ -1,1 +1,1 @@
-106856ffd55945d2be60e5f623c587c3fb356447 inc/libs/clearbricks
+4288bdc1f21d00f93331bbe098485727b276c1fe inc/libs/clearbricks
Index: admin/blog.php
===================================================================
--- admin/blog.php	(revision 1358)
+++ admin/blog.php	(revision 1399)
@@ -77,17 +77,17 @@
 	
 	echo
-	'<form action="blog.php" method="post" id="blog-form" class="fieldset">'.
+	'<form action="blog.php" method="post" id="blog-form">'.
 	
 	$core->formNonce().
-	'<p><label class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog ID:').' '.
-	form::field('blog_id',30,32,html::escapeHTML($blog_id)).'</label></p>'.
+	'<p><label class="required" for="blog_id"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog ID:').'</label> '.
+	form::field('blog_id',30,32,html::escapeHTML($blog_id)).'</p>'.
 	'<p class="form-note">'.__('At least 2 characters using letters, numbers or symbols.').'</p> '.
 	'<p class="form-note warn">'.__('Please note that changing your blog ID may require changes in your public index.php file.').'</p>'.
 	
-	'<p><label class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog name:').' '.
-	form::field('blog_name',30,255,html::escapeHTML($blog_name)).'</label></p>'.
+	'<p><label class="required" for="blog_name"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog name:').'</label> '.
+	form::field('blog_name',30,255,html::escapeHTML($blog_name)).'</p>'.
 	
-	'<p><label class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog URL:').' '.
-	form::field('blog_url',30,255,html::escapeHTML($blog_url)).'</label></p>'.
+	'<p><label class="required" for="blog_url"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog URL:').'</label> '.
+	form::field('blog_url',30,255,html::escapeHTML($blog_url)).'</p>'.
 	
 	'<p class="area"><label for="blog_desc">'.__('Blog description:').'</label> '.
Index: admin/blog_del.php
===================================================================
--- admin/blog_del.php	(revision 1358)
+++ admin/blog_del.php	(revision 1399)
@@ -69,6 +69,6 @@
 	'<form action="blog_del.php" method="post">'.
 	'<div>'.$core->formNonce().'</div>'.
-	'<p><label for="pwd">'.__('Your password:').' '.
-	form::password('pwd',20,255).'</label></p>'.
+	'<p><label for="pwd">'.__('Your password:').'</label> '.
+	form::password('pwd',20,255).'</p>'.
 	'<p><input type="submit" class="delete" name="del" value="'.__('Delete this blog').'" />'.
 	form::hidden('blog_id',$blog_id).'</p>'.
Index: admin/blog_pref.php
===================================================================
--- admin/blog_pref.php	(revision 1358)
+++ admin/blog_pref.php	(revision 1399)
@@ -309,6 +309,6 @@
 	{
 		echo
-		'<p><label for="blog_id" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog ID:').
-		form::field('blog_id',30,32,html::escapeHTML($blog_id)).'</label></p>'.
+		'<p><label for="blog_id" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog ID:').'</label>'.
+		form::field('blog_id',30,32,html::escapeHTML($blog_id)).'</p>'.
 		'<p class="form-note">'.__('At least 2 characters using letters, numbers or symbols.').'</p> '.
 		'<p class="form-note warn">'.__('Please note that changing your blog ID may require changes in your public index.php file.').'</p>';
@@ -316,18 +316,18 @@
 	
 	echo
-	'<p><label for="blog_name" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog name:').
-	form::field('blog_name',30,255,html::escapeHTML($blog_name)).'</label></p>';
+	'<p><label for="blog_name" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog name:').'</label>'.
+	form::field('blog_name',30,255,html::escapeHTML($blog_name)).'</p>';
 	
 	if ($core->auth->isSuperAdmin())
 	{
 		echo
-		'<p><label for="blog_url" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog URL:').
-		form::field('blog_url',30,255,html::escapeHTML($blog_url)).'</label></p>'.
-		
-		'<p><label for="url_scan">'.__('URL scan method:').
-		form::combo('url_scan',$url_scan_combo,$blog_settings->system->url_scan).'</label></p>'.
-		
-		'<p><label for="blog_status">'.__('Blog status:').
-		form::combo('blog_status',$status_combo,$blog_status).'</label></p>';
+		'<p><label for="blog_url" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog URL:').'</label>'.
+		form::field('blog_url',30,255,html::escapeHTML($blog_url)).'</p>'.
+		
+		'<p><label for="url_scan">'.__('URL scan method:').'</label>'.
+		form::combo('url_scan',$url_scan_combo,$blog_settings->system->url_scan).'</p>'.
+		
+		'<p><label for="blog_status">'.__('Blog status:').'</label>'.
+		form::combo('blog_status',$status_combo,$blog_status).'</p>';
 	}
 	
@@ -342,33 +342,33 @@
 	'<div class="two-cols">'.
 	'<div class="col">'.
-	'<p><label for="editor">'.__('Blog editor name:').
+	'<p><label for="editor">'.__('Blog editor name:').'</label>'.
 	form::field('editor',30,255,html::escapeHTML($blog_settings->system->editor)).
-	'</label></p>'.
-	
-	'<p><label for="lang">'.__('Default language:').
+	'</p>'.
+	
+	'<p><label for="lang">'.__('Default language:').'</label>'.
 	form::combo('lang',$lang_combo,$blog_settings->system->lang,'l10n').
-	'</label></p>'.
-	
-	'<p><label for="blog_timezone">'.__('Blog timezone:').
+	'</p>'.
+	
+	'<p><label for="blog_timezone">'.__('Blog timezone:').'</label>'.
 	form::combo('blog_timezone',dt::getZones(true,true),html::escapeHTML($blog_settings->system->blog_timezone)).
-	'</label></p>'.
-
-	'<p><label for="copyright_notice">'.__('Copyright notice:').
+	'</p>'.
+
+	'<p><label for="copyright_notice">'.__('Copyright notice:').'</label>'.
 	form::field('copyright_notice',30,255,html::escapeHTML($blog_settings->system->copyright_notice)).
-	'</label></p>'.
-	'</div>'.
-	
-	'<div class="col">'.
-	'<p><label for="post_url_format">'.__('New post URL format:').
+	'</p>'.
+	'</div>'.
+	
+	'<div class="col">'.
+	'<p><label for="post_url_format">'.__('New post URL format:').'</label>'.
 	form::combo('post_url_format',$post_url_combo,html::escapeHTML($blog_settings->system->post_url_format)).
-	'</label></p>'.
-
-	'<p><label for="note_title_tag">'.__('Note title HTML tag:').
+	'</p>'.
+
+	'<p><label for="note_title_tag">'.__('Note title HTML tag:').'</label>'.
 	form::combo('note_title_tag',$note_title_tag_combo,$blog_settings->system->note_title_tag).
-	'</label></p>'.
-		
-	'<p><label for="enable_xmlrpc" class="classic">'.
+	'</p>'.
+		
+	'<p><label for="enable_xmlrpc" class="classic">'.'</label>'.
 	form::checkbox('enable_xmlrpc','1',$blog_settings->system->enable_xmlrpc).
-	__('Enable XML/RPC interface').'</label></p>';
+	__('Enable XML/RPC interface').'</p>';
 
 	echo
@@ -442,11 +442,11 @@
 	'<div class="two-cols">'.
 	'<div class="col">'.
-	'<p><label for="date_format">'.__('Date format:').
+	'<p><label for="date_format">'.__('Date format:').'</label>'.
 	form::field('date_format',30,255,html::escapeHTML($blog_settings->system->date_format)).
-	'</label></p>'.
-	
-	'<p><label for="time_format">'.__('Time format:').
+	'</p>'.
+	
+	'<p><label for="time_format">'.__('Time format:').'</label>'.
 	form::field('time_format',30,255,html::escapeHTML($blog_settings->system->time_format)).
-	'</label></p>'.
+	'</p>'.
 	
 	'<p><label for="use_smilies" class="classic">'.
@@ -500,11 +500,11 @@
 
 	'<h4>'.__('Default image insertion attributes').'</h4>'.
-	'<p><label for="media_img_default_size">'.__('Image size:').
+	'<p><label for="media_img_default_size">'.__('Image size:').'</label>'.
 	form::combo('media_img_default_size',$img_default_size_combo,
 		(html::escapeHTML($blog_settings->system->media_img_default_size) != '' ? html::escapeHTML($blog_settings->system->media_img_default_size) : 'm')).
-	'</label></p>'.
-	'<p><label for="media_img_default_alignment">'.__('Image alignment').
+	'</p>'.
+	'<p><label for="media_img_default_alignment">'.__('Image alignment').'</label>'.
 	form::combo('media_img_default_alignment',$img_default_alignment_combo,html::escapeHTML($blog_settings->system->media_img_default_alignment)).
-	'</label></p>'.
+	'</p>'.
 	'<p><label for="media_img_default_link" class="classic">'.
 	form::checkbox('media_img_default_link','1',$blog_settings->system->media_img_default_link).
Index: admin/blog_theme.php
===================================================================
--- admin/blog_theme.php	(revision 1358)
+++ admin/blog_theme.php	(revision 1428)
@@ -173,7 +173,7 @@
 	'<div class="theme-shot"><img src="'.$screenshot.'" alt="" /></div>'.
 	'<div class="theme-info">'.
-		'<h3>'.form::radio(array('theme',$radio_id),html::escapeHTML($id),$current,'','',($has_parent && !$is_parent_present)).' '.
+		'<h4>'.form::radio(array('theme',$radio_id),html::escapeHTML($id),$current,'','',($has_parent && !$is_parent_present)).' '.
 		'<label class="classic" for="'.$radio_id.'">'.
-		html::escapeHTML($details['name']).'</label></h3>'.
+		html::escapeHTML($details['name']).'</label></h4>'.
 		'<p><span class="theme-desc">'.html::escapeHTML($details['desc']).'</span> '.
 		'<span class="theme-author">'.sprintf(__('by %s'),html::escapeHTML($details['author'])).'</span> '.
@@ -187,5 +187,5 @@
 		}
 		if ($has_css) {
-			$res .= '<a class="theme-css" href="'.$theme_url.'/style.css">'.__('Stylesheet').'</a>';
+			$res .= '<span class="theme-css"><a href="'.$theme_url.'/style.css">'.__('Stylesheet').'</a></span>';
 		}
 		$res .= '</p>';
@@ -244,18 +244,11 @@
 	}
 	
-	if ($can_install) {
-		echo
-		'<p><strong>'.sprintf(__('You can find additional themes for your blog on %s.'),
-		'<a href="http://themes.dotaddict.org/galerie-dc2/">Dotaddict</a>').'</strong> '.
-		__('To install or upgrade a theme you generally just need to upload it '.
-		'in "Install or upgrade a theme" section.').'</p>';
-	}
-	
 	# Themes list
-	echo '<div class="multi-part" id="themes-list" title="'.__('Themes').'">';
+	echo '<div class="multi-part" id="themes-list" title="'.__('Themes').'">'.
+	'<h3>'.__('Available themes in your installation').'</h3>';
 	
 	$themes = $core->themes->getModules();
 	if (isset($themes[$core->blog->settings->system->theme])) {
-		echo '<h3>'.sprintf(__('You are currently using "%s"'),$themes[$core->blog->settings->system->theme]['name']).'</h3>';
+		echo '<p>'.sprintf(__('You are currently using "%s"'),$themes[$core->blog->settings->system->theme]['name']).'.</p>';
 	}
 	
@@ -279,13 +272,12 @@
 	
 	echo
-	'<div class="two-cols clear" id="themes-actions">'.
-	$core->formNonce().
-	'<p class="col"><input type="submit" name="select" value="'.__('Use selected theme').'" /></p>';
-	
+	'<div id="themes-actions">'.
+	
+	'<p>'.$core->formNonce().'<input type="submit" name="select" value="'.__('Use selected theme').'" /> ';	
 	if ($can_install) {
-		echo '<p class="col right"><input type="submit" class="delete" name="remove" value="'.__('Delete selected theme').'" /></p>';
-	}
-	
-	echo
+		echo ' <input type="submit" class="delete" name="remove" value="'.__('Delete selected theme').'" />';
+	}
+	echo '</p>'.
+	
 	'</div>'.
 	'</form>'.
@@ -296,9 +288,12 @@
 	{
 		echo
-		'<div class="multi-part clear" id="add-theme" title="'.__('Install or upgrade a theme').'">';
+		'<div class="multi-part clear" id="add-theme" title="'.__('Install or upgrade a theme').'">'.
+		'<h3>'.__('Add themes to your installation').'</h3>'.
+		'<p>'.sprintf(__('You can find additional themes for your blog on %s.'),
+		'<a href="http://themes.dotaddict.org/galerie-dc2/">Dotaddict</a>').'</p>';
 		
 		if ($is_writable)
 		{
-			echo '<p>'.__('You can install themes by uploading or downloading zip files.').'</p>';
+			echo '<p>'.__('You can also install themes by uploading or downloading zip files.').'</p>';
 			
 			# 'Upload theme' form
@@ -307,8 +302,8 @@
 			'<fieldset>'.
 			'<legend>'.__('Upload a zip file').'</legend>'.
-			'<p class="field"><label for="pkg_file" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Theme zip file:').' '.
-			'<input type="file" name="pkg_file" id="pkg_file" /></label></p>'.
-			'<p class="field"><label for="your_pwd1" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Your password:').' '.
-			form::password(array('your_pwd','your_pwd1'),20,255).'</label></p>'.
+			'<p class="field"><label for="pkg_file" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Theme zip file:').'</label> '.
+			'<input type="file" name="pkg_file" id="pkg_file" /></p>'.
+			'<p class="field"><label for="your_pwd1" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Your password:').'</label> '.
+			form::password(array('your_pwd','your_pwd1'),20,255).'</p>'.
 			'<input type="submit" name="upload_pkg" value="'.__('Upload theme').'" />'.
 			$core->formNonce().
@@ -321,8 +316,8 @@
 			'<fieldset>'.
 			'<legend>'.__('Download a zip file').'</legend>'.
-			'<p class="field"><label for="pkg_url" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Theme zip file URL:').' '.
-			form::field(array('pkg_url','pkg_url'),40,255).'</label></p>'.
-			'<p class="field"><label for="your_pwd2" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Your password:').' '.
-			form::password(array('your_pwd','your_pwd2'),20,255).'</label></p>'.
+			'<p class="field"><label for="pkg_url" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Theme zip file URL:').'</label> '.
+			form::field(array('pkg_url','pkg_url'),40,255).'</p>'.
+			'<p class="field"><label for="your_pwd2" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Your password:').'</label> '.
+			form::password(array('your_pwd','your_pwd2'),20,255).'</p>'.
 			'<input type="submit" name="fetch_pkg" value="'.__('Download theme').'" />'.
 			$core->formNonce().
Index: admin/blogs.php
===================================================================
--- admin/blogs.php	(revision 1358)
+++ admin/blogs.php	(revision 1426)
@@ -92,31 +92,29 @@
 	
 	if (!$show_filters) {
-		echo '<p><a id="filter-control" class="form-control" href="#">'.__('Filters').'</a></p>';
+		echo '<p><a id="filter-control" class="form-control" href="#">'.__('Filter blogs list').'</a></p>';
 	}
 	
 	echo
 	'<form action="blogs.php" method="get" id="filters-form">'.
-	'<fieldset class="two-cols"><legend>'.__('Filters').'</legend>'.
+	'<h3>'.__('Filter blogs list').'</h3>'.
 	
-	'<div class="col">'.
-	'<p><label for="sortby">'.__('Order by:').' '.
-	form::combo('sortby',$sortby_combo,html::escapeHTML($sortby)).
-	'</label> '.
-	'<label for="order">'.__('Sort:').' '.
-	form::combo('order',$order_combo,html::escapeHTML($order)).
-	'</label></p>'.
+	'<div class="table">'.
+	'<div class="cell">'.
+	'<p><label for="q" class="ib">'.__('Search:').'</label> '.
+	form::field('q',20,255,html::escapeHTML($q)).'</p>'.
 	'</div>'.
 	
-	'<div class="col">'.
-	'<p><label for="q">'.__('Search:').' '.
-	form::field('q',20,255,html::escapeHTML($q)).
-	'</label></p>'.
-	'<p><label for="nb" class="classic">'.	form::field('nb',3,3,$nb_per_page).' '.
-	__('Blogs per page').'</label> '.
-	'<input type="submit" value="'.__('Apply filters').'" /></p>'.
+	'<div class="cell filters-options">'.
+	'<p><label for="sortby" class="ib">'.__('Order by:').'</label> '.
+	form::combo('sortby',$sortby_combo,html::escapeHTML($sortby)).'</p>'.
+	'<p><label for="order" class="ib">'.__('Sort:').'</label> '.
+	form::combo('order',$order_combo,html::escapeHTML($order)).'</p>'.
+	'<p><span class="label ib">'.__('Show').'</span> <label for="nb" class="classic">'.	
+	form::field('nb',3,3,$nb_per_page).' '.__('blogs per page').'</label></p>'.
 	'</div>'.
-	
-	'<br class="clear" />'. //Opera sucks
-	'</fieldset>'.
+	'</div>'.
+
+	'<p><input type="submit" value="'.__('Apply filters').'" />'.
+	'<br class="clear" /></p>'. //Opera sucks
 	'</form>';
 	
@@ -131,5 +129,5 @@
 		$pager->var_page = 'page';
 		
-		echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
+		echo '<p class="pagination">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
 		
 		echo
@@ -149,5 +147,5 @@
 		echo '</table>';
 		
-		echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
+		echo '<p class="pagination">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
 	}
 }
Index: admin/categories.php
===================================================================
--- admin/categories.php	(revision 1358)
+++ admin/categories.php	(revision 1399)
@@ -147,8 +147,8 @@
 
 '<form action="category.php" method="post">'.
-'<fieldset><legend>'.__('Add a new category').'</legend>'.
-'<p><label class="required" for="cat_title"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').' '.
-form::field('cat_title',30,255).'</label></p>'.
-'<p><label for="new_cat_parent">'.__('Parent:').' '.
+'<h3>'.__('Add a new category').'</h3>'.
+'<p><label class="required" for="cat_title"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label> '.
+form::field('cat_title',30,255).'</p>'.
+'<p><label for="new_cat_parent">'.__('Parent:').'</label> '.
 '<select id="new_cat_parent" name="new_cat_parent">'.
 '<option value="0">'.__('Top level').'</option>';
@@ -159,8 +159,7 @@
 }
 echo
-'</select></label></p>'.
-'<p><input type="submit" value="'.__('Create').'" /></p>'.
-$core->formNonce().
-'</fieldset>'.
+'</select></p>'.
+'<p><input type="submit" value="'.__('Create').'" />'.
+$core->formNonce().'</p>'.
 '</form>';
 
@@ -187,23 +186,21 @@
 	
 	echo
-	'<form action="categories.php" method="post" id="delete-category">'.
-	'<fieldset><legend>'.__('Remove a category').'</legend>'.
-	'<p><label for="del_cat">'.__('Choose a category to remove:').' '.
-	form::combo('del_cat',$cats).'</label></p> '.
-	'<p><label for="mov_cat">'.__('And choose the category which will receive its entries:').' '.
-	form::combo('mov_cat',$dest).'</label></p> '.
-	'<p><input type="submit" value="'.__('Delete').'" class="delete" /></p>'.
-	$core->formNonce().
-	'</fieldset>'.
+	'<form action="categories.php" method="post" id="delete-category" class="border-top">'.
+	'<h3>'.__('Remove a category').'</h3>'.
+	'<p><label for="del_cat">'.__('Choose a category to remove:').'</label> '.
+	form::combo('del_cat',$cats).'</p> '.
+	'<p><label for="mov_cat">'.__('And choose the category which will receive its entries:').'</label> '.
+	form::combo('mov_cat',$dest).'</p> '.
+	'<p><input type="submit" value="'.__('Delete').'" class="delete" />'.
+	$core->formNonce().'</p>'.
 	'</form>';
 	
 	echo
-	'<form action="categories.php" method="post" id="reset-order">'.
-	'<fieldset><legend>'.__('Reorder categories').'</legend>'.
+	'<form action="categories.php" method="post" id="reset-order" class="border-top">'.
+	'<h3>'.__('Reorder categories').'</h3>'.
 	'<p>'.__('This will relocate all categories on the top level').'</p> '.
-	'<p><input type="submit" value="'.__('Reorder').'" /></p>'.
+	'<p><input type="submit" value="'.__('Reorder').'" />'.
 	form::hidden(array('reset'),1).
-	$core->formNonce().
-	'</fieldset>'.
+	$core->formNonce().'</p>'.
 	'</form>';
 }
Index: admin/category.php
===================================================================
--- admin/category.php	(revision 1358)
+++ admin/category.php	(revision 1399)
@@ -181,8 +181,8 @@
 echo
 '<form action="category.php" method="post" id="category-form">'.
-'<fieldset><legend>'.__('Category information').'</legend>'.
-'<p><label class="required" for="cat_title"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').' '.
+'<h3>'.__('Category information').'</h3>'.
+'<p><label class="required" for="cat_title"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label> '.
 form::field('cat_title',40,255,html::escapeHTML($cat_title)).
-'</label></p>';
+'</p>';
 if (!$cat_id)
 {
@@ -202,6 +202,7 @@
 echo
 '<div class="lockable">'.
-'<p><label for="cat_url">'.__('URL:').' '.form::field('cat_url',40,255,html::escapeHTML($cat_url)).
-'</label></p>'.
+'<p><label for="cat_url">'.__('URL:').'</label> '
+.form::field('cat_url',40,255,html::escapeHTML($cat_url)).
+'</p>'.
 '<p class="form-note warn" id="note-cat-url">'.
 __('Warning: If you set the URL manually, it may conflict with another category.').'</p>'.
@@ -216,5 +217,4 @@
 $core->formNonce().
 '</p>'.
-'</fieldset>'.
 '</form>';
 
@@ -222,5 +222,5 @@
 {
 	echo
-	'<h3>'.__('Move this category').'</h3>'.
+	'<h3 class="border-top">'.__('Move this category').'</h3>'.
 	'<div class="two-cols">'.
 	'<div class="col">'.
@@ -228,6 +228,6 @@
 	'<form action="category.php" method="post">'.
 	'<fieldset><legend>'.__('Category parent').'</legend>'.
-	'<p><label for="cat_parent" class="classic">'.__('Parent:').' '.
-	form::combo('cat_parent',$allowed_parents,$cat_parent).'</label></p>'.
+	'<p><label for="cat_parent" class="classic">'.__('Parent:').'</label> '.
+	form::combo('cat_parent',$allowed_parents,$cat_parent).'</p>'.
 	'<p><input type="submit" accesskey="s" value="'.__('Save').'" />'.
 	form::hidden(array('id'),$cat_id).$core->formNonce().'</p>'.
Index: admin/comment.php
===================================================================
--- admin/comment.php	(revision 1358)
+++ admin/comment.php	(revision 1399)
@@ -203,26 +203,30 @@
 	echo
 	'<form action="comment.php" method="post" id="comment-form">'.
-	'<p>'.__('IP address:').'<br /> '.
+	'<div class="fieldset">'.
+	'<h3>'.__('Information collected').'</h3>'.
+	'<p>'.__('IP address:').' '.
 	'<a href="comments.php?ip='.$comment_ip.'">'.$comment_ip.'</a></p>'.
 	
-	'<p>'.__('Date:').'<br /> '.
+	'<p>'.__('Date:').' '.
 	dt::dt2str(__('%Y-%m-%d %H:%M'),$comment_dt).'</p>'.
-	
-	'<p><label for="comment_author" class="required"><abbr title="'.__('Required field').'">*</abbr>'.__('Author:').
+	'</div>'.
+
+	'<h3>'.__('Comment submitted').'</h3>'.	
+	'<p><label for="comment_author" class="required"><abbr title="'.__('Required field').'">*</abbr>'.__('Author:').'</label>'.
 	form::field('comment_author',30,255,html::escapeHTML($comment_author)).
-	'</label></p>'.
-	
-	'<p><label for="comment_email">'.__('Email:').
+	'</p>'.
+	
+	'<p><label for="comment_email">'.__('Email:').'</label>'.
 	form::field('comment_email',30,255,html::escapeHTML($comment_email)).
-	$comment_mailto.
-	'</label></p>'.
-	
-	'<p><label for="comment_site">'.__('Web site:').
+	'<span>'.$comment_mailto.'</span>'.
+	'</p>'.
+	
+	'<p><label for="comment_site">'.__('Web site:').'</label>'.
 	form::field('comment_site',30,255,html::escapeHTML($comment_site)).
-	'</label></p>'.
-	
-	'<p><label for="comment_status">'.__('Status:').
+	'</p>'.
+	
+	'<p><label for="comment_status">'.__('Status:').'</label>'.
 	form::combo('comment_status',$status_combo,$comment_status,'','',!$can_publish).
-	'</label></p>'.
+	'</p>'.
 	
 	# --BEHAVIOR-- adminAfterCommentDesc
Index: admin/comments.php
===================================================================
--- admin/comments.php	(revision 1358)
+++ admin/comments.php	(revision 1424)
@@ -184,49 +184,4 @@
 	}
 	
-	# Filters
-	if (!$show_filters) {
-		echo '<p><a id="filter-control" class="form-control" href="#">'.
-		__('Filters').'</a></p>';
-	}
-	
-	echo
-	'<form action="comments.php" method="get" id="filters-form">'.
-	'<fieldset><legend>'.__('Filters').'</legend>'.
-	'<div class="three-cols">'.
-	'<div class="col">'.
-	'<label for="type">'.__('Type:').' '.
-	form::combo('type',$type_combo,$type).
-	'</label> '.
-	'<label for="status">'.__('Status:').' '.
-	form::combo('status',$status_combo,$status).
-	'</label>'.
-	'</div>'.
-	
-	'<div class="col">'.
-	'<p><label for="sortby">'.__('Order by:').' '.
-	form::combo('sortby',$sortby_combo,$sortby).
-	'</label> '.
-	'<label for="order">'.__('Sort:').' '.
-	form::combo('order',$order_combo,$order).
-	'</label></p>'.
-	'<p><label for="nb" class="classic">'.	form::field('nb',3,3,$nb_per_page).' '.
-	__('Comments per page').'</label></p>'.
-	'</div>'.
-	
-	'<div class="col">'.
-	'<p><label for="author">'.__('Comment author:').' '.
-	form::field('author',20,255,html::escapeHTML($author)).
-	'</label>'.
-	'<label for="ip">'.__('IP address:').' '.
-	form::field('ip',20,39,html::escapeHTML($ip)).
-	'</label></p>'.
-	'<p><input type="submit" value="'.__('Apply filters').'" /></p>'.
-	'</div>'.
-	
-	'</div>'.
-	'<br class="clear" />'. //Opera sucks
-	'</fieldset>'.
-	'</form>';
-	
 	$spam_count = $core->blog->getComments(array('comment_status'=>-2),true)->f(0);
 	if ($spam_count > 0) {
@@ -237,5 +192,5 @@
 		if (!$with_spam || ($status != -2)) {
 			if ($spam_count == 1) {
-				echo '<p>'.sprintf(__('You have one spam comments.'),'<strong>'.$spam_count.'</strong>').' '.
+				echo '<p>'.sprintf(__('You have one spam comment.'),'<strong>'.$spam_count.'</strong>').' '.
 				'<a href="comments.php?status=-2">'.__('Show it.').'</a></p>';
 			} elseif ($spam_count > 1) {
@@ -246,4 +201,5 @@
 		
 		echo
+			'<p class="no-margin">'.
 			$core->formNonce().
 			'<input name="delete_all_spam" class="delete" type="submit" value="'.__('Delete all spams').'" /></p>';
@@ -254,4 +210,44 @@
 		echo '</form>';
 	}
+
+	# Filters
+	if (!$show_filters) {
+		echo '<p><a id="filter-control" class="form-control" href="#">'.
+		__('Filter comments and trackbacks list').'</a></p>';
+	}
+	
+	echo
+	'<form action="comments.php" method="get" id="filters-form">'.
+	'<h3>'.__('Filter comments and trackbacks list').'</h3>'.
+	'<div class="table">'.
+
+	'<div class="cell">'.
+	'<p><label for="type" class="ib">'.__('Type:').'</label> '.
+	form::combo('type',$type_combo,$type).'</p> '.
+	'<p><label for="status" class="ib">'.__('Status:').'</label> '.
+	form::combo('status',$status_combo,$status).'</p>'.
+	'</div>'.
+	
+	'<div class="cell">'.
+	'<p><label for="author" class="ib">'.__('Author:').'</label> '.
+	form::field('author',20,255,html::escapeHTML($author)).'</p>'.
+	'<p><label for="ip" class="ib">'.__('IP address:').'</label> '.
+	form::field('ip',20,39,html::escapeHTML($ip)).'</p>'.
+	'</div>'.
+	
+	'<div class="cell filters-options">'.
+	'<p><label for="sortby" class="ib">'.__('Order by:').'</label> '.
+	form::combo('sortby',$sortby_combo,$sortby).'</p>'.
+	'<p><label for="order" class="ib">'.__('Sort:').'</label> '.
+	form::combo('order',$order_combo,$order).'</p>'.
+	'<p><span class="label ib">Afficher</span> <label for="nb" class="classic">'.
+	form::field('nb',3,3,$nb_per_page).' '.
+	__('comments per page').'</label></p>'.
+	'</div>'.
+	
+	'</div>'.
+	'<p><input type="submit" value="'.__('Apply filters').'" />'.
+	'<br class="clear" /></p>'. //Opera sucks
+	'</form>';
 	
 	# Show comments
Index: admin/index.php
===================================================================
--- admin/index.php	(revision 1358)
+++ admin/index.php	(revision 1422)
@@ -121,20 +121,5 @@
 $__dashboard_items = new ArrayObject(array(new ArrayObject,new ArrayObject));
 
-# Documentation links
 $dashboardItem = 0;
-if ($core->auth->user_prefs->dashboard->doclinks) {
-	if (!empty($__resources['doc']))
-	{
-		$doc_links = '<h3>'.__('Documentation and support').'</h3><ul>';
-	
-		foreach ($__resources['doc'] as $k => $v) {
-			$doc_links .= '<li><a href="'.$v.'" title="'.$k.' '.__('(external link)').'">'.$k.'</a></li>';
-		}
-	
-		$doc_links .= '</ul>';
-		$__dashboard_items[$dashboardItem][] = $doc_links;
-		$dashboardItem++;
-	}
-}
 
 if ($core->auth->user_prefs->dashboard->dcnews) {
@@ -180,4 +165,20 @@
 }
 
+# Documentation links
+if ($core->auth->user_prefs->dashboard->doclinks) {
+	if (!empty($__resources['doc']))
+	{
+		$doc_links = '<h3>'.__('Documentation and support').'</h3><ul>';
+	
+		foreach ($__resources['doc'] as $k => $v) {
+			$doc_links .= '<li><a href="'.$v.'" title="'.$k.' '.__('(external link)').'">'.$k.'</a></li>';
+		}
+	
+		$doc_links .= '</ul>';
+		$__dashboard_items[$dashboardItem][] = $doc_links;
+		$dashboardItem++;
+	}
+}
+
 $core->callBehavior('adminDashboardItems', $core, $__dashboard_items);
 
@@ -201,4 +202,22 @@
 );
 
+# Dotclear updates notifications
+if ($core->auth->isSuperAdmin() && is_readable(DC_DIGESTS))
+{
+	$updater = new dcUpdate(DC_UPDATE_URL,'dotclear',DC_UPDATE_VERSION,DC_TPL_CACHE.'/versions');
+	$new_v = $updater->check(DC_VERSION);
+	$version_info = $new_v ? $updater->getInfoURL() : '';
+
+	if ($updater->getNotify() && $new_v) {
+		$message =
+		'<div><p>'.sprintf(__('Dotclear %s is available!'),$new_v).'</p> '.
+		'<ul><li><strong><a href="update.php">'.sprintf(__('Upgrade now'),$new_v).'</a></strong>'.
+		'</li><li><a href="update.php?hide_msg=1">'.__('Remind me later').'</a>'.
+		($version_info ? ' </li><li><a href="'.$version_info.'">'.__('information about this version').'</a>' : '').
+		'</li></ul></div>';
+		dcPage::message($message,false,true);
+	}
+}
+
 if ($core->auth->getInfo('user_default_blog') != $core->blog->id && $core->auth->blog_count > 1) {
 	echo
@@ -249,21 +268,4 @@
 $dashboardItems = '';
 
-# Dotclear updates notifications
-if ($core->auth->isSuperAdmin() && is_readable(DC_DIGESTS))
-{
-	$updater = new dcUpdate(DC_UPDATE_URL,'dotclear',DC_UPDATE_VERSION,DC_TPL_CACHE.'/versions');
-	$new_v = $updater->check(DC_VERSION);
-	$version_info = $new_v ? $updater->getInfoURL() : '';
-	
-	if ($updater->getNotify() && $new_v) {
-		$dashboardItems .=
-		'<div id="upg-notify" class="static-msg"><p>'.sprintf(__('Dotclear %s is available!'),$new_v).'</p> '.
-		'<ul><li><strong><a href="update.php">'.sprintf(__('Upgrade now'),$new_v).'</a></strong>'.
-		'</li><li><a href="update.php?hide_msg=1">'.__('Remind me later').'</a>'.
-		($version_info ? ' </li><li><a href="'.$version_info.'">'.__('information about this version').'</a>' : '').
-		'</li></ul></div>';
-	}
-}
-
 # Errors modules notifications
 if ($core->auth->isSuperAdmin())
@@ -286,5 +288,5 @@
 	if ($i->count() > 0)
 	{
-		$dashboardItems .= '<div>';
+		$dashboardItems .= '<div class="db-item">';
 		foreach ($i as $v) {
 			$dashboardItems .= $v;
@@ -324,13 +326,13 @@
 		'<form id="quick-entry" action="post.php" method="post">'.
 		'<fieldset><legend>'.__('New entry').'</legend>'.
-		'<p class="col"><label for="post_title" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').
+		'<p class="col"><label for="post_title" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label>'.
 		form::field('post_title',20,255,'','maximal').
-		'</label></p>'.
+		'</p>'.
 		'<p class="area"><label class="required" '.
 		'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '.
 		form::textarea('post_content',50,7).
 		'</p>'.
-		'<p><label for="cat_id" class="classic">'.__('Category:').' '.
-		form::combo('cat_id',$categories_combo).'</label></p>'.
+		'<p><label for="cat_id" class="classic">'.__('Category:').'</label> '.
+		form::combo('cat_id',$categories_combo).'</p>'.
 		'<p><input type="submit" value="'.__('Save').'" name="save" /> '.
 		($core->auth->check('publish',$core->blog->id)
Index: admin/install/index.php
===================================================================
--- admin/install/index.php	(revision 1280)
+++ admin/install/index.php	(revision 1399)
@@ -320,19 +320,19 @@
 	'<form action="index.php" method="post">'.
 	'<fieldset><legend>'.__('User information').'</legend>'.
-	'<p><label for="u_firstname">'.__('First Name:').' '.
-	form::field('u_firstname',30,255,html::escapeHTML($u_firstname)).'</label></p>'.
-	'<p><label for="u_name">'.__('Last Name:').' '.
-	form::field('u_name',30,255,html::escapeHTML($u_name)).'</label></p>'.
-	'<p><label for="u_email">'.__('Email:').' '.
-	form::field('u_email',30,255,html::escapeHTML($u_email)).'</label></p>'.
+	'<p><label for="u_firstname">'.__('First Name:').'</label> '.
+	form::field('u_firstname',30,255,html::escapeHTML($u_firstname)).'</p>'.
+	'<p><label for="u_name">'.__('Last Name:').'</label> '.
+	form::field('u_name',30,255,html::escapeHTML($u_name)).'</p>'.
+	'<p><label for="u_email">'.__('Email:').'</label> '.
+	form::field('u_email',30,255,html::escapeHTML($u_email)).'</p>'.
 	'</fieldset>'.
 	
 	'<fieldset><legend>'.__('Username and password').'</legend>'.
-	'<p><label for="u_login" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Username:').' '.
-	form::field('u_login',30,32,html::escapeHTML($u_login)).'</label></p>'.
-	'<p><label for="u_pwd" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Password:').' '.
-	form::password('u_pwd',30,255).'</label></p>'.
-	'<p><label for="u_pwd2" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Confirm password:').' '.
-	form::password('u_pwd2',30,255).'</label></p>'.
+	'<p><label for="u_login" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Username:').'</label> '.
+	form::field('u_login',30,32,html::escapeHTML($u_login)).'</p>'.
+	'<p><label for="u_pwd" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Password:').'</label> '.
+	form::password('u_pwd',30,255).'</p>'.
+	'<p><label for="u_pwd2" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Confirm password:').'</label> '.
+	form::password('u_pwd2',30,255).'</p>'.
 	'</fieldset>'.
 	
Index: admin/install/wizard.php
===================================================================
--- admin/install/wizard.php	(revision 1179)
+++ admin/install/wizard.php	(revision 1399)
@@ -178,16 +178,16 @@
 
 '<form action="wizard.php" method="post">'.
-'<p><label class="required" for="DBDRIVER"><abbr title="'.__('Required field').'">*</abbr> '.__('Database type:').' '.
-form::combo('DBDRIVER',array('MySQL'=>'mysql','PostgreSQL'=>'pgsql'),$DBDRIVER).'</label></p>'.
-'<p><label for="DBHOST">'.__('Database Host Name:').' '.
-form::field('DBHOST',30,255,html::escapeHTML($DBHOST)).'</label></p>'.
-'<p><label for="DBNAME">'.__('Database Name:').' '.
-form::field('DBNAME',30,255,html::escapeHTML($DBNAME)).'</label></p>'.
-'<p><label for="DBUSER">'.__('Database User Name:').' '.
-form::field('DBUSER',30,255,html::escapeHTML($DBUSER)).'</label></p>'.
-'<p><label for="DBPASSWORD">'.__('Database Password:').' '.
-form::password('DBPASSWORD',30,255).'</label></p>'.
-'<p><label for="DBPREFIX" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Database Tables Prefix:').' '.
-form::field('DBPREFIX',30,255,html::escapeHTML($DBPREFIX)).'</label></p>'.
+'<p><label class="required" for="DBDRIVER"><abbr title="'.__('Required field').'">*</abbr> '.__('Database type:').'</label> '.
+form::combo('DBDRIVER',array('MySQL'=>'mysql','PostgreSQL'=>'pgsql'),$DBDRIVER).'</p>'.
+'<p><label for="DBHOST">'.__('Database Host Name:').'</label> '.
+form::field('DBHOST',30,255,html::escapeHTML($DBHOST)).'</p>'.
+'<p><label for="DBNAME">'.__('Database Name:').'</label> '.
+form::field('DBNAME',30,255,html::escapeHTML($DBNAME)).'</p>'.
+'<p><label for="DBUSER">'.__('Database User Name:').'</label> '.
+form::field('DBUSER',30,255,html::escapeHTML($DBUSER)).'</p>'.
+'<p><label for="DBPASSWORD">'.__('Database Password:').'</label> '.
+form::password('DBPASSWORD',30,255).'</p>'.
+'<p><label for="DBPREFIX" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Database Tables Prefix:').'</label> '.
+form::field('DBPREFIX',30,255,html::escapeHTML($DBPREFIX)).'</p>'.
 
 '<p><input type="submit" value="'.__('Continue').'" /></p>'.
Index: admin/js/_post.js
===================================================================
--- admin/js/_post.js	(revision 1353)
+++ admin/js/_post.js	(revision 1392)
@@ -122,5 +122,19 @@
 			hide: $('#post_password').val() == ''
 		});
-		
+		$('#post_status').parent().toggleWithLegend($('#post_status'),{
+			cookie: 'dcx_post_status'
+		});
+		$('#post_dt').parent().toggleWithLegend($('#post_dt').parent().children().not('label'),{
+			cookie: 'dcx_post_dt'
+		});
+		$('#post_format').parent().toggleWithLegend($('#post_format').parent().children().not('label').add($('#post_format').parents('p').next()),{
+			cookie: 'dcx_post_format'
+		});
+		$('#cat_id').parent().toggleWithLegend($('#cat_id'),{
+			cookie: 'cat_id'
+		});
+		$('#post_url').parent().toggleWithLegend($('#post_url').parent().children().not('label'),{
+			cookie: 'post_url'
+		});
 		// We load toolbar on excerpt only when it's ready
 		$('#excerpt-area label').toggleWithLegend($('#excerpt-area').children().not('label'),{
Index: admin/js/common.js
===================================================================
--- admin/js/common.js	(revision 1303)
+++ admin/js/common.js	(revision 1395)
@@ -224,4 +224,5 @@
 				imgE.style.top = '1.7em';
 				imgE.style.left = ($(this).width()+4)+'px';
+				imgE.alt=dotclear.msg.click_to_unlock;
 				$(imgE).css('cursor','pointer');
 
Index: admin/langs.php
===================================================================
--- admin/langs.php	(revision 1358)
+++ admin/langs.php	(revision 1399)
@@ -227,11 +227,11 @@
 	'<p>'.sprintf(__('You can download and install a additional language directly from Dotclear.net. '.
 	'Proposed languages are based on your version: %s.'),'<strong>'.DC_VERSION.'</strong>').'</p>'.
-	'<p class="field"><label for="pkg_url" class="classic">'.__('Language:').' '.
-	form::combo(array('pkg_url'),$dc_langs_combo).'</label></p>'.
-	'<p class="field"><label for="your_pwd1" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Your password:').' '.
-	form::password(array('your_pwd','your_pwd1'),20,255).'</label></p>'.
-	'<input type="submit" value="'.__('Install language').'" />'.
+	'<p class="field"><label for="pkg_url" class="classic">'.__('Language:').'</label> '.
+	form::combo(array('pkg_url'),$dc_langs_combo).'</p>'.
+	'<p class="field"><label for="your_pwd1" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Your password:').'</label> '.
+	form::password(array('your_pwd','your_pwd1'),20,255).'</p>'.
+	'<p><input type="submit" value="'.__('Install language').'" />'.
 	$core->formNonce().
-	'</fieldset>'.
+	'</p></fieldset>'.
 	'</form>';
 }
@@ -245,11 +245,11 @@
 	'<legend>'.__('Upload a zip file').'</legend>'.
 	'<p>'.__('You can install languages by uploading zip files.').'</p>'.
-	'<p class="field"><label for="pkg_file" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Language zip file:').' '.
-	'<input type="file" id="pkg_file" name="pkg_file" /></label></p>'.
-	'<p class="field"><label for="your_pwd2" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Your password:').' '.
-	form::password(array('your_pwd','your_pwd2'),20,255).'</label></p>'.
-	'<input type="submit" name="upload_pkg" value="'.__('Upload language').'" />'.
+	'<p class="field"><label for="pkg_file" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Language zip file:').'</label> '.
+	'<input type="file" id="pkg_file" name="pkg_file" /></p>'.
+	'<p class="field"><label for="your_pwd2" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Your password:').'</label> '.
+	form::password(array('your_pwd','your_pwd2'),20,255).'</p>'.
+	'<p><input type="submit" name="upload_pkg" value="'.__('Upload language').'" />'.
 	$core->formNonce().
-	'</fieldset>'.
+	'</p></fieldset>'.
 	'</form>';
 }
Index: admin/media.php
===================================================================
--- admin/media.php	(revision 1358)
+++ admin/media.php	(revision 1416)
@@ -317,6 +317,6 @@
 	echo
 	'<form action="media.php" method="get">'.
-	'<p><label for="file_sort" class="classic">'.__('Sort files:').' '.
-	form::combo('file_sort',$sort_combo,$file_sort).'</label>'.
+	'<p><label for="file_sort" class="classic">'.__('Sort files:').'</label> '.
+	form::combo('file_sort',$sort_combo,$file_sort).
 	form::hidden(array('popup'),$popup).
 	form::hidden(array('post_id'),$post_id).
@@ -324,5 +324,5 @@
 	'</form>'.
 	
-	'<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
+	'<p class="pagination">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
 	
 	for ($i=$pager->index_start, $j=0; $i<=$pager->index_end; $i++, $j++)
@@ -332,5 +332,5 @@
 	
 	echo
-	'<p class="clear">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
+	'<p class="clear pagination">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
 }
 if (!isset($pager)) {
@@ -399,6 +399,6 @@
 	'<legend>'.__('New directory').'</legend>'.
 	$core->formNonce().
-	'<p><label for="newdir">'.__('Directory Name:').
-	form::field(array('newdir','newdir'),35,255).'</label></p>'.
+	'<p><label for="newdir">'.__('Directory Name:').'</label>'.
+	form::field(array('newdir','newdir'),35,255).'</p>'.
 	'<p><input type="submit" value="'.__('Create').'" />'.
 	form::hidden(array('d'),html::escapeHTML($d)).'</p>'.
Index: admin/media_item.php
===================================================================
--- admin/media_item.php	(revision 1358)
+++ admin/media_item.php	(revision 1399)
@@ -516,6 +516,6 @@
 		__('This will extract archive in current directory and will overwrite existing files or directory.').'</li>'.
 		'</ul>'.
-		'<p><label for="inflate_mode" class="classic">'.__('Extract mode:').' '.
-		form::combo('inflate_mode',$inflate_combo,'new').'</label> '.
+		'<p><label for="inflate_mode" class="classic">'.__('Extract mode:').'</label> '.
+		form::combo('inflate_mode',$inflate_combo,'new').
 		'<input type="submit" name="unzip" value="'.__('Extract').'" />'.
 		form::hidden(array('id'),$id).
@@ -527,14 +527,14 @@
 	'<form class="clear" action="'.html::escapeURL($page_url).'" method="post">'.
 	'<fieldset><legend>'.__('Change media properties').'</legend>'.
-	'<p><label for="media_file">'.__('File name:').
-	form::field('media_file',30,255,html::escapeHTML($file->basename)).'</label></p>'.
-	'<p><label for="media_title">'.__('File title:').
-	form::field('media_title',30,255,html::escapeHTML($file->media_title)).'</label></p>'.
-	'<p><label for="media_dt">'.__('File date:').
-	form::field('media_dt',16,16,html::escapeHTML($file->media_dtstr)).'</label></p>'.
+	'<p><label for="media_file">'.__('File name:').'</label>'.
+	form::field('media_file',30,255,html::escapeHTML($file->basename)).'</p>'.
+	'<p><label for="media_title">'.__('File title:').'</label>'.
+	form::field('media_title',30,255,html::escapeHTML($file->media_title)).'</p>'.
+	'<p><label for="media_dt">'.__('File date:').'</label>'.
+	form::field('media_dt',16,16,html::escapeHTML($file->media_dtstr)).'</p>'.
 	'<p><label for="media_private" class="classic">'.form::checkbox('media_private',1,$file->media_priv).' '.
 	__('Private').'</label></p>'.
-	'<p><label for="media_path">'.__('New directory:').
-	form::combo('media_path',$dirs_combo,dirname($file->relname)).'</label></p>'.
+	'<p><label for="media_path">'.__('New directory:').'</label>'.
+	form::combo('media_path',$dirs_combo,dirname($file->relname)).'</p>'.
 	'<p><input type="submit" accesskey="s" value="'.__('Save').'" />'.
 	form::hidden(array('id'),$id).
Index: admin/plugins.php
===================================================================
--- admin/plugins.php	(revision 1358)
+++ admin/plugins.php	(revision 1399)
@@ -357,11 +357,11 @@
 	'<fieldset>'.
 	'<legend>'.__('Upload a zip file').'</legend>'.
-	'<p class="field"><label for="pkg_file" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Plugin zip file:').' '.
-	'<input type="file" id="pkg_file" name="pkg_file" /></label></p>'.
-	'<p class="field"><label for="your_pwd1" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Your password:').' '.
-	form::password(array('your_pwd','your_pwd1'),20,255).'</label></p>'.
-	'<input type="submit" name="upload_pkg" value="'.__('Upload plugin').'" />'.
+	'<p class="field"><label for="pkg_file" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Plugin zip file:').'</label> '.
+	'<input type="file" id="pkg_file" name="pkg_file" /></p>'.
+	'<p class="field"><label for="your_pwd1" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Your password:').'</label> '.
+	form::password(array('your_pwd','your_pwd1'),20,255).'</p>'.
+	'<p><input type="submit" name="upload_pkg" value="'.__('Upload plugin').'" />'.
 	$core->formNonce().
-	'</fieldset>'.
+	'</p></fieldset>'.
 	'</form>';
 	
@@ -371,8 +371,8 @@
 	'<fieldset>'.
 	'<legend>'.__('Download a zip file').'</legend>'.
-	'<p class="field"><label for="pkg_url" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Plugin zip file URL:').' '.
-	form::field(array('pkg_url','pkg_url'),40,255).'</label></p>'.
-	'<p class="field"><label for="your_pwd2" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Your password:').' '.
-	form::password(array('your_pwd','your_pwd2'),20,255).'</label></p>'.
+	'<p class="field"><label for="pkg_url" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Plugin zip file URL:').'</label> '.
+	form::field(array('pkg_url','pkg_url'),40,255).'</p>'.
+	'<p class="field"><label for="your_pwd2" class="classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Your password:').'</label> '.
+	form::password(array('your_pwd','your_pwd2'),20,255).'</p>'.
 	'<input type="submit" name="fetch_pkg" value="'.__('Download plugin').'" />'.
 	$core->formNonce().
Index: admin/popup_link.php
===================================================================
--- admin/popup_link.php	(revision 1179)
+++ admin/popup_link.php	(revision 1399)
@@ -40,11 +40,11 @@
 echo
 '<form id="link-insert-form" action="#" method="get">'.
-'<p><label class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Link URL:').' '.
-form::field('href',35,512,html::escapeHTML($href)).'</label></p>'.
-'<p><label>'.__('Link title:').' '. 
-form::field('title',35,512,html::escapeHTML($title)).'</label></p>'. 
-'<p><label>'.__('Link language:').' '.
+'<p><label class="required" for="href"><abbr title="'.__('Required field').'">*</abbr> '.__('Link URL:').'</label> '.
+form::field('href',35,512,html::escapeHTML($href)).'</p>'.
+'<p><label for="title">'.__('Link title:').'</label> '. 
+form::field('title',35,512,html::escapeHTML($title)).'</p>'. 
+'<p><label for="hreflang">'.__('Link language:').'</label> '.
 form::combo('hreflang',$lang_combo,$hreflang).
-'</label></p>'.
+'</p>'.
 
 '</form>'.
Index: admin/popup_posts.php
===================================================================
--- admin/popup_posts.php	(revision 1179)
+++ admin/popup_posts.php	(revision 1399)
@@ -53,14 +53,14 @@
 
 echo '<form action="popup_posts.php" method="post">'.
-	'<p><label for"type" class="classic">'.__('Entry type:').' '.form::combo('type',$type_combo,$type).'</label></p>'.
-	$core->formNonce().
+	'<p><label for"type" class="classic">'.__('Entry type:').'</label> '.form::combo('type',$type_combo,$type).''.
+	$core->formNonce().'</p>'.
 	'<noscript><div><input type="submit" value="'.__('Ok').'" /></div></noscript>'.
 	'</form>';
 
 echo '<form action="popup_posts.php" method="get">'.
-	'<p><label for="q" class="classic">'.__('Search entry:').' '.form::field('q',30,255,html::escapeHTML($q)).'</label> '.
-	' <input type="submit" value="'.__('Search').'" /></p>'.
+	'<p><label for="q" class="classic">'.__('Search entry:').'</label> '.form::field('q',30,255,html::escapeHTML($q)).
+	' <input type="submit" value="'.__('Search').'" />'.
 	form::hidden('type',html::escapeHTML($type)).
-	'</form>';
+	'</p></form>';
 
 try {
Index: admin/post.php
===================================================================
--- admin/post.php	(revision 1365)
+++ admin/post.php	(revision 1427)
@@ -313,4 +313,6 @@
 	$edit_entry_str = __('&ldquo;%s&rdquo;');
 	$page_title_edit = sprintf($edit_entry_str, html::escapeHTML($post_title)).' '.$img_status;
+} else {
+	$img_status = '';
 }
 
@@ -384,9 +386,110 @@
 	exit;
 }
-
 /* Post form if we can edit post
 -------------------------------------------------------- */
 if ($can_edit_post)
 {
+	$sidebar_items = new ArrayObject(array(
+		'status-box' => array(
+			'title' => __('Status'),
+			'items' => array(
+				'post_status' => 
+					'<p class="entry-status"><label for="post_status" class="ib">'.__('Entry status').' '.$img_status.'</label>'.
+					form::combo('post_status',$status_combo,$post_status,'maximal','',!$can_publish).
+					'</p>',
+				'post_dt' => 
+					'<p><label for="post_dt" class="ib">'.__('Publication date and hour').'</label>'.
+					form::field('post_dt',16,16,$post_dt,($bad_dt ? 'invalid' : '')).
+					'</p>',
+				'post_lang' =>
+					'<p><label for="post_lang" class="ib">'.__('Entry lang').'</label>'.
+					form::combo('post_lang',$lang_combo,$post_lang).
+					'</p>',
+				'post_format' =>
+					'<p><label for="post_format" class="ib">'.__('Text formating').'</label>'.
+					form::combo('post_format',$formaters_combo,$post_format,'maximal').
+					'</p>'.
+					'<p>'.($post_id && $post_format != 'xhtml' ? 
+					'<a id="convert-xhtml" class="button maximal" href="post.php?id='.$post_id.'&amp;xconv=1">'.
+					__('Convert to XHTML').'</a>' : '').'</p>')),
+		'metas-box' => array(
+			'title' => __('Ordering'),
+			'items' => array(
+				'post_selected' => 
+					'<p><label for="post_selected" class="classic">'.
+					form::checkbox('post_selected',1,$post_selected).' '.
+					__('Selected entry').'</label></p>',
+				'cat_id' =>
+					'<p><label for="cat_id" class="ib">'.__('Category').'</label>'.
+					form::combo('cat_id',$categories_combo,$cat_id,'maximal').
+					'</p>')),
+		'options-box' => array(
+			'title' => __('Options'),
+			'items' => array(
+				'post_open_comment' =>
+					'<p><label for="post_open_comment" class="classic">'.
+					form::checkbox('post_open_comment',1,$post_open_comment).' '.
+					__('Accept comments').'</label></p>'.
+					($core->blog->settings->system->allow_comments ? 
+						(isContributionAllowed($post_id,strtotime($post_dt),true) ? 
+							'' :
+							'<p class="form-note warn">'.
+							__('Warning: Comments are not more accepted for this entry.').'</p>') : 
+						'<p class="form-note warn">'.
+						__('Warning: Comments are not accepted on this blog.').'</p>'),
+				'post_open_tb' =>
+					'<p><label for="post_open_tb" class="classic">'.
+					form::checkbox('post_open_tb',1,$post_open_tb).' '.
+					__('Accept trackbacks').'</label></p>'.
+					($core->blog->settings->system->allow_trackbacks ? 
+						(isContributionAllowed($post_id,strtotime($post_dt),false) ? 
+							'' :
+							'<p class="form-note warn">'.
+							__('Warning: Trackbacks are not more accepted for this entry.').'</p>') : 
+						'<p class="form-note warn">'.__('Warning: Trackbacks are not accepted on this blog.').'</p>'),
+				'post_password' =>
+					'<p><label for="post_password" class="ib">'.__('Password').'</label>'.
+					form::field('post_password',10,32,html::escapeHTML($post_password),'maximal').
+					'</p>',
+				'post_url' =>
+					'<div class="lockable">'.
+					'<p><label for="post_url" class="ib">'.__('Edit basename').'</label>'.
+					form::field('post_url',10,255,html::escapeHTML($post_url),'maximal').
+					'</p>'.
+					'<p class="form-note warn">'.
+					__('Warning: If you set the URL manually, it may conflict with another entry.').
+					'</p></div>'
+	))));
+
+	$main_items = new ArrayObject(array(
+		"post_title" =>
+			'<p class="col">'.
+			'<label class="required no-margin"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label>'.
+			form::field('post_title',20,255,html::escapeHTML($post_title),'maximal').
+			'</p>',
+		
+		"post_excerpt" =>
+			'<p class="area" id="excerpt-area"><label for="post_excerpt">'.__('Excerpt:').'<span class="form-note">'.
+			__('Add an introduction to the post.').'</span></label> '.
+			form::textarea('post_excerpt',50,5,html::escapeHTML($post_excerpt)).
+			'</p>',
+		
+		"post_content" =>
+			'<p class="area"><label class="required" '.
+			'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '.
+			form::textarea('post_content',50,$core->auth->getOption('edit_size'),html::escapeHTML($post_content)).
+			'</p>',
+		
+		"post_notes" =>
+			'<p class="area" id="notes-area"><label for="post_notes">'.__('Personal notes:').'</label><span class="form-note">'.
+			__('Add unpublished notes.').'</span>'.
+			form::textarea('post_notes',50,5,html::escapeHTML($post_notes)).
+			'</p>'
+		)
+	);
+	
+	# --BEHAVIOR-- adminPostFormItems
+	$core->callBehavior('adminPostFormItems',$main_items,$sidebar_items, isset($post) ? $post : null);
+
 	echo '<div class="multi-part" title="'.($post_id ? __('Edit entry') : __('New entry')).'" id="edit-entry">';
 	echo '<form action="post.php" method="post" id="entry-form">';
@@ -396,25 +499,9 @@
 	echo '<h3 class="hidden">'.__('Edit post').'</h3>';
 	
-	echo
-	'<p class="col"><label class="required no-margin"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label>'.
-	form::field('post_title',20,255,html::escapeHTML($post_title),'maximal').
-	'</p>'.
-	
-	'<p class="area" id="excerpt-area"><label for="post_excerpt">'.__('Excerpt:').'<span class="form-note">'.
-	__('Add an introduction to the post.').'</span></label> '.
-	form::textarea('post_excerpt',50,5,html::escapeHTML($post_excerpt)).
-	'</p>'.
-	
-	'<p class="area"><label class="required" '.
-	'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '.
-	form::textarea('post_content',50,$core->auth->getOption('edit_size'),html::escapeHTML($post_content)).
-	'</p>'.
-	
-	'<p class="area" id="notes-area"><label for="post_notes">'.__('Personal notes:').'<span class="form-note">'.
-	__('Add unpublished notes.').'</span></label>'.
-	form::textarea('post_notes',50,5,html::escapeHTML($post_notes)).
-	'</p>';
-	
-	# --BEHAVIOR-- adminPostForm
+	foreach ($main_items as $id => $item) {
+		echo $item;
+	}
+
+	# --BEHAVIOR-- adminPostForm (may be deprecated)
 	$core->callBehavior('adminPostForm',isset($post) ? $post : null);
 	
@@ -445,77 +532,16 @@
 	echo '<div id="entry-sidebar">';
 	
-	echo
-	'<div id="status-box" class="box">'.
-	'<h4>Statut</h4>'.
-
-	'<p><label for="post_status">'.__('Entry status:').
-	form::combo('post_status',$status_combo,$post_status,'maximal','',!$can_publish).
-	'</label></p>'.
-	
-	'<p><label for="post_dt">'.__('Published on:').
-	form::field('post_dt',16,16,$post_dt,($bad_dt ? 'invalid' : '')).
-	'</label></p>'.
-	
-	'<p><label for="post_format">'.__('Text formating:').
-	form::combo('post_format',$formaters_combo,$post_format,'maximal').
-	'</label>'.
-	'</p>'.
-
-	'<p>'.($post_id && $post_format != 'xhtml' ? '<a id="convert-xhtml" class="button maximal" href="post.php?id='.$post_id.'&amp;xconv=1">'.__('Convert to XHTML').'</a>' : '').'</p>'.
-
-	'<p><label for="post_lang">'.__('Entry lang:').
-	form::combo('post_lang',$lang_combo,$post_lang).
-	'</label></p>'.
-	
-	'</div>'. // End status box
-	
-	'<div id="metas-box" class="box">'.
-	'<h4>Classement</h4>'.
-
-	'<p><label for="post_selected" class="classic">'.form::checkbox('post_selected',1,$post_selected).' '.
-	__('Selected entry').'</label></p>'.
-
-	'<p><label for="cat_id">'.__('Category:').
-	form::combo('cat_id',$categories_combo,$cat_id,'maximal').
-	'</label></p>'.
-
-	'</div>'. // End metas box
-	
-	'<div id="options-box" class="box">'.
-	'<h4>Options</h4>'.
-	'<p><label for="post_open_comment" class="classic">'.form::checkbox('post_open_comment',1,$post_open_comment).' '.
-	__('Accept comments').'</label></p>'.
-	($core->blog->settings->system->allow_comments ? 
-		(isContributionAllowed($post_id,strtotime($post_dt),true) ? 
-			'' :
-			'<p class="form-note warn">'.__('Warning: Comments are not more accepted for this entry.').'</p>') : 
-		'<p class="form-note warn">'.__('Warning: Comments are not accepted on this blog.').'</p>').
-
-	'<p><label for="post_open_tb" class="classic">'.form::checkbox('post_open_tb',1,$post_open_tb).' '.
-	__('Accept trackbacks').'</label></p>'.
-	($core->blog->settings->system->allow_trackbacks ? 
-		(isContributionAllowed($post_id,strtotime($post_dt),false) ? 
-			'' :
-			'<p class="form-note warn">'.__('Warning: Trackbacks are not more accepted for this entry.').'</p>') : 
-		'<p class="form-note warn">'.__('Warning: Trackbacks are not accepted on this blog.').'</p>').
-
-	'<p><label for="post_password">'.__('Password:').
-	form::field('post_password',10,32,html::escapeHTML($post_password),'maximal').
-	'</label></p>'.
-	
-	'<div class="lockable">'.
-	'<p><label for="post_url">'.__('Edit basename:').
-	form::field('post_url',10,255,html::escapeHTML($post_url),'maximal').
-	'</label></p>'.
-	'<p class="form-note warn">'.
-	__('Warning: If you set the URL manually, it may conflict with another entry.').
-	'</p>'.
-	'</div>';
-	
-	# --BEHAVIOR-- adminPostFormSidebar
+	foreach ($sidebar_items as $id => $c) {
+		echo '<div id="'.$id.'" class="box">'.
+			'<h4>'.$c['title'].'</h4>';
+		foreach ($c['items'] as $e_name=>$e_content) {
+			echo $e_content;
+		}
+		echo '</div>';
+	}
+	
+	
+	# --BEHAVIOR-- adminPostFormSidebar (may be deprecated)
 	$core->callBehavior('adminPostFormSidebar',isset($post) ? $post : null);
-
-	echo '</div>'; // End options box
-	
 	echo '</div>';		// End #entry-sidebar
 
@@ -613,15 +639,15 @@
 	'<form action="comment.php" method="post" id="comment-form">'.
 	'<div class="constrained">'.
-	'<p><label for="comment_author" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Name:').
+	'<p><label for="comment_author" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Name:').'</label>'.
 	form::field('comment_author',30,255,html::escapeHTML($core->auth->getInfo('user_cn'))).
-	'</label></p>'.
-	
-	'<p><label for="comment_email">'.__('Email:').
+	'</p>'.
+	
+	'<p><label for="comment_email">'.__('Email:').'</label>'.
 	form::field('comment_email',30,255,html::escapeHTML($core->auth->getInfo('user_email'))).
-	'</label></p>'.
-	
-	'<p><label for="comment_site">'.__('Web site:').
+	'</p>'.
+	
+	'<p><label for="comment_site">'.__('Web site:').'</label>'.
 	form::field('comment_site',30,255,html::escapeHTML($core->auth->getInfo('user_url'))).
-	'</label></p>'.
+	'</p>'.
 	
 	'<p class="area"><label for="comment_content" class="required"><abbr title="'.__('Required field').'">*</abbr> '.
Index: admin/posts.php
===================================================================
--- admin/posts.php	(revision 1358)
+++ admin/posts.php	(revision 1426)
@@ -260,41 +260,43 @@
 	if (!$show_filters) {
 		echo '<p><a id="filter-control" class="form-control" href="#">'.
-		__('Filters').'</a></p>';
+		__('Filter posts list').'</a></p>';
 	}
 	
 	echo
 	'<form action="posts.php" method="get" id="filters-form">'.
-	'<fieldset><legend>'.__('Filters').'</legend>'.
-	'<div class="three-cols">'.
-	'<div class="col">'.
-	'<label for="user_id">'.__('Author:').
-	form::combo('user_id',$users_combo,$user_id).'</label> '.
-	'<label for="cat_id">'.__('Category:').
-	form::combo('cat_id',$categories_combo,$cat_id).'</label> '.
-	'<label for="status">'.__('Status:').
-	form::combo('status',$status_combo,$status).'</label> '.
-	'</div>'.
-	
-	'<div class="col">'.
-	'<label for="selected">'.__('Selected:').
-	form::combo('selected',$selected_combo,$selected).'</label> '.
-	'<label for="month">'.__('Month:').
-	form::combo('month',$dt_m_combo,$month).'</label> '.
-	'<label for="lang">'.__('Lang:').
-	form::combo('lang',$lang_combo,$lang).'</label> '.
-	'</div>'.
-	
-	'<div class="col">'.
-	'<p><label for="sortby">'.__('Order by:').
-	form::combo('sortby',$sortby_combo,$sortby).'</label> '.
-	'<label for="order">'.__('Sort:').
-	form::combo('order',$order_combo,$order).'</label></p>'.
-	'<p><label for="nb" class="classic">'.	form::field('nb',3,3,$nb_per_page).' '.
-	__('Entries per page').'</label></p> '.
-	'<p><input type="submit" value="'.__('Apply filters').'" /></p>'.
-	'</div>'.
-	'</div>'.
-	'<br class="clear" />'. //Opera sucks
-	'</fieldset>'.
+	'<h3>'.__('Filter posts list').'</h3>'.
+
+	'<div class="table">'.
+	'<div class="cell">'.
+	'<p><label for="user_id" class="ib">'.__('Author:').'</label> '.
+	form::combo('user_id',$users_combo,$user_id).'</p>'.
+	'<p><label for="cat_id" class="ib">'.__('Category:').'</label> '.
+	form::combo('cat_id',$categories_combo,$cat_id).'</p>'.
+	'<p><label for="status" class="ib">'.__('Status:').'</label> ' .
+	form::combo('status',$status_combo,$status).'</p> '.
+	'</div>'.
+	
+	'<div class="cell">'.
+	'<p><label for="selected" class="ib">'.__('Selected:').'</label> '.
+	form::combo('selected',$selected_combo,$selected).'</p>'.
+	'<p><label for="month" class="ib">'.__('Month:').'</label> '.
+	form::combo('month',$dt_m_combo,$month).'</p>'.
+	'<label for="lang" class="ib">'.__('Lang:').'</label> '.
+	form::combo('lang',$lang_combo,$lang).'</p> '.
+	'</div>'.
+	
+	'<div class="cell filters-options">'.
+	'<p><label for="sortby" class="ib">'.__('Order by:').'</label> '.
+	form::combo('sortby',$sortby_combo,$sortby).'</p>'.
+	'<p><label for="order" class="ib">'.__('Sort:').'</label> '.
+	form::combo('order',$order_combo,$order).'</p>'.
+	'<p><span class="label ib">'.__('Show').'</span> <label for="nb" class="classic">'.
+	form::field('nb',3,3,$nb_per_page).' '.
+	__('entries per page').'</label></p>'.
+	'</div>'.
+	'</div>'.
+
+	'<p><input type="submit" value="'.__('Apply filters').'" />'.
+	'<br class="clear" /></p>'. //Opera sucks
 	'</form>';
 	
Index: admin/posts_actions.php
===================================================================
--- admin/posts_actions.php	(revision 1179)
+++ admin/posts_actions.php	(revision 1399)
@@ -262,7 +262,6 @@
 	echo
 	'<form action="posts_actions.php" method="post">'.
-	'<p><label for="new_cat_id" class="classic">'.__('Category:').' '.
-	form::combo('new_cat_id',$categories_combo,'').
-	'</label> ';
+	'<p><label for="new_cat_id" class="classic">'.__('Category:').'</label> '.
+	form::combo('new_cat_id',$categories_combo,'');
 	
 	echo
@@ -295,7 +294,6 @@
 	echo
 	'<form action="posts_actions.php" method="post">'.
-	'<p><label for="new_lang" class="classic">'.__('Entry lang:').' '.
-	form::combo('new_lang',$lang_combo,'').
-	'</label> ';
+	'<p><label for="new_lang" class="classic">'.__('Entry lang:').'</label> '.
+	form::combo('new_lang',$lang_combo,'');
 	
 	echo
@@ -313,7 +311,6 @@
 	echo
 	'<form action="posts_actions.php" method="post">'.
-	'<p><label for="new_auth_id" class="classic">'.__('Author ID:').' '.
-	form::field('new_auth_id',20,255).
-	'</label> ';
+	'<p><label for="new_auth_id" class="classic">'.__('Author ID:').'</label> '.
+	form::field('new_auth_id',20,255);
 	
 	echo
Index: admin/preferences.php
===================================================================
--- admin/preferences.php	(revision 1358)
+++ admin/preferences.php	(revision 1399)
@@ -384,18 +384,18 @@
 '<div class="two-cols">'.
 '<div class="col">'.
-'<p><label for="user_name">'.__('Last Name:').
-form::field('user_name',20,255,html::escapeHTML($user_name)).'</label></p>'.
-
-'<p><label for="user_firstname">'.__('First Name:').
-form::field('user_firstname',20,255,html::escapeHTML($user_firstname)).'</label></p>'.
-
-'<p><label for="user_displayname">'.__('Display name:').
-form::field('user_displayname',20,255,html::escapeHTML($user_displayname)).'</label></p>'.
-
-'<p><label for="user_email">'.__('Email:').
-form::field('user_email',20,255,html::escapeHTML($user_email)).'</label></p>'.
-
-'<p><label for="user_url">'.__('URL:').
-form::field('user_url',30,255,html::escapeHTML($user_url)).'</label></p>'.
+'<p><label for="user_name">'.__('Last Name:').'</label>'.
+form::field('user_name',20,255,html::escapeHTML($user_name)).'</p>'.
+
+'<p><label for="user_firstname">'.__('First Name:').'</label>'.
+form::field('user_firstname',20,255,html::escapeHTML($user_firstname)).'</p>'.
+
+'<p><label for="user_displayname">'.__('Display name:').'</label>'.
+form::field('user_displayname',20,255,html::escapeHTML($user_displayname)).'</p>'.
+
+'<p><label for="user_email">'.__('Email:').'</label>'.
+form::field('user_email',20,255,html::escapeHTML($user_email)).'</p>'.
+
+'<p><label for="user_url">'.__('URL:').'</label>'.
+form::field('user_url',30,255,html::escapeHTML($user_url)).'</p>'.
 
 '</div>'.
@@ -403,9 +403,9 @@
 '<div class="col">'.
 
-'<p><label for="user_lang">'.__('User language:').
-form::combo('user_lang',$lang_combo,$user_lang,'l10n').'</label></p>'.
-
-'<p><label for="user_tz">'.__('User timezone:').
-form::combo('user_tz',dt::getZones(true,true),$user_tz).'</label></p>'.
+'<p><label for="user_lang">'.__('User language:').'</label>'.
+form::combo('user_lang',$lang_combo,$user_lang,'l10n').'</p>'.
+
+'<p><label for="user_tz">'.__('User timezone:').'</label>'.
+form::combo('user_tz',dt::getZones(true,true),$user_tz).'</p>'.
 
 '</div>'.
@@ -420,14 +420,14 @@
 	'<legend>'.__('Change your password').'</legend>'.
 	
-	'<p><label for="new_pwd">'.__('New password:').
-	form::password('new_pwd',20,255).'</label></p>'.
+	'<p><label for="new_pwd">'.__('New password:').'</label>'.
+	form::password('new_pwd',20,255).'</p>'.
 	
-	'<p><label for="new_pwd_c">'.__('Confirm password:').
-	form::password('new_pwd_c',20,255).'</label></p>'.
+	'<p><label for="new_pwd_c">'.__('Confirm password:').'</label>'.
+	form::password('new_pwd_c',20,255).'</p>'.
 	'</fieldset>'.
 	
 	'<p>'.__('If you have changed this user email or password you must provide your current password to save these modifications.').'</p>'.
-	'<p><label for="cur_pwd">'.__('Your password:').
-	form::password('cur_pwd',20,255).'</label></p>';
+	'<p><label for="cur_pwd">'.__('Your password:').'</label>'.
+	form::password('cur_pwd',20,255).'</p>';
 }
 
@@ -447,12 +447,12 @@
 '<fieldset><legend>'.__('My options').'</legend>'.
 
-'<p><label for="user_post_format">'.__('Preferred format:').
-form::combo('user_post_format',$formaters_combo,$user_options['post_format']).'</label></p>'.
-
-'<p><label for="user_post_status">'.__('Default entry status:').
-form::combo('user_post_status',$status_combo,$user_post_status).'</label></p>'.
-
-'<p><label for="user_edit_size">'.__('Entry edit field height:').
-form::field('user_edit_size',5,4,(integer) $user_options['edit_size']).'</label></p>'.
+'<p><label for="user_post_format">'.__('Preferred format:').'</label>'.
+form::combo('user_post_format',$formaters_combo,$user_options['post_format']).'</p>'.
+
+'<p><label for="user_post_status">'.__('Default entry status:').'</label>'.
+form::combo('user_post_status',$status_combo,$user_post_status).'</p>'.
+
+'<p><label for="user_edit_size">'.__('Entry edit field height:').'</label>'.
+form::field('user_edit_size',5,4,(integer) $user_options['edit_size']).'</p>'.
 
 '<p><label for="user_wysiwyg" class="classic">'.
@@ -470,6 +470,6 @@
 if (count($iconsets_combo) > 1) {
 	echo 
-		'<p><label for="user_ui_iconset">'.__('Iconset:').
-		form::combo('user_ui_iconset',$iconsets_combo,$user_ui_iconset).'</label></p>';
+		'<p><label for="user_ui_iconset">'.__('Iconset:').'</label>'.
+		form::combo('user_ui_iconset',$iconsets_combo,$user_ui_iconset).'</p>';
 } else {
 	form::hidden('user_ui_iconset','');
Index: admin/style/default.css
===================================================================
--- admin/style/default.css	(revision 1446)
+++ admin/style/default.css	(revision 1447)
@@ -53,4 +53,8 @@
 	color: #d30e60;
 }
+.page-title img {
+	padding-left: .6rem;
+	vertical-align: middle;
+}
 #content > h2 {
 	padding: 0 1.8rem .6rem;
@@ -69,4 +73,12 @@
 	font-size: 1em;
 	color: #575859;
+}
+#entry-sidebar h5 {
+	font-weight: normal;
+	color: #333;
+}
+.entry-status label img {
+	padding-left: .4rem;
+	vertical-align: text-top;
 }
 p, div.p {
@@ -260,6 +272,6 @@
 /* -------------------------------------------------------------- layout - onglets */
 .part-tabs ul {
-	padding: .5em 0 .3em 1rem;
-	border-bottom: 1px solid #ccc;
+	padding: .5em 0 .3em 1.2rem;
+	border-bottom: 1px solid #ddd;
 }
 .part-tabs li {
@@ -269,12 +281,11 @@
 }
 .part-tabs li a {
-	padding: .5em 1em;
-	margin-right: .5em;
-	border: 1px solid #ccc;
+	padding: .5em 2em;
+	margin-right: -1px;
+	border: 1px solid #aaa;
 	border-bottom: none;
-	background: #efefef;
 	text-decoration: none;
-	color: #000;
-	background-color:#ededed;
+	color: #333;
+	background-color:#E4E0EC;
 }
 .part-tabs li a:hover, .part-tabs li a:focus {
@@ -285,8 +296,7 @@
 .part-tabs li.part-tabs-active a {
 	background: #fff;
-	border: 1px solid #d30e60;
-	color: #d30e60;
 	font-weight: bold;
 	border-bottom-color: #fff;
+	padding-bottom: .7rem;
 }
 /* ------------------------------------------------------------------ main-menu */
@@ -320,4 +330,7 @@
 	background-repeat: no-repeat;
 	background-position: 8px .3em;
+}
+#main-menu li.active {
+	background-color: #fff;
 }
 #main-menu a {
@@ -358,5 +371,5 @@
 	background: #dfdfdf;
 	border-color: #999;
-	color: #666;
+	color: #444;
 	border-bottom-right-radius: .6em;
 	border-top-right-radius: .6em;
@@ -380,7 +393,5 @@
 	color: #000;
 	font-variant: small-caps;
-}
-#favorites-menu a {
-	color: #333;
+	padding-top: .6rem;
 }
 /* ------------------------------------------------------------------ footer */
@@ -435,13 +446,5 @@
 /* ------------------------------------------------------------------ dashboard */
 #dashboard-main {
-	float: left;
-	overflow: hidden;
-	padding: 1em 2% 1em 0;
-	width: 70%;
-}
-#dashboard-main.fullwidth {
-	width: 100%;
 	padding: 1em 0;
-	float: none;
 }
 #icons {
@@ -453,6 +456,8 @@
 	width: 210px;
 	text-align: center;
-	margin: 2em 0;
+	margin: 1em 0 2em;
+	padding: 1em 0;
 	display:inline-block;
+	vertical-align: top;
 }
 #icons a,
@@ -466,4 +471,15 @@
 #icons a span {
 	border-bottom: 1px dotted #f90;
+	color: #333;
+}
+#icons a img {
+	padding: 2em;
+	background: #eee;
+	border-radius: 1.6rem;
+	box-shadow: 0 3px 3px 0 #ccc;
+	margin-bottom: .6rem;
+}
+#icons a img:hover, #icons a:focus img {
+	background-color: #BBDB58;
 }
 #icons a:focus span, #icons a:hover span {
@@ -471,5 +487,4 @@
 }
 #quick {
-	clear: left;
 	margin-top: 2em;
 }
@@ -486,9 +501,14 @@
 }
 #dashboard-items {
-	float: left;
-	width: 27%;
-	overflow: hidden;
-	padding-bottom: 1em;
-	padding-top: 3em;
+	margin: 3em auto;
+	display: table;
+	width: 100%;
+	border-collapse: collapse;
+}
+.db-item {
+	display: table-cell;
+	padding: 1em 3em;
+	vertical-align: top;
+	border: 1px solid #ccc;
 }
 #dashboard-items img {
@@ -515,12 +535,4 @@
 }
 
-#upg-notify {
-}
-#upg-notify ul {
-	padding-left: 15px;
-}
-#upg-notify li {
-	color: #fff;
-}
 /* ------------------------------------------------------------------ post */
 #entry-wrapper {
@@ -531,5 +543,8 @@
 #entry-content {
 	margin-right: 19em;
-	margin-left: 1.2rem;
+	margin-left: 0;
+}
+.multi-part {
+	padding-left: 1.2rem;
 }
 #entry-content label {
@@ -542,6 +557,10 @@
 	float: right;
 }
+#entry-sidebar input[type="text"],
+#entry-sidebar select {
+	width: 14em; /* to prevent inline with label */
+}
 .box {
-	border-bottom: 2px solid #A2CBE9;
+	border-bottom: 1px solid #ddd;
 	margin-bottom: 1em;
 }
@@ -717,26 +736,31 @@
 /* -------------------------------------------------------------------- Themes */
 #themes {
-	border-bottom: 1px solid #ccc;
-	margin: 1em 0;
+	margin: 0;
+	width: 100%;
+	padding: 0;
+}
+#themes h3 {
 }
 #themes div.theme-details {
-	clear: left;
 	border-top: 1px solid #ccc;
-	padding: 1em 0;
+	padding: 12px;
+	display: inline-block;
+	vertical-align: top;
+	width: 284px;
+}
+.current-theme {
+	background: #eef;
 }
 #themes div.theme-details:hover {
-	background: #eee;
+	background: #f0f0f0;
 }
 #themes div.theme-details div.theme-shot {
-	float: left;
 }
 #themes div.theme-details div.theme-shot img {
 	display: block;
-	width: 57px;
-	height: 50px;
 	border: 1px solid #ccc;
+	margin-bottom: 1.5em;
 }
 #themes div.theme-details div.theme-info {
-	margin-left: 67px;
 }
 #themes div.theme-details div.theme-info span.theme-desc {
@@ -747,21 +771,33 @@
 }
 #themes div.theme-details div.theme-actions {
-	margin-left: 67px;
-}
+}
+#themes-actions {
+	border-bottom: 1px solid #999;
+	margin-bottom: 3em;
+}
+.theme-css {
+	display: block;
+}
+
 /* Themes list, JS version */
 #themes-wrapper {
+	display: table;
+}
+#themes-wrapper #themes {
+	display: table-cell;
+	vertical-align: top;
 }
 #theme-box {
-	border: 1px solid #999;
-	border-left: none;
-	padding: 5px;
-	float: right;
-	height: 420px;
-	width: 320px;
-	overflow: auto;
+	display: table-cell;
+	vertical-align: top;
+	padding: 1rem 0; 
+	width: 312px;
+	background: #eef;
+	border: 1px solid #ccc;
+	border-radius: 3px;
 }
 #theme-box div.theme-shot img {
 	display: block;
-	margin: 0 0 0 10px;
+	margin: 0 16px;
 	width: 280px;
 	height: 245px;
@@ -769,11 +805,8 @@
 }
 #theme-box div.theme-info {
-	margin: 1em 0 0 10px;
-}
-#theme-box h3 {
-	margin: 0;
-}
-#theme-box div.theme-info span {
-	display: block;
+	margin: 1em 16px;
+}
+#theme-box h4 {
+	color: #000;
 }
 #theme-box span.theme-version {
@@ -788,12 +821,5 @@
 }
 #theme-box div.theme-actions {
-	margin-left: 10px;
-}
-#themes-wrapper #themes {
-	border: 1px solid #999;
-	overflow: auto;
-	height: 420px;
-	padding: 5px;
-	margin: 0;
+	padding: 0 16px;
 }
 #themes div.theme-details-js {
@@ -801,9 +827,9 @@
 	width: 120px;
 	height: 150px;
-	margin: 0 10px 20px;
-	padding: 10px 10px 0;
+	margin: 0 12px 24px;
+	padding: 12px 12px 0;
 	text-align: center;
 	background: #f3f3f3;
-	border: 1px solid #f3f3f3;
+	border: 1px solid #ddd;
 	cursor: pointer;
 	border-radius: 4px;
@@ -813,5 +839,5 @@
 }
 #themes div.theme-details-js.theme-selected {
-	background: #E5E3DA;
+	background: #ddd;
 	border: 1px solid #999;
 }
@@ -820,10 +846,4 @@
 	height: 105px;
 	border: 1px solid #fff;
-}
-#themes div.theme-details-js h3 {
-	font-family: inherit;
-	font-weight: normal;
-	margin: 0;
-	padding: 0;
 }
 /* ----------------------------------------------------------  Plugins list */
@@ -956,7 +976,4 @@
 	color: #fff;
 }
-#content > .message, #content > .error {
-	margin-right: 14em
-}
 /* ------------------------------------------------------------------ navigation */
 .anchor-nav {
@@ -968,15 +985,23 @@
 .nav_prevnext {
 	margin-bottom: 2em;
-	color: #ccc;
+	color: #fff;
 }
 .nav_prevnext a, a.back {
-	border: 1px solid #ccc;
-	padding: .2rem .5rem;
-	background-color: #eef;
+	border: 1px solid #ddd;
+	padding: .2rem 2rem;
+	border-radius: 1rem;
+	background-color: #f0f0f0;
 }
 a.back:before {
 	content: "\ab\a0";
 }
-
+a.onblog_link {
+	color: #333;
+	float: right;
+	border: 1px solid #eee;
+	padding: .2rem 2rem;
+	border-radius: 1rem;
+	background-color: #ffe;
+}
 /* ------------------------------------------------------------------ debug */
 #debug {
@@ -1219,7 +1244,8 @@
 	border-width: 1px;
 	border-style: solid;
-	border-color: #ccc;
-	background: #eef;
+	border-color: #333;
+	background: #fff;
 	margin-bottom: 0.5em;
+	border-radius: 3px;
 }
 optgroup {
@@ -1285,9 +1311,12 @@
 }
 p.form-note.info {
-	background: #eef url(info.png) no-repeat .3em .2em;
-	border: 1px solid #99f;
-}
-.form-note a {border-bottom: 1px solid #99f;}
-
+	background: #f5eaff url(info.png) no-repeat .3em .2em;
+	border: 1px solid #ddbaff;
+}
+.form-note a {border-bottom: 1px solid #ddbaff;}
+
+label.ib {
+	display: inline-block;
+}
 label.classic {
 	display: inline;
@@ -1338,8 +1367,7 @@
 a.form-control {
 	display: none;
-	font-weight: bold;
-	background: url(magnifier.png) no-repeat 0 0;
-	color: green;
+	background: url(../images/expand.png) no-repeat .4rem center;
 	padding-left: 20px;
+	color: #000;
 }
 .constrained {
@@ -1419,5 +1447,5 @@
 input[type=submit].delete {
 	color: #c00;
-	padding-bottom: .1em;
+	padding-bottom: .2rem;
 }
 #entry-content .delete {
@@ -1447,5 +1475,4 @@
 	border:1px solid #83c41a;
 	padding:.6rem 1.8rem;
-	text-shadow:1px 1px 0 #689324;
 	color: #000;
 	text-shadow: 1px 1px 0 #BBDB58;
@@ -1462,8 +1489,4 @@
 .button-add:focus {
 	outline: dotted 1px;
-}
-.button.add:active {
-	position:relative;
-	top:1px;
 }
 
@@ -1501,9 +1524,73 @@
 }
 
+/* ------------------------------------------------------- Filters */
+#filters-form {
+	border: 1px dashed #999;
+	border-radius: .6rem;
+	margin-bottom: 2em;
+	padding: .5em 1em 0;
+}
+#filters-form .table {
+	display: table;
+	width: 100%;
+	padding: 0;
+	margin-bottom: 1em;
+	margin-top: 1.5em;
+}
+#filters-form .cell {
+	padding: 0 2em 0 0;
+	display: table-cell;
+	vertical-align: top;
+}
+#filters-form .filters-options {
+	padding-left: 2em;
+	border-left: 1px solid #ccc;
+}
+#filters-form label.ib, span.ib {
+	width:7em;
+	display: inline-block;
+}
+#filters-form label.ibw, span.ibw {
+	width: 9em;
+	display: inline-block;
+}
+#filters-form select {
+	width: 14em;
+}
+
+/* ---------------------------------------------------- Pagination */
+.pagination {
+	height: 22px;
+	margin-top: 1em;
+	line-height: 22px;
+	padding: 0 1rem; 
+	border: 1px solid #ddd;
+	overflow: hidden; 
+	background: #e1e1e1; 
+	background: -moz-linear-gradient(center top , #f2f2f2, #e1e1e1); 
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f2f2f2), color-stop(100%,#e1e1e1)); 
+	-moz-border-radius: 4px; 
+	-webkit-border-radius: 4px; 
+	border-radius: 4px; 
+}
+.pagination a, .pagination strong {
+	height: 20px;
+	border: none;
+	padding: 2px 6px; 
+	background-color : transparent;
+	background-position : 50% 50%;
+	background-repeat: no-repeat;
+}
+.pagination a:hover, .pagination strong {
+	border-color : #ccc;
+	background-color: #fff;
+}
+
 /* ---------------------------------------------------------------------------
 	Media queries vite fait en attendant la reprise complète du layout
 ---------------------------------------------------------------------------- */
 @media screen and (max-width: 920px) {
-	#top, #top h1 a {width: 42px !important; height:100%; overflow: hidden;}
+	#top, #top h1 a {width: 42px !important; height:100%; overflow: hidden;
+}
 	#top h1 a:link {
 		background: transparent url(dc_logos/b-dotclear120.png) no-repeat -180px 6px; 
@@ -1523,4 +1610,5 @@
 		line-height: 3.2rem;
 	}
+	#info-box1 {margin-left: 1rem;}
 	#info-box1 select {width: 14rem;}
 	#main-menu, #main, #content, #content h2, #entry-wrapper, #entry-sidebar, #entry-content, .two-cols .col, .two-cols .col:first-child {
@@ -1541,5 +1629,6 @@
 	.smallscreen {display: none;}
 	#help-button {width:20px; overflow: hidden;}
-	#info-box1 {margin-left: 1rem;}
+	#info-box2 {float:none;}
+	#dashboard-items div {display: block;margin-bottom: 1em; padding: 0 1em;}
 }
 @media screen and (max-width: 492px) {
@@ -1548,4 +1637,5 @@
 	.page-title, #info-boxes, .media-item {display: inline-block;}
 	div.media-list .media-item {width: 90%; float: none}
+	#info-box1 select {width: 12rem; margin-right: .6rem;}
 	#info-box1 p.nomobile, label.nomobile {display: none;}
 	#help-button {height:26px; width:26px; background-color: #A2CBE9; padding: 0; margin:0;font-size: 1rem;line-height: 68px}
Index: admin/style/jsToolBar/jsToolBar.css
===================================================================
--- admin/style/jsToolBar/jsToolBar.css	(revision 1065)
+++ admin/style/jsToolBar/jsToolBar.css	(revision 1399)
@@ -2,6 +2,5 @@
 	border-width : 0 1px 1px 1px;
 	border-style : solid;
-	border-color : #000 #ccc #ccc #000;
-	padding-left: 5px;
+	border-color : #ccc;
 	background : #f9f9f9;
 }
@@ -9,6 +8,10 @@
   margin: 0;
   border: 0;
+  padding: 0;
 }
-
+.jstEditor textarea {
+  width: 99%;
+  padding: 1rem 0 0 1%;
+}
 .jstHandle {
 	height: 8px;
@@ -22,9 +25,17 @@
 
 .jstElements {
-	padding: 3px 3px;
-	border-width: 1px 1px 0 1px;
-	border-style: solid;
-	border-color: #000 #ccc #ccc #000;
-	background: #dfdfdf;
+	height: 28px;
+	padding: 0 1rem; 
+	border: 1px solid #ccc;
+	overflow: hidden; 
+	background: #e1e1e1; 
+	background: -moz-linear-gradient(center top , #f2f2f2, #e1e1e1); 
+	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f2f2f2), color-stop(100%,#e1e1e1)); 
+	-moz-border-radius: 4px 4px 0 0; 
+	-webkit-border-radius: 4px 4px 0 0; 
+	border-radius: 4px 4px 0 0; 
+	-webkit-box-shadow: 0 1px 0 #FFF inset; 
+	-moz-box-shadow: 0 1px 0 #FFF inset; 
+	box-shadow: 0 1px 0 #FFF inset;
 }
 
@@ -34,13 +45,12 @@
 .jstElements select {
 	width: 12em;
+	margin-right: .6rem;
 }
 .jstElements button {
-	margin-right : 2px;
-	width : 20px;
-	height: 20px;
-	padding: 0;
-	border-style: solid;
-	border-width: 1px;
-	border-color: #dfdfdf;
+	width : 30px;
+	height: 28px;
+	border-style: groove;
+	border-width:  0 1px 0 0;
+	border-color: #666;
 	background-color : transparent;
 	background-position : 50% 50%;
@@ -55,11 +65,16 @@
 }
 .jstElements span {
-	display : inline;
+	display : inline-block;
+	vertical-align: top;
+	background: #dfdfdf;
 }
 
 .jstSpacer {
-	width : 0px;
-	font-size: 1px;
-	margin-right: 4px;
+	width : 2px;
+	height: 28px;
+	margin-right: 0;
+	border-style: groove;
+	border-width:  0 1px 0 0;
+	border-color: #666;
 }
 
Index: admin/trackbacks.php
===================================================================
--- admin/trackbacks.php	(revision 1358)
+++ admin/trackbacks.php	(revision 1399)
@@ -127,10 +127,10 @@
 '<h3>'.__('Ping blogs').'</h3>'.
 '<form action="trackbacks.php" id="trackback-form" method="post">'.
-'<p><label for="tb_urls" class="area">'.__('URLs to ping:').
+'<p><label for="tb_urls" class="area">'.__('URLs to ping:').'</label>'.
 form::textarea('tb_urls',60,5,$tb_urls).
-'</label></p>'.
+'</p>'.
 
-'<p><label for="tb_excerpt" class="area">'.__('Send excerpt:').
-form::textarea('tb_excerpt',60,3,$tb_excerpt).'</label></p>'.
+'<p><label for="tb_excerpt" class="area">'.__('Send excerpt:').'</label>'.
+form::textarea('tb_excerpt',60,3,$tb_excerpt).'</p>'.
 
 '<p>'.form::hidden('id',$id).
Index: admin/user.php
===================================================================
--- admin/user.php	(revision 1358)
+++ admin/user.php	(revision 1399)
@@ -203,26 +203,26 @@
 '<div class="two-cols">'.
 '<div class="col">'.
-'<p><label for="user_id" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Username:').' '.
+'<p><label for="user_id" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Username:').'</label> '.
 form::field('user_id',20,255,html::escapeHTML($user_id)).
-'</label></p>'.
+'</p>'.
 '<p class="form-note">'.__('At least 2 characters using letters, numbers or symbols.').'</p>'.
 
 '<p><label for="new_pwd" '.($user_id != '' ? '' : 'class="required"').'>'.
 ($user_id != '' ? '' : '<abbr title="'.__('Required field').'">*</abbr> ').
-($user_id != '' ? __('New password:') : __('Password:')).' '.
+($user_id != '' ? __('New password:') : __('Password:')).'</label> '.
 form::password('new_pwd',20,255).
-'</label></p>'.
+'</p>'.
 '<p class="form-note">'.__('Password must contain at least 6 characters.').'</p>'.
 
 '<p><label for="new_pwd_c" '.($user_id != '' ? '' : 'class="required"').'>'.
-($user_id != '' ? '' : '<abbr title="'.__('Required field').'">*</abbr> ').__('Confirm password:').' '.
+($user_id != '' ? '' : '<abbr title="'.__('Required field').'">*</abbr> ').__('Confirm password:').'</label> '.
 form::password('new_pwd_c',20,255).
-'</label></p>'.
-
-'<p><label for="user_name">'.__('Last Name:').' '.
+'</p>'.
+
+'<p><label for="user_name">'.__('Last Name:').'</label> '.
 form::field('user_name',20,255,html::escapeHTML($user_name)).
-'</label></p>'.
-
-'<p><label for="user_firstname">'.__('First Name:').' '.
+'</p>'.
+
+'<p><label for="user_firstname">'.__('First Name:').'</label> '.
 form::field('user_firstname',20,255,html::escapeHTML($user_firstname)).
 '</label></p>'.
@@ -230,35 +230,35 @@
 '<p><label for="user_displayname">'.__('Display name:').' '.
 form::field('user_displayname',20,255,html::escapeHTML($user_displayname)).
-'</label></p>'.
-
-'<p><label for="user_email">'.__('Email:').' '.
+'</p>'.
+
+'<p><label for="user_email">'.__('Email:').'</label> '.
 form::field('user_email',20,255,html::escapeHTML($user_email)).
-'</label></p>'.
+'</p>'.
 '<p class="form-note">'.__('Mandatory for password recovering procedure.').'</p>'.
 '</div>'.
 
 '<div class="col">'.
-'<p><label for="user_url">'.__('URL:').' '.
+'<p><label for="user_url">'.__('URL:').'</label> '.
 form::field('user_url',30,255,html::escapeHTML($user_url)).
-'</label></p>'.
-'<p><label for="user_post_format">'.__('Preferred format:').' '.
+'</p>'.
+'<p><label for="user_post_format">'.__('Preferred format:').'</label> '.
 form::combo('user_post_format',$formaters_combo,$user_options['post_format']).
-'</label></p>'.
-
-'<p><label for="user_post_status">'.__('Default entry status:').' '.
+'</p>'.
+
+'<p><label for="user_post_status">'.__('Default entry status:').'</label> '.
 form::combo('user_post_status',$status_combo,$user_post_status).
-'</label></p>'.
-
-'<p><label for="user_edit_size">'.__('Entry edit field height:').' '.
+'</p>'.
+
+'<p><label for="user_edit_size">'.__('Entry edit field height:').'</label> '.
 form::field('user_edit_size',5,4,(integer) $user_options['edit_size']).
-'</label></p>'.
-
-'<p><label for="user_lang">'.__('User language:').' '.
+'</p>'.
+
+'<p><label for="user_lang">'.__('User language:').'</label> '.
 form::combo('user_lang',$lang_combo,$user_lang,'l10n').
-'</label></p>'.
-
-'<p><label for="user_tz">'.__('User timezone:').' '.
+'</p>'.
+
+'<p><label for="user_tz">'.__('User timezone:').'</label> '.
 form::combo('user_tz',dt::getZones(true,true),$user_tz).
-'</label></p>';
+'</p>';
 
 if ($core->auth->allowPassChange()) {
@@ -283,6 +283,6 @@
 echo
 '<p><label for="your_pwd" '.($user_id != '' ? '' : 'class="required"').'>'.
-($user_id != '' ? '' : '<abbr title="'.__('Required field').'">*</abbr> ').__('Your password:').
-form::password('your_pwd',20,255).'</label></p>'.
+($user_id != '' ? '' : '<abbr title="'.__('Required field').'">*</abbr> ').__('Your password:').'</label>'.
+form::password('your_pwd',20,255).'</p>'.
 '<p class="clear"><input type="submit" name="save" accesskey="s" value="'.__('Save').'" />'.
 ($user_id != '' ? '' : ' <input type="submit" name="saveplus" value="'.__('Save and create another').'" />').
Index: admin/users.php
===================================================================
--- admin/users.php	(revision 1358)
+++ admin/users.php	(revision 1426)
@@ -115,31 +115,29 @@
 	
 	if (!$show_filters) {
-		echo '<p><a id="filter-control" class="form-control" href="#">'.__('Filters').'</a></p>';
+		echo '<p><a id="filter-control" class="form-control" href="#">'.__('Filter users list').'</a></p>';
 	}
 	
 	echo
 	'<form action="users.php" method="get" id="filters-form">'.
-	'<fieldset class="two-cols"><legend>'.__('Filters').'</legend>'.
+	'<h3>'.__('Filter users list').'</h3>'.
 	
-	'<div class="col">'.
-	'<p><label for="sortby">'.__('Order by:').' '.
-	form::combo('sortby',$sortby_combo,$sortby).
-	'</label> '.
-	'<label for="order">'.__('Sort:').' '.
-	form::combo('order',$order_combo,$order).
-	'</label></p>'.
+	'<div class="table">'.
+	'<div class="cell">'.
+	'<p><label for="q" class="ib">'.__('Search:').'</label> '.
+	form::field('q',20,255,html::escapeHTML($q)).'</p>'.
 	'</div>'.
-	
-	'<div class="col">'.
-	'<p><label for="q">'.__('Search:').' '.
-	form::field('q',20,255,html::escapeHTML($q)).
-	'</label></p>'.
-	'<p><label for="nb" class="classic">'.	form::field('nb',3,3,$nb_per_page).' '.
-	__('Users per page').'</label> '.
-	'<input type="submit" value="'.__('Apply filters').'" /></p>'.
+
+	'<div class="cell filters-options">'.
+	'<p><label for="sortby" class="ib">'.__('Order by:').'</label> '.
+	form::combo('sortby',$sortby_combo,$sortby).'</p> '.
+	'<p><label for="order" class="ib">'.__('Sort:').'</label> '.
+	form::combo('order',$order_combo,$order).'</p>'.
+	'<p><span class="label ib">'.__('Show').'</span> <label for="nb" class="classic">'.	
+	form::field('nb',3,3,$nb_per_page).' '.__('users per page').'</p> '.
 	'</div>'.
-	
-	'<br class="clear" />'. //Opera sucks
-	'</fieldset>'.
+	'</div>'.
+
+	'<p><input type="submit" value="'.__('Apply filters').'" />'.	
+	'<br class="clear" /></p>'. //Opera sucks
 	'</form>';
 	
Index: admin/users_actions.php
===================================================================
--- admin/users_actions.php	(revision 1358)
+++ admin/users_actions.php	(revision 1399)
@@ -285,6 +285,6 @@
 	echo
 	'<fieldset><legend>'.__('Validate permissions').'</legend>'.
-	'<p><label for="your_pwd">'.__('Your password:').
-	form::password('your_pwd',20,255).'</label></p>'.
+	'<p><label for="your_pwd">'.__('Your password:').'</label>'.
+	form::password('your_pwd',20,255).'</p>'.
 	'</fieldset>'.
 	'<p><input type="submit" accesskey="s" value="'.__('Save').'" />'.
Index: inc/admin/lib.dc.page.php
===================================================================
--- inc/admin/lib.dc.page.php	(revision 1358)
+++ inc/admin/lib.dc.page.php	(revision 1395)
@@ -470,4 +470,6 @@
 		self::jsVar('dotclear.msg.confirm_delete_post',
 			__("Are you sure you want to delete this entry?")).
+		self::jsVar('dotclear.msg.click_to_unlock',
+			__("Click here to unlock the field")).			
 		self::jsVar('dotclear.msg.confirm_spam_delete',
 			__('Are you sure you want to delete all spams?')).
Index: inc/admin/lib.pager.php
===================================================================
--- inc/admin/lib.pager.php	(revision 1353)
+++ inc/admin/lib.pager.php	(revision 1415)
@@ -58,5 +58,5 @@
 			}
 			
-			echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
+			echo '<p class="pagination">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
 			
 			$blocks = explode('%s',$html_block);
@@ -71,5 +71,5 @@
 			echo $blocks[1];
 			
-			echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
+			echo '<p class="pagination">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
 		}
 	}
@@ -170,5 +170,5 @@
 			}
 			
-			echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
+			echo '<p class="pagination">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
 			
 			$blocks = explode('%s',$html_block);
@@ -183,5 +183,5 @@
 			echo $blocks[1];
 			
-			echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
+			echo '<p class="pagination">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
 		}
 	}
@@ -267,5 +267,5 @@
 			}
 			
-			echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
+			echo '<p class="pagination">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
 			
 			$blocks = explode('%s',$html_block);
@@ -280,5 +280,5 @@
 			echo $blocks[1];
 			
-			echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
+			echo '<p class="pagination">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
 		}
 	}
@@ -374,5 +374,5 @@
 			}
 			
-			echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
+			echo '<p class="pagination">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
 			
 			$blocks = explode('%s',$html_block);
@@ -387,5 +387,5 @@
 			echo $blocks[1];
 			
-			echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
+			echo '<p class="pagination">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
 		}
 	}
Index: locales/_pot/main.pot
===================================================================
--- locales/_pot/main.pot	(revision 1039)
+++ locales/_pot/main.pot	(revision 1425)
@@ -1091,5 +1091,5 @@
 
 #: admin/comments.php:214
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr ""
 
Index: locales/bn/main.po
===================================================================
--- locales/bn/main.po	(revision 1039)
+++ locales/bn/main.po	(revision 1425)
@@ -759,5 +759,5 @@
 msgstr "মন্তব্যের লেখক:"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "আপনার একটি স্প্যাম মন্তব্য আছে।"
 
Index: locales/ca/main.po
===================================================================
--- locales/ca/main.po	(revision 1039)
+++ locales/ca/main.po	(revision 1425)
@@ -787,5 +787,5 @@
 msgstr "Autor del comentari:"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "Te un comentari no desitjat."
 
Index: locales/cs/main.po
===================================================================
--- locales/cs/main.po	(revision 1039)
+++ locales/cs/main.po	(revision 1425)
@@ -764,5 +764,5 @@
 msgstr "Autor komentáře:"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "Máte jeden spam komentář."
 
Index: locales/da/main.po
===================================================================
--- locales/da/main.po	(revision 1039)
+++ locales/da/main.po	(revision 1425)
@@ -765,5 +765,5 @@
 msgstr "Kommentar ejer:"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "Du har en spam kommentar."
 
Index: locales/de/main.po
===================================================================
--- locales/de/main.po	(revision 1039)
+++ locales/de/main.po	(revision 1425)
@@ -763,5 +763,5 @@
 msgstr "Autor des Kommentars"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "Du hast Spam in deinen Kommentaren."
 
Index: locales/en/main.po
===================================================================
--- locales/en/main.po	(revision 1280)
+++ locales/en/main.po	(revision 1425)
@@ -753,5 +753,5 @@
 msgstr ""
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr ""
 
Index: locales/eo/main.po
===================================================================
--- locales/eo/main.po	(revision 1039)
+++ locales/eo/main.po	(revision 1425)
@@ -750,5 +750,5 @@
 msgstr ""
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr ""
 
Index: locales/es-ar/main.po
===================================================================
--- locales/es-ar/main.po	(revision 1039)
+++ locales/es-ar/main.po	(revision 1425)
@@ -767,5 +767,5 @@
 msgstr "Autor del comentario:"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "Tiene un comentario no deseado."
 
Index: locales/es/main.po
===================================================================
--- locales/es/main.po	(revision 1039)
+++ locales/es/main.po	(revision 1425)
@@ -769,5 +769,5 @@
 msgstr "Autor del comentario:"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "Tiene un comentario no deseado."
 
Index: locales/eu/main.po
===================================================================
--- locales/eu/main.po	(revision 1039)
+++ locales/eu/main.po	(revision 1425)
@@ -750,5 +750,5 @@
 msgstr ""
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr ""
 
Index: locales/fr/main.po
===================================================================
--- locales/fr/main.po	(revision 1365)
+++ locales/fr/main.po	(revision 1428)
@@ -793,5 +793,5 @@
 msgstr "Auteur du commentaire :"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "Vous avez un commentaire indésirable."
 
@@ -2988,2 +2988,62 @@
 msgid "Protect with password"
 msgstr "Protéger par un mot de passe"
+
+msgid "Information collected"
+msgstr "Informations recueillies"
+
+msgid "Comment submitted"
+msgstr "Commentaire déposé"
+
+msgid "Entry status"
+msgstr "État du billet"
+
+msgid "Publication date and hour"
+msgstr "Date et heure de publication"
+
+msgid "Text formating"
+msgstr "Syntaxe de saisie"
+
+msgid "Entry lang"
+msgstr "Langue du billet"
+
+msgid "Password"
+msgstr "Mot de passe"
+
+msgid "Edit basename"
+msgstr "URL spécifique"
+
+msgid "Ordering"
+msgstr "Classement"
+
+msgid "Filter posts list"
+msgstr "Filtrer la liste des billets"
+
+msgid "entries per page"
+msgstr "billets par page"
+
+msgid "Show"
+msgstr "Afficher"
+
+msgid "Filter blogs list"
+msgstr "Filtrer la liste des blogs"
+
+msgid "blogs per page"
+msgstr "blogs par page"
+
+msgid "Filter comments and trackbacks list"
+msgstr "Filtrer la liste des commentaires et rétroliens"
+
+msgid "Filter users list"
+msgstr "Filtrer la liste des utilisateurs"
+
+msgid "users per page"
+msgstr "utilisateurs par page"
+
+msgid "Available themes in your installation"
+msgstr "Thèmes disponibles sur votre installation"
+
+msgid "You can also install themes by uploading or downloading zip files."
+msgstr "Vous pouvez aussi installer des thèmes en les déposant ou en téléchargeant des fichiers zip."
+
+msgid "Add themes to your installation"
+msgstr "Ajouter des thèmes sur votre installation"
Index: locales/fr/plugins.po
===================================================================
--- locales/fr/plugins.po	(revision 1354)
+++ locales/fr/plugins.po	(revision 1396)
@@ -1277,5 +1277,5 @@
 
 msgid "Pings"
-msgstr "Signalements"
+msgstr "Signalements (pings)"
 
 msgid "Ping services"
@@ -1926,2 +1926,4 @@
 msgstr "Préférences globales"
 
+msgid "Edit theme files"
+msgstr "Modifier les fichiers du thème"
Index: locales/hu/main.po
===================================================================
--- locales/hu/main.po	(revision 1039)
+++ locales/hu/main.po	(revision 1425)
@@ -787,5 +787,5 @@
 msgstr "Megjegyzés szerzője:"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "Van egy spam megjegyzésed."
 
Index: locales/it/main.po
===================================================================
--- locales/it/main.po	(revision 1039)
+++ locales/it/main.po	(revision 1425)
@@ -763,5 +763,5 @@
 msgstr "Autore del commento:"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "È presente un commento di spam."
 
Index: locales/ja/main.po
===================================================================
--- locales/ja/main.po	(revision 1039)
+++ locales/ja/main.po	(revision 1425)
@@ -772,5 +772,5 @@
 msgstr "コメントの投稿者："
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "1 のスパムコメントがあります。"
 
Index: locales/ko/main.po
===================================================================
--- locales/ko/main.po	(revision 1039)
+++ locales/ko/main.po	(revision 1425)
@@ -771,5 +771,5 @@
 msgstr "댓글 글쓴이 :"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "스팸댓글이 하나 있습니다."
 
Index: locales/lt/main.po
===================================================================
--- locales/lt/main.po	(revision 1039)
+++ locales/lt/main.po	(revision 1425)
@@ -742,5 +742,5 @@
 msgstr "Komentaro autorius:"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "Turite vieną spamo komentarą."
 
Index: locales/nl/main.po
===================================================================
--- locales/nl/main.po	(revision 1039)
+++ locales/nl/main.po	(revision 1425)
@@ -753,5 +753,5 @@
 msgstr ""
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr ""
 
Index: locales/oc/main.po
===================================================================
--- locales/oc/main.po	(revision 1039)
+++ locales/oc/main.po	(revision 1425)
@@ -757,5 +757,5 @@
 msgstr ""
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr ""
 
Index: locales/pl/main.po
===================================================================
--- locales/pl/main.po	(revision 1039)
+++ locales/pl/main.po	(revision 1425)
@@ -760,5 +760,5 @@
 msgstr "Autor komentarza:"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "Masz jeden komentarz oznaczony jako spam."
 
Index: locales/pt-br/main.po
===================================================================
--- locales/pt-br/main.po	(revision 1039)
+++ locales/pt-br/main.po	(revision 1425)
@@ -790,5 +790,5 @@
 msgstr "Autor do comentário:"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "Você tem um comentário indesejável."
 
Index: locales/pt/main.po
===================================================================
--- locales/pt/main.po	(revision 1039)
+++ locales/pt/main.po	(revision 1425)
@@ -768,5 +768,5 @@
 msgstr "Autor do comentário:"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "Tem um comentário de \"spam\""
 
Index: locales/ro/main.po
===================================================================
--- locales/ro/main.po	(revision 1039)
+++ locales/ro/main.po	(revision 1425)
@@ -752,5 +752,5 @@
 msgstr ""
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr ""
 
Index: locales/ru/main.po
===================================================================
--- locales/ru/main.po	(revision 1039)
+++ locales/ru/main.po	(revision 1425)
@@ -767,5 +767,5 @@
 msgstr "Автор комментария:"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "У вас один спам комментарий."
 
Index: locales/sr/main.po
===================================================================
--- locales/sr/main.po	(revision 1039)
+++ locales/sr/main.po	(revision 1425)
@@ -778,5 +778,5 @@
 msgstr "Auteur du commentaire :"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "Vous avez un commentaire indésirable."
 
Index: locales/sv/main.po
===================================================================
--- locales/sv/main.po	(revision 1039)
+++ locales/sv/main.po	(revision 1425)
@@ -750,5 +750,5 @@
 msgstr ""
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr ""
 
Index: locales/te/main.po
===================================================================
--- locales/te/main.po	(revision 1039)
+++ locales/te/main.po	(revision 1425)
@@ -775,5 +775,5 @@
 msgstr "వ్యాఖ్యాత:"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "ఒక చెత్త వ్యాఖ్య ఉంది."
 
Index: locales/tr/main.po
===================================================================
--- locales/tr/main.po	(revision 1039)
+++ locales/tr/main.po	(revision 1425)
@@ -761,5 +761,5 @@
 msgstr "Ahkamı yazan:"
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr ""
 
Index: locales/zh-cn/main.po
===================================================================
--- locales/zh-cn/main.po	(revision 1039)
+++ locales/zh-cn/main.po	(revision 1425)
@@ -765,5 +765,5 @@
 msgstr "评论作者："
 
-msgid "You have one spam comments."
+msgid "You have one spam comment."
 msgstr "您有一个垃圾评论。"
 
Index: plugins/antispam/antispam.js
===================================================================
--- plugins/antispam/antispam.js	(revision 1130)
+++ plugins/antispam/antispam.js	(revision 1423)
@@ -6,5 +6,5 @@
 		$(this).css({'cursor':'auto'});
 	});
-	$('#filters-form').submit(function() {
+	$('#filters-list-form').submit(function() {
 		var order=[];
 		$("#filters-list tr td input.position").each(function() {
Index: plugins/antispam/index.php
===================================================================
--- plugins/antispam/index.php	(revision 1358)
+++ plugins/antispam/index.php	(revision 1423)
@@ -178,5 +178,5 @@
 	# Filters
 	echo
-	'<form action="'.$p_url.'" method="post" id="filters-form">';
+	'<form action="'.$p_url.'" method="post" id="filters-list-form">';
 
 	if (!empty($_GET['upd'])) {
Index: plugins/attachments/_admin.php
===================================================================
--- plugins/attachments/_admin.php	(revision 1365)
+++ plugins/attachments/_admin.php	(revision 1398)
@@ -12,10 +12,16 @@
 if (!defined('DC_CONTEXT_ADMIN')) { return; }
 
-$core->addBehavior ('adminPostFormSidebar',array('attachmentAdmin','adminPostFormSidebar'));
+$core->addBehavior ('adminPostFormItems',array('attachmentAdmin','adminPostFormItems'));
 $core->addBehavior ('adminPostAfterForm',array('attachmentAdmin','adminPostAfterForm'));
+$core->addBehavior('adminPostHeaders',array('attachmentAdmin','postHeaders'));
 
 class attachmentAdmin
 {
-	public static function adminPostFormSidebar($post) 
+	public static function postHeaders()
+	{
+		return 
+		'<script type="text/javascript" src="index.php?pf=attachments/js/post.js"></script>';
+	}
+	public static function adminPostFormItems($main,$sidebar,$post) 
 	{
 		if ($post !== null)
@@ -23,6 +29,5 @@
 			$core =& $GLOBALS['core'];
 			$post_media = $core->media->getPostMedia($post->post_id);
-			echo
-			'<h5 class="clear">'.__('Attachments').'</h5>';
+			$item = '<h5 class="clear s-attachments">'.__('Attachments').'</h5>';
 			foreach ($post_media as $f)
 			{
@@ -31,6 +36,6 @@
 					$ftitle = substr($ftitle,0,16).'...';
 				}
-				echo
-				'<div class="media-item">'.
+				$item .=
+				'<div class="media-item s-attachments">'.
 				'<a class="media-icon" href="media_item.php?id='.$f->media_id.'">'.
 				'<img src="'.$f->media_icon.'" alt="" title="'.$f->basename.'" /></a>'.
@@ -53,8 +58,8 @@
 			
 			if (empty($post_media)) {
-				echo '<p class="form-note">'.__('No attachment.').'</p>';
-			} else {
-			}
-			echo '<p><a class="button" href="media.php?post_id='.$post->post_id.'">'.__('Add files to this entry').'</a></p>';
+				$item .= '<p class="form-note s-attachments">'.__('No attachment.').'</p>';
+			} 
+			$item .= '<p class="s-attachments"><a class="button" href="media.php?post_id='.$post->post_id.'">'.__('Add files to this entry').'</a></p>';
+			$sidebar['metas-box']['items']['attachments']= $item;
 		}
 	}
Index: plugins/attachments/js/post.js
===================================================================
--- plugins/attachments/js/post.js	(revision 1393)
+++ plugins/attachments/js/post.js	(revision 1393)
@@ -0,0 +1,5 @@
+$(function() {
+	$('h5.s-attachments').toggleWithLegend($('.s-attachments').not('h5'),{
+		cookie: 'dcx_attachments'
+	});
+});
Index: plugins/blowupConfig/_public.php
===================================================================
--- plugins/blowupConfig/_public.php	(revision 1179)
+++ plugins/blowupConfig/_public.php	(revision 1436)
@@ -23,172 +23,7 @@
 	public static function publicHeadContent($core)
 	{
-		echo '<style type="text/css">'."\n".self::blowUpStyleHelper()."\n</style>\n";
-	}
-
-	public static function blowUpStyleHelper()
-	{
-		$s = $GLOBALS['core']->blog->settings->themes->blowup_style;
-
-		if ($s === null) {
-			return;
-		}
-
-		$s = @unserialize($s);
-		if (!is_array($s)) {
-			return;
-		}
-
-		$css = array();
-
-		/* Sidebar position
-		---------------------------------------------- */
-		if ($s['sidebar_position'] == 'left') {
-			$css['#wrapper']['background-position'] = '-300px 0';
-			$css['#main']['float'] = 'right';
-			$css['#sidebar']['float'] = 'left';
-		}
-
-		/* Properties
-		---------------------------------------------- */
-		self::prop($css,'body','background-color',$s['body_bg_c']);
-
-		self::prop($css,'body','color',$s['body_txt_c']);
-		self::prop($css,'.post-tags li a:link, .post-tags li a:visited, .post-info-co a:link, .post-info-co a:visited','color',$s['body_txt_c']);
-		self::prop($css,'#page','font-size',$s['body_txt_s']);
-		self::prop($css,'body','font-family',blowupConfig::fontDef($s['body_txt_f']));
-
-		self::prop($css,'.post-content, .post-excerpt, #comments dd, #pings dd, dd.comment-preview','line-height',$s['body_line_height']);
-
-		if (!$s['blog_title_hide'])
-		{
-			self::prop($css,'#top h1 a','color',$s['blog_title_c']);
-			self::prop($css,'#top h1','font-size',$s['blog_title_s']);
-			self::prop($css,'#top h1','font-family',blowupConfig::fontDef($s['blog_title_f']));
-
-			if ($s['blog_title_a'] == 'right' || $s['blog_title_a'] == 'left') {
-				$css['#top h1'][$s['blog_title_a']] = '0px';
-				$css['#top h1']['width'] = 'auto';
-			}
-
-			if ($s['blog_title_p'])
-			{
-				$_p = explode(':',$s['blog_title_p']);
-				$css['#top h1']['top'] = $_p[1].'px';
-				if ($s['blog_title_a'] != 'center') {
-					$_a = $s['blog_title_a'] == 'right' ? 'right' : 'left';
-					$css['#top h1'][$_a] = $_p[0].'px';
-				}
-			}
-		}
-		else
-		{
-			self::prop($css,'#top h1 span','text-indent','-5000px');
-			self::prop($css,'#top h1','top','0px');
-			$css['#top h1 a'] = array(
-				'display' => 'block',
-				'height' => $s['top_height'] ? ($s['top_height']-10).'px' : '120px',
-				'width' => '800px'
-			);
-		}
-		self::prop($css,'#top','height',$s['top_height']);
-
-		self::prop($css,'.day-date','color',$s['date_title_c']);
-		self::prop($css,'.day-date','font-family',blowupConfig::fontDef($s['date_title_f']));
-		self::prop($css,'.day-date','font-size',$s['date_title_s']);
-
-		self::prop($css,'a','color',$s['body_link_c']);
-		self::prop($css,'a:visited','color',$s['body_link_v_c']);
-		self::prop($css,'a:hover, a:focus, a:active','color',$s['body_link_f_c']);
-
-		self::prop($css,'#comment-form input, #comment-form textarea','color',$s['body_link_c']);
-		self::prop($css,'#comment-form input.preview','color',$s['body_link_c']);
-		self::prop($css,'#comment-form input.preview:hover','background',$s['body_link_f_c']);
-		self::prop($css,'#comment-form input.preview:hover','border-color',$s['body_link_f_c']);
-		self::prop($css,'#comment-form input.submit','color',$s['body_link_c']);
-		self::prop($css,'#comment-form input.submit:hover','background',$s['body_link_f_c']);
-		self::prop($css,'#comment-form input.submit:hover','border-color',$s['body_link_f_c']);
-
-		self::prop($css,'#sidebar','font-family',blowupConfig::fontDef($s['sidebar_text_f']));
-		self::prop($css,'#sidebar','font-size',$s['sidebar_text_s']);
-		self::prop($css,'#sidebar','color',$s['sidebar_text_c']);
-
-		self::prop($css,'#sidebar h2','font-family',blowupConfig::fontDef($s['sidebar_title_f']));
-		self::prop($css,'#sidebar h2','font-size',$s['sidebar_title_s']);
-		self::prop($css,'#sidebar h2','color',$s['sidebar_title_c']);
-
-		self::prop($css,'#sidebar h3','font-family',blowupConfig::fontDef($s['sidebar_title2_f']));
-		self::prop($css,'#sidebar h3','font-size',$s['sidebar_title2_s']);
-		self::prop($css,'#sidebar h3','color',$s['sidebar_title2_c']);
-
-		self::prop($css,'#sidebar ul','border-top-color',$s['sidebar_line_c']);
-		self::prop($css,'#sidebar li','border-bottom-color',$s['sidebar_line_c']);
-		self::prop($css,'#topnav ul','border-bottom-color',$s['sidebar_line_c']);
-
-		self::prop($css,'#sidebar li a','color',$s['sidebar_link_c']);
-		self::prop($css,'#sidebar li a:visited','color',$s['sidebar_link_v_c']);
-		self::prop($css,'#sidebar li a:hover, #sidebar li a:focus, #sidebar li a:active','color',$s['sidebar_link_f_c']);
-		self::prop($css,'#search input','color',$s['sidebar_link_c']);
-		self::prop($css,'#search .submit','color',$s['sidebar_link_c']);
-		self::prop($css,'#search .submit:hover','background',$s['sidebar_link_f_c']);
-		self::prop($css,'#search .submit:hover','border-color',$s['sidebar_link_f_c']);
-
-		self::prop($css,'.post-title','color',$s['post_title_c']);
-		self::prop($css,'.post-title a, .post-title a:visited','color',$s['post_title_c']);
-		self::prop($css,'.post-title','font-family',blowupConfig::fontDef($s['post_title_f']));
-		self::prop($css,'.post-title','font-size',$s['post_title_s']);
-
-		self::prop($css,'#comments dd','background-color',$s['post_comment_bg_c']);
-		self::prop($css,'#comments dd','color',$s['post_comment_c']);
-		self::prop($css,'#comments dd.me','background-color',$s['post_commentmy_bg_c']);
-		self::prop($css,'#comments dd.me','color',$s['post_commentmy_c']);
-
-		self::prop($css,'#prelude, #prelude a','color',$s['prelude_c']);
-
-		self::prop($css,'#footer p','background-color',$s['footer_bg_c']);
-		self::prop($css,'#footer p','color',$s['footer_c']);
-		self::prop($css,'#footer p','font-size',$s['footer_s']);
-		self::prop($css,'#footer p','font-family',blowupConfig::fontDef($s['footer_f']));
-		self::prop($css,'#footer p a','color',$s['footer_l_c']);
-
-		/* Images
-		------------------------------------------------------ */
-		self::backgroundImg($css,'body',$s['body_bg_c'],'body-bg.png');
-		self::backgroundImg($css,'body',$s['body_bg_g'] != 'light','body-bg.png');
-		self::backgroundImg($css,'body',$s['prelude_c'],'body-bg.png');
-		self::backgroundImg($css,'#top',$s['body_bg_c'],'page-t.png');
-		self::backgroundImg($css,'#top',$s['body_bg_g'] != 'light','page-t.png');
-		self::backgroundImg($css,'#top',$s['uploaded'] || $s['top_image'],'page-t.png');
-		self::backgroundImg($css,'#footer',$s['body_bg_c'],'page-b.png');
-		self::backgroundImg($css,'#comments dt',$s['post_comment_bg_c'],'comment-t.png');
-		self::backgroundImg($css,'#comments dd',$s['post_comment_bg_c'],'comment-b.png');
-		self::backgroundImg($css,'#comments dt.me',$s['post_commentmy_bg_c'],'commentmy-t.png');
-		self::backgroundImg($css,'#comments dd.me',$s['post_commentmy_bg_c'],'commentmy-b.png');
-
-		$res = '';
-		foreach ($css as $selector => $values) {
-			$res .= $selector." {\n";
-			foreach ($values as $k => $v) {
-				$res .= $k.':'.$v.";\n";
-			}
-			$res .= "}\n";
-		}
-
-		$res .= $s['extra_css'];
-
-		return $res;
-	}
-
-	protected static function prop(&$css,$selector,$prop,$value)
-	{
-		if ($value) {
-			$css[$selector][$prop] = $value;
-		}
-	}
-
-	protected static function backgroundImg(&$css,$selector,$value,$image)
-	{
-		$file = blowupConfig::imagesPath().'/'.$image;
-		if ($value && file_exists($file)){
-			$css[$selector]['background-image'] = 'url('.blowupConfig::imagesURL().'/'.$image.')';
+		$url = blowupConfig::publicCssUrlHelper();
+		if ($url) {
+			echo '<link rel="stylesheet" href="'.$url.'" type="text/css" />';
 		}
 	}
Index: plugins/blowupConfig/index.php
===================================================================
--- plugins/blowupConfig/index.php	(revision 1358)
+++ plugins/blowupConfig/index.php	(revision 1436)
@@ -15,4 +15,5 @@
 
 $can_write_images = blowupConfig::canWriteImages();
+$can_write_css = blowupConfig::canWriteCss();
 
 if ($core->error->flag()) {
@@ -188,4 +189,9 @@
 			$blowup_user['prelude_c'] = blowupConfig::adjustColor($_POST['prelude_c']);
 			blowupConfig::createImages($blowup_user,$uploaded);
+		}
+
+		if ($can_write_css)
+		{
+			blowupConfig::createCss($blowup_user);
 		}
 
Index: plugins/blowupConfig/lib/class.blowup.config.php
===================================================================
--- plugins/blowupConfig/lib/class.blowup.config.php	(revision 1179)
+++ plugins/blowupConfig/lib/class.blowup.config.php	(revision 1436)
@@ -141,4 +141,246 @@
 	}
 
+	public static function cssPath()
+	{
+		global $core;
+		return path::real($core->blog->public_path).'/blowup-css';
+	}
+
+	public static function cssURL()
+	{
+		global $core;
+		return $core->blog->settings->system->public_url.'/blowup-css';
+	}
+
+	public static function canWriteCss($create=false)
+	{
+		global $core;
+
+		$public = path::real($core->blog->public_path);
+		$css = self::cssPath();
+
+		if (!is_dir($public)) {
+			$core->error->add(__('The \'public\' directory does not exist.'));
+			return false;
+		}
+
+		if (!is_dir($css)) {
+			if (!is_writable($public)) {
+				$core->error->add(sprintf(__('The \'%s\' directory cannot be modified.'),'public'));
+				return false;
+			}
+			if ($create) {
+				files::makeDir($css);
+			}
+			return true;
+		}
+
+		if (!is_writable($css)) {
+			$core->error->add(sprintf(__('The \'%s\' directory cannot be modified.'),'public/blowup-css'));
+			return false;
+		}
+
+		return true;
+	}
+
+	public static function createCss($s)
+	{
+		global $core;
+		
+		if ($s === null) {
+			return;
+		}
+
+		$css = array();
+
+		/* Sidebar position
+		---------------------------------------------- */
+		if ($s['sidebar_position'] == 'left') {
+			$css['#wrapper']['background-position'] = '-300px 0';
+			$css['#main']['float'] = 'right';
+			$css['#sidebar']['float'] = 'left';
+		}
+
+		/* Properties
+		---------------------------------------------- */
+		self::prop($css,'body','background-color',$s['body_bg_c']);
+
+		self::prop($css,'body','color',$s['body_txt_c']);
+		self::prop($css,'.post-tags li a:link, .post-tags li a:visited, .post-info-co a:link, .post-info-co a:visited','color',$s['body_txt_c']);
+		self::prop($css,'#page','font-size',$s['body_txt_s']);
+		self::prop($css,'body','font-family',self::fontDef($s['body_txt_f']));
+
+		self::prop($css,'.post-content, .post-excerpt, #comments dd, #pings dd, dd.comment-preview','line-height',$s['body_line_height']);
+
+		if (!$s['blog_title_hide'])
+		{
+			self::prop($css,'#top h1 a','color',$s['blog_title_c']);
+			self::prop($css,'#top h1','font-size',$s['blog_title_s']);
+			self::prop($css,'#top h1','font-family',self::fontDef($s['blog_title_f']));
+
+			if ($s['blog_title_a'] == 'right' || $s['blog_title_a'] == 'left') {
+				$css['#top h1'][$s['blog_title_a']] = '0px';
+				$css['#top h1']['width'] = 'auto';
+			}
+
+			if ($s['blog_title_p'])
+			{
+				$_p = explode(':',$s['blog_title_p']);
+				$css['#top h1']['top'] = $_p[1].'px';
+				if ($s['blog_title_a'] != 'center') {
+					$_a = $s['blog_title_a'] == 'right' ? 'right' : 'left';
+					$css['#top h1'][$_a] = $_p[0].'px';
+				}
+			}
+		}
+		else
+		{
+			self::prop($css,'#top h1 span','text-indent','-5000px');
+			self::prop($css,'#top h1','top','0px');
+			$css['#top h1 a'] = array(
+				'display' => 'block',
+				'height' => $s['top_height'] ? ($s['top_height']-10).'px' : '120px',
+				'width' => '800px'
+			);
+		}
+		self::prop($css,'#top','height',$s['top_height']);
+
+		self::prop($css,'.day-date','color',$s['date_title_c']);
+		self::prop($css,'.day-date','font-family',self::fontDef($s['date_title_f']));
+		self::prop($css,'.day-date','font-size',$s['date_title_s']);
+
+		self::prop($css,'a','color',$s['body_link_c']);
+		self::prop($css,'a:visited','color',$s['body_link_v_c']);
+		self::prop($css,'a:hover, a:focus, a:active','color',$s['body_link_f_c']);
+
+		self::prop($css,'#comment-form input, #comment-form textarea','color',$s['body_link_c']);
+		self::prop($css,'#comment-form input.preview','color',$s['body_link_c']);
+		self::prop($css,'#comment-form input.preview:hover','background',$s['body_link_f_c']);
+		self::prop($css,'#comment-form input.preview:hover','border-color',$s['body_link_f_c']);
+		self::prop($css,'#comment-form input.submit','color',$s['body_link_c']);
+		self::prop($css,'#comment-form input.submit:hover','background',$s['body_link_f_c']);
+		self::prop($css,'#comment-form input.submit:hover','border-color',$s['body_link_f_c']);
+
+		self::prop($css,'#sidebar','font-family',self::fontDef($s['sidebar_text_f']));
+		self::prop($css,'#sidebar','font-size',$s['sidebar_text_s']);
+		self::prop($css,'#sidebar','color',$s['sidebar_text_c']);
+
+		self::prop($css,'#sidebar h2','font-family',self::fontDef($s['sidebar_title_f']));
+		self::prop($css,'#sidebar h2','font-size',$s['sidebar_title_s']);
+		self::prop($css,'#sidebar h2','color',$s['sidebar_title_c']);
+
+		self::prop($css,'#sidebar h3','font-family',self::fontDef($s['sidebar_title2_f']));
+		self::prop($css,'#sidebar h3','font-size',$s['sidebar_title2_s']);
+		self::prop($css,'#sidebar h3','color',$s['sidebar_title2_c']);
+
+		self::prop($css,'#sidebar ul','border-top-color',$s['sidebar_line_c']);
+		self::prop($css,'#sidebar li','border-bottom-color',$s['sidebar_line_c']);
+		self::prop($css,'#topnav ul','border-bottom-color',$s['sidebar_line_c']);
+
+		self::prop($css,'#sidebar li a','color',$s['sidebar_link_c']);
+		self::prop($css,'#sidebar li a:visited','color',$s['sidebar_link_v_c']);
+		self::prop($css,'#sidebar li a:hover, #sidebar li a:focus, #sidebar li a:active','color',$s['sidebar_link_f_c']);
+		self::prop($css,'#search input','color',$s['sidebar_link_c']);
+		self::prop($css,'#search .submit','color',$s['sidebar_link_c']);
+		self::prop($css,'#search .submit:hover','background',$s['sidebar_link_f_c']);
+		self::prop($css,'#search .submit:hover','border-color',$s['sidebar_link_f_c']);
+
+		self::prop($css,'.post-title','color',$s['post_title_c']);
+		self::prop($css,'.post-title a, .post-title a:visited','color',$s['post_title_c']);
+		self::prop($css,'.post-title','font-family',self::fontDef($s['post_title_f']));
+		self::prop($css,'.post-title','font-size',$s['post_title_s']);
+
+		self::prop($css,'#comments dd','background-color',$s['post_comment_bg_c']);
+		self::prop($css,'#comments dd','color',$s['post_comment_c']);
+		self::prop($css,'#comments dd.me','background-color',$s['post_commentmy_bg_c']);
+		self::prop($css,'#comments dd.me','color',$s['post_commentmy_c']);
+
+		self::prop($css,'#prelude, #prelude a','color',$s['prelude_c']);
+
+		self::prop($css,'#footer p','background-color',$s['footer_bg_c']);
+		self::prop($css,'#footer p','color',$s['footer_c']);
+		self::prop($css,'#footer p','font-size',$s['footer_s']);
+		self::prop($css,'#footer p','font-family',self::fontDef($s['footer_f']));
+		self::prop($css,'#footer p a','color',$s['footer_l_c']);
+
+		/* Images
+		------------------------------------------------------ */
+		self::backgroundImg($css,'body',$s['body_bg_c'],'body-bg.png');
+		self::backgroundImg($css,'body',$s['body_bg_g'] != 'light','body-bg.png');
+		self::backgroundImg($css,'body',$s['prelude_c'],'body-bg.png');
+		self::backgroundImg($css,'#top',$s['body_bg_c'],'page-t.png');
+		self::backgroundImg($css,'#top',$s['body_bg_g'] != 'light','page-t.png');
+		self::backgroundImg($css,'#top',$s['uploaded'] || $s['top_image'],'page-t.png');
+		self::backgroundImg($css,'#footer',$s['body_bg_c'],'page-b.png');
+		self::backgroundImg($css,'#comments dt',$s['post_comment_bg_c'],'comment-t.png');
+		self::backgroundImg($css,'#comments dd',$s['post_comment_bg_c'],'comment-b.png');
+		self::backgroundImg($css,'#comments dt.me',$s['post_commentmy_bg_c'],'commentmy-t.png');
+		self::backgroundImg($css,'#comments dd.me',$s['post_commentmy_bg_c'],'commentmy-b.png');
+
+		$res = '';
+		foreach ($css as $selector => $values) {
+			$res .= $selector." {\n";
+			foreach ($values as $k => $v) {
+				$res .= $k.':'.$v.";\n";
+			}
+			$res .= "}\n";
+		}
+
+		$res .= $s['extra_css'];
+
+		if (!self::canWriteCss(true)) {
+			throw new Exception(__('Unable to create css file.'));
+		}
+
+		# erase old css file
+		self::dropCss($core->blog->settings->system->theme);
+
+		# create new css file into public blowup-css subdirectory
+		self::writeCss($core->blog->settings->system->theme, $res);
+
+		return $res;
+	}
+
+	protected static function prop(&$css,$selector,$prop,$value)
+	{
+		if ($value) {
+			$css[$selector][$prop] = $value;
+		}
+	}
+
+	protected static function backgroundImg(&$css,$selector,$value,$image)
+	{
+		$file = self::imagesPath().'/'.$image;
+		if ($value && file_exists($file)){
+			$css[$selector]['background-image'] = 'url('.self::imagesURL().'/'.$image.')';
+		}
+	}
+
+	private static function writeCss($theme,$css)
+	{
+		file_put_contents(self::cssPath().'/'.$theme.'.css', $css);
+	}
+	
+	public static function dropCss($theme)
+	{
+		$file = path::real(self::cssPath().'/'.$theme.'.css');
+		if (is_writable(dirname($file))) {
+			@unlink($file);
+		}
+	}
+
+	public static function publicCssUrlHelper()
+	{
+		$theme = $GLOBALS['core']->blog->settings->system->theme;
+		$url = blowupConfig::cssURL();
+		$path = blowupConfig::cssPath();
+
+		if (file_exists($path.'/'.$theme.'.css')) {
+			return $url.'/'.$theme.'.css';
+		}
+
+		return null;
+	}
+
 	public static function imagesPath()
 	{
Index: plugins/daInstaller/inc/lib.da.installer.ui.php
===================================================================
--- plugins/daInstaller/inc/lib.da.installer.ui.php	(revision 1046)
+++ plugins/daInstaller/inc/lib.da.installer.ui.php	(revision 1416)
@@ -64,5 +64,5 @@
 				'</table>';
 			
-			echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
+			echo '<p class="pagination">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
 			$blocks = explode('%s',$html_block);
 			echo $blocks[0];
@@ -81,5 +81,5 @@
 			}
 			echo $blocks[1];
-			echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
+			echo '<p class="pagination">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
 		}
 	}
Index: plugins/pages/list.php
===================================================================
--- plugins/pages/list.php	(revision 1358)
+++ plugins/pages/list.php	(revision 1416)
@@ -44,5 +44,5 @@
 			}
 			
-			echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
+			echo '<p class="pagination">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
 			
 			$blocks = explode('%s',$html_block);
@@ -57,5 +57,5 @@
 			echo $blocks[1];
 			
-			echo '<p>'.__('Page(s)').' : '.$pager->getLinks().'</p>';
+			echo '<p class="pagination">'.__('Page(s)').' : '.$pager->getLinks().'</p>';
 		}
 	}
Index: plugins/pings/_admin.php
===================================================================
--- plugins/pings/_admin.php	(revision 1179)
+++ plugins/pings/_admin.php	(revision 1398)
@@ -33,5 +33,5 @@
 
 $core->addBehavior('adminPostHeaders',array('pingsBehaviors','pingJS'));
-$core->addBehavior('adminPostFormSidebar',array('pingsBehaviors','pingsForm'));
+$core->addBehavior('adminPostFormItems',array('pingsBehaviors','pingsFormItems'));
 $core->addBehavior('adminAfterPostCreate',array('pingsBehaviors','doPings'));
 $core->addBehavior('adminAfterPostUpdate',array('pingsBehaviors','doPings'));
Index: plugins/pings/lib.pings.php
===================================================================
--- plugins/pings/lib.pings.php	(revision 1365)
+++ plugins/pings/lib.pings.php	(revision 1398)
@@ -41,5 +41,5 @@
 	}
 	
-	public static function pingsForm($post)
+	public static function pingsFormItems($main,$sidebar,$post)
 	{
 		$core =& $GLOBALS['core'];
@@ -59,9 +59,9 @@
 		}
 		
-		echo '<h5 class="ping-services">'.__('Pings:').'</h5>';
+		$item = '<h5 class="ping-services">'.__('Pings').'</h5>';
 		$i = 0;
 		foreach ($pings_uris as $k => $v)
 		{
-			echo
+			$item .=
 			'<p class="ping-services"><label for="pings_do-'.$i.'" class="classic">'.
 			form::checkbox(array('pings_do[]','pings_do-'.$i),html::escapeHTML($v),in_array($v,$pings_do)).' '.
@@ -69,4 +69,6 @@
 			$i++;
 		}
+		$sidebar['options-box']['items']['pings']=$item;
+		
 	}
 	
Index: plugins/tags/_admin.php
===================================================================
--- plugins/tags/_admin.php	(revision 1365)
+++ plugins/tags/_admin.php	(revision 1398)
@@ -18,5 +18,5 @@
 require dirname(__FILE__).'/_widgets.php';
 
-$core->addBehavior('adminPostFormSidebar',array('tagsBehaviors','tagsField'));
+$core->addBehavior('adminPostFormItems',array('tagsBehaviors','tagsField'));
 
 $core->addBehavior('adminAfterPostCreate',array('tagsBehaviors','setTags'));
@@ -71,5 +71,5 @@
 	}
 	
-	public static function tagsField($post)
+	public static function tagsField($main,$sidebar,$post)
 	{
 		$meta =& $GLOBALS['core']->meta;
@@ -80,8 +80,7 @@
 			$value = ($post) ? $meta->getMetaStr($post->post_meta,'tag') : '';
 		}
-		
-		echo
-		'<h5><label for="post_tags">'.__('Tags:').'</label></h5>'.
-		'<div class="p" id="tags-edit">'.form::textarea('post_tags',20,3,$value,'maximal').'</div>';
+		$sidebar['metas-box']['items']['post_tags']=
+		'<h5><label class="s-tags" for="post_tags">'.__('Tags').'</label></h5>'.
+		'<div class="p s-tags" id="tags-edit">'.form::textarea('post_tags',20,3,$value,'maximal').'</div>';
 	}
 	
Index: plugins/tags/_define.php
===================================================================
--- plugins/tags/_define.php	(revision 1179)
+++ plugins/tags/_define.php	(revision 1392)
@@ -18,5 +18,6 @@
 	/* Version */			'1.2',
 	array(
-		'permissions' =>	'usage,contentadmin'
+		'permissions' =>	'usage,contentadmin',
+		'priority' =>		998
 	)
 );
Index: plugins/tags/js/post.js
===================================================================
--- plugins/tags/js/post.js	(revision 1112)
+++ plugins/tags/js/post.js	(revision 1392)
@@ -58,4 +58,9 @@
 		});
 	});
+			
+	$('h5 .s-tags').toggleWithLegend($('.s-tags').not('label'),{
+			cookie: 'post_tags'
+	});
+
 });
 
Index: plugins/themeEditor/_admin.php
===================================================================
--- plugins/themeEditor/_admin.php	(revision 1179)
+++ plugins/themeEditor/_admin.php	(revision 1382)
@@ -26,5 +26,5 @@
 	{
 		if ($id != 'default' && $core->auth->isSuperAdmin()) {
-			return '<p><a href="plugin.php?p=themeEditor" class="button">'.__('Theme Editor').'</a></p>';
+			return '<p><a href="plugin.php?p=themeEditor" class="button">'.__('Edit theme files').'</a></p>';
 		}
 	}
Index: plugins/themeEditor/index.php
===================================================================
--- plugins/themeEditor/index.php	(revision 1358)
+++ plugins/themeEditor/index.php	(revision 1382)
@@ -61,5 +61,5 @@
 <html>
 <head>
-  <title><?php echo __('Theme Editor'); ?></title>
+  <title><?php echo __('Edit theme files'); ?></title>
   <link rel="stylesheet" type="text/css" href="index.php?pf=themeEditor/style.css" />
   <script type="text/javascript">
@@ -91,5 +91,5 @@
 		html::escapeHTML($core->blog->name) => '',
 		__('Blog appearance') => 'blog_theme.php',
-		'<span class="page-title">'.__('Theme Editor').'</span>' => ''
+		'<span class="page-title">'.__('Edit theme files').'</span>' => ''
 	));
 ?>
