diff --git a/src/main/java/se/su/dsv/scipro/admin/pages/AbstractAdminSettingsPage.java b/src/main/java/se/su/dsv/scipro/admin/pages/AbstractAdminSettingsPage.java
index c78d650e5e..54746f2ca4 100644
--- a/src/main/java/se/su/dsv/scipro/admin/pages/AbstractAdminSettingsPage.java
+++ b/src/main/java/se/su/dsv/scipro/admin/pages/AbstractAdminSettingsPage.java
@@ -34,7 +34,7 @@ public abstract class AbstractAdminSettingsPage extends AbstractAdminPage {
 				items.add(new MenuItem("Server Environment", AdminServerEnvironmentSettingsPage.class));
 				items.add(new MenuItem("Final seminar general settings", AdminFinalSeminarSettingsPage.class));
 				items.add(new MenuItem("Final seminar project level settings", AdminFinalSeminarSettingsPerProjectClassPage.class));
-				items.add(new MenuItem("Level settings", AdminPeerSettingsPage.class));
+				items.add(new MenuItem("Peer portal settings", AdminPeerSettingsPage.class));
 				items.add(new MenuItem("Edit levels", AdminProjectClassSettingsPage.class));
 
 				return items;
diff --git a/src/main/java/se/su/dsv/scipro/admin/pages/settings/AdminServerEnvironmentSettingsPage.html b/src/main/java/se/su/dsv/scipro/admin/pages/settings/AdminServerEnvironmentSettingsPage.html
index 6772a65c5e..122526fde7 100644
--- a/src/main/java/se/su/dsv/scipro/admin/pages/settings/AdminServerEnvironmentSettingsPage.html
+++ b/src/main/java/se/su/dsv/scipro/admin/pages/settings/AdminServerEnvironmentSettingsPage.html
@@ -3,15 +3,16 @@
 	xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
 <body>
 <wicket:extend>
-	<h3 class="section">Server/Request environment</h3>
-	<div style="overflow:auto;height:390px;">
-	<ul>
-		<li wicket:id="requestAttributes">
-			<span wicket:id="name">[name]</span>:
-			<span wicket:id="value">[value]</span>
-		</li>
-	</ul>
+	<h5 class="peer-title">Server/Request environment</h5>
+	<div>
+		<div style="overflow: auto; height: 360px;">
+			<ul>
+				<li wicket:id="requestAttributes"><span wicket:id="name">[name]</span>:
+					<span wicket:id="value">[value]</span>
+				</li>
+			</ul>
+		</div>
 	</div>
-</wicket:extend>
+	</wicket:extend>
 </body>
 </html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/basepages/BasePage.html b/src/main/java/se/su/dsv/scipro/basepages/BasePage.html
index a29f83d2cd..c9cbc78e51 100644
--- a/src/main/java/se/su/dsv/scipro/basepages/BasePage.html
+++ b/src/main/java/se/su/dsv/scipro/basepages/BasePage.html
@@ -25,10 +25,6 @@
 <link href='http://fonts.googleapis.com/css?family=Ubuntu:regular,bold' rel='stylesheet' type='text/css' /> -->
 <!--<link rel="stylesheet" href="css/scipro.css" media="screen,projection" />-->
 
-<!-- <link type="text/css" href="css/smoothness/jquery-ui-1.8.10.custom.css" rel="stylesheet" />
-  <script type="text/javascript" src="js/jquery-1.5.2.min.js"></script>
-  <script type="text/javascript" src="js/jquery-ui-1.8.10.custom.min.js"></script> -->
-
 <script type="text/javascript">
 
   var _gaq = _gaq || [];
diff --git a/src/main/java/se/su/dsv/scipro/basepanels/AbstractBaseMenuPanel.java b/src/main/java/se/su/dsv/scipro/basepanels/AbstractBaseMenuPanel.java
new file mode 100644
index 0000000000..ee8e09ce82
--- /dev/null
+++ b/src/main/java/se/su/dsv/scipro/basepanels/AbstractBaseMenuPanel.java
@@ -0,0 +1,16 @@
+package se.su.dsv.scipro.basepanels;
+
+import org.apache.wicket.Page;
+
+import se.su.dsv.scipro.components.AbstractMenuPanel;
+
+public abstract class AbstractBaseMenuPanel extends AbstractMenuPanel {
+	private static final long serialVersionUID = 3738086567246191811L;
+	public AbstractBaseMenuPanel(final String id,final Class<? extends Page> menuContainerCommonSuperClass, final Class<? extends Page> containerClass) {
+		super(id,menuContainerCommonSuperClass,containerClass);	
+	}
+	@Override
+	protected MenuType getMenuType() {
+		return MenuType.TAB;
+	}
+}
diff --git a/src/main/java/se/su/dsv/scipro/basepanels/HeaderPanel.html b/src/main/java/se/su/dsv/scipro/basepanels/HeaderPanel.html
index 75b642fb2e..f9857256a4 100644
--- a/src/main/java/se/su/dsv/scipro/basepanels/HeaderPanel.html
+++ b/src/main/java/se/su/dsv/scipro/basepanels/HeaderPanel.html
@@ -1,13 +1,19 @@
 <!DOCTYPE html>
-<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
+<html
+	xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
 <body>
-<wicket:panel>
-	<header id="main-header" class="span-24">
-      <div class="prepend-1 span-5">
-         <h1 id="logo"><a href="#" wicket:id="homeLink" title="SciPro">SciPro</a></h1>
-      </div>
-      <div wicket:id="mainMenuPanel"></div>
-    </header>
-</wicket:panel>
+	<wicket:panel>
+		<header id="main-header" class="span-24">
+			<div class="prepend-1 span-5">
+				<h1 id="logo">
+					<a href="#" wicket:id="homeLink" title="SciPro">SciPro</a>
+				</h1>
+			</div>
+			<div class="prepend-2 span-15 last user-links"
+				wicket:id="userLinksPanel"></div>
+			<div wicket:id="mainMenuPanel" class="main-menu prepend-6"></div>
+			<div wicket:id="serviceMenuPanel" class="service-menu"></div>
+		</header>
+	</wicket:panel>
 </body>
 </html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/basepanels/HeaderPanel.java b/src/main/java/se/su/dsv/scipro/basepanels/HeaderPanel.java
index e1c3763515..d270f8c03b 100644
--- a/src/main/java/se/su/dsv/scipro/basepanels/HeaderPanel.java
+++ b/src/main/java/se/su/dsv/scipro/basepanels/HeaderPanel.java
@@ -1,9 +1,7 @@
 package se.su.dsv.scipro.basepanels;
 
 import org.apache.wicket.Page;
-import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.link.BookmarkablePageLink;
-import org.apache.wicket.markup.html.panel.EmptyPanel;
 import org.apache.wicket.markup.html.panel.Panel;
 
 import se.su.dsv.scipro.SciProApplication;
@@ -14,17 +12,13 @@ import se.su.dsv.scipro.SciProApplication;
  *
  */
 public class HeaderPanel extends Panel {
-
 	private static final long serialVersionUID = 1L;
-
 	public HeaderPanel(String id, Class<? extends Page> containerClass) {
 		super(id);
-		
 		add(new BookmarkablePageLink<Void>("homeLink", SciProApplication.get().getHomePage()));
-		
-		MainMenuPanel mainMenuPanel = new MainMenuPanel("mainMenuPanel", containerClass);
-		add(mainMenuPanel);
-		
+		add(new MainMenuPanel("mainMenuPanel", containerClass));
+		add(new ServiceMenuPanel("serviceMenuPanel", containerClass));
+		add(new UserLinksPanel("userLinksPanel"));
 	}
 
 }
diff --git a/src/main/java/se/su/dsv/scipro/basepanels/MainMenuPanel.html b/src/main/java/se/su/dsv/scipro/basepanels/MainMenuPanel.html
deleted file mode 100644
index 4a61b067fd..0000000000
--- a/src/main/java/se/su/dsv/scipro/basepanels/MainMenuPanel.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
-<body>
-<wicket:panel>
-<nav id="main-nav">
-    <div class="span-18 last">
-        <div class="prepend-2 span-15 last" id="user-links" wicket:id="userLinksPanel"></div>
-        <div class="span-18 last">
-            <ul id="nav-list">
-              <li class="nav-list-item" id="home-menu-item" wicket:id="homeMenuItem"></li>
-              <li class="nav-list-item" id="messages-menu-item" wicket:id="messagesMenuItem"></li>
-              <li class="nav-list-item" id="project-menu-item" wicket:id="projectMenuItem"></li>
-              <li class="nav-list-item" id="supervisor-menu-item" wicket:id="supervisorMenuItem"></li>
-              <li class="nav-list-item" id="resources-menu-item" wicket:id="resourcesMenuItem"></li>
-              <li class="nav-list-item" id="admin-menu-item" wicket:id="adminMenuItem"></li>
-            </ul>
-        </div>
-    </div>
-    
-</nav>
-</wicket:panel>
-</body>
-</html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/basepanels/MainMenuPanel.java b/src/main/java/se/su/dsv/scipro/basepanels/MainMenuPanel.java
index 1598d646fe..9f10150a21 100644
--- a/src/main/java/se/su/dsv/scipro/basepanels/MainMenuPanel.java
+++ b/src/main/java/se/su/dsv/scipro/basepanels/MainMenuPanel.java
@@ -4,123 +4,25 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.wicket.Page;
-import org.apache.wicket.PageParameters;
-import org.apache.wicket.markup.html.link.BookmarkablePageLink;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.odlabs.wiquery.core.commons.IWiQueryPlugin;
-import org.odlabs.wiquery.core.commons.WiQueryResourceManager;
-import org.odlabs.wiquery.core.javascript.JsStatement;
 
 import se.su.dsv.scipro.HomePage;
-import se.su.dsv.scipro.SciProApplication;
-import se.su.dsv.scipro.admin.pages.AdminScheduleTemplatesPage;
 import se.su.dsv.scipro.admin.pages.AdminStartPage;
-import se.su.dsv.scipro.admin.pages.ProjectManagementPage;
-import se.su.dsv.scipro.admin.pages.SystemMaintenancePage;
-import se.su.dsv.scipro.basepages.MenuPage;
-import se.su.dsv.scipro.basepanels.mainmenu.MainMenuItem;
-import se.su.dsv.scipro.basepanels.mainmenu.MenuItem;
-import se.su.dsv.scipro.knol.resource.page.ResourcePage;
-import se.su.dsv.scipro.message.pages.PrivateMessagesPage;
-import se.su.dsv.scipro.peer.pages.PeerReviewTemplatePage;
-import se.su.dsv.scipro.project.pages.FinalSeminarProjectListPage;
-import se.su.dsv.scipro.project.pages.ProjectOppositionPage;
-import se.su.dsv.scipro.project.pages.ProjectPartnerPage;
 import se.su.dsv.scipro.project.pages.ProjectStartPage;
-import se.su.dsv.scipro.project.pages.ProjectChecklistPage;
-import se.su.dsv.scipro.security.auth.MetaDataActionStrategy;
-import se.su.dsv.scipro.security.auth.roles.Roles;
-import se.su.dsv.scipro.supervisor.pages.SupervisorProjectsFinalSeminarPage;
 import se.su.dsv.scipro.supervisor.pages.SupervisorStartPage;
-import se.su.dsv.scipro.wiquery.mainmenu.MainMenuJavascriptResourceReference;
 
-public class MainMenuPanel extends Panel implements IWiQueryPlugin {
+public class MainMenuPanel extends AbstractBaseMenuPanel {
 
 	private static final long serialVersionUID = 3738086567246191811L;
 	
 	public MainMenuPanel(String id, Class<? extends Page> containerClass) {
-		super(id);
-		
-		add(new MainMenuItem("homeMenuItem", HomePage.MAIN_MENU_LABEL, HomePage.class, containerClass, null));
-		
-		/*
-		 * Messages
-		 */
-		MainMenuItem messagesMenuItem = new MainMenuItem("messagesMenuItem", PrivateMessagesPage.MAIN_MENU_LABEL, PrivateMessagesPage.class, containerClass, null);
-		MetaDataActionStrategy.authorize(messagesMenuItem, Roles.SYSADMIN); // TODO: Hidden for initial deployment
-		add(messagesMenuItem);
-		
-		/*
-		 * Project/Author
-		 */
-		List<MenuItem> projectMenuSubItems = new ArrayList<MenuItem>();
-		projectMenuSubItems.add(new MenuItem(ProjectStartPage.MAIN_MENU_LABEL, ProjectStartPage.class));
-		projectMenuSubItems.add(new MenuItem(ProjectOppositionPage.MAIN_MENU_LABEL, ProjectOppositionPage.class));
-		projectMenuSubItems.add(new MenuItem(FinalSeminarProjectListPage.MAIN_MENU_LABEL, FinalSeminarProjectListPage.class));
-		MainMenuItem projectMenuItem = new MainMenuItem("projectMenuItem", ProjectStartPage.MAIN_MENU_LABEL, ProjectStartPage.class, containerClass, projectMenuSubItems);
-        add(projectMenuItem);
-		
-		/*
-		 * Supervisor
-		 */
-        List<MenuItem> supervisorMenuSubItems = new ArrayList<MenuItem>();
-        //supervisorMenuSubItems.add(new MenuItem("Schedule Templates", SupervisorProjectsFinalSeminarPage.class));
-        supervisorMenuSubItems.add(new MenuItem(SupervisorStartPage.MAIN_MENU_LABEL, SupervisorStartPage.class));
-		supervisorMenuSubItems.add(new MenuItem(SupervisorProjectsFinalSeminarPage.MAIN_MENU_LABEL, SupervisorProjectsFinalSeminarPage.class));
-        MainMenuItem supervisorMenuItem = new MainMenuItem("supervisorMenuItem", SupervisorStartPage.MAIN_MENU_LABEL, SupervisorStartPage.class, containerClass, supervisorMenuSubItems);
-        MetaDataActionStrategy.authorize(supervisorMenuItem, new Roles[]{Roles.EXTERNAL, Roles.EMPLOYEE});
-        add(supervisorMenuItem);
-		
-		/*
-		 * Resource
-		 */
-        MainMenuItem resourcesMenuItem = new MainMenuItem("resourcesMenuItem", ResourcePage.MAIN_MENU_LABEL, ResourcePage.class, containerClass, null);
-        MetaDataActionStrategy.authorize(resourcesMenuItem, Roles.SYSADMIN ); // TODO: Hidden for initial deployment
-		add(resourcesMenuItem);
-		
-		/*
-		 * Admin
-		 */
-		List<MenuItem> adminMenuSubItems = new ArrayList<MenuItem>();
-		adminMenuSubItems.add(new MenuItem(AdminScheduleTemplatesPage.MAIN_MENU_LABEL, AdminScheduleTemplatesPage.class));
-		adminMenuSubItems.add(new MenuItem(SystemMaintenancePage.MAIN_MENU_LABEL, SystemMaintenancePage.class));
-		adminMenuSubItems.add(new MenuItem(ProjectManagementPage.MAIN_MENU_LABEL, ProjectManagementPage.class));
-		adminMenuSubItems.add(new MenuItem(PeerReviewTemplatePage.MAIN_MENU_LABEL, PeerReviewTemplatePage.class));
-		MainMenuItem adminMenuItem = new MainMenuItem("adminMenuItem", AdminStartPage.MAIN_MENU_LABEL, AdminStartPage.class, containerClass, adminMenuSubItems);
-		MetaDataActionStrategy.authorize(adminMenuItem, Roles.ADMIN);
-		add(adminMenuItem);
-		
-		UserLinksPanel userLinksPanel = new UserLinksPanel("userLinksPanel");
-		add(userLinksPanel);
+		super(id,HomePage.class,containerClass);	
 	}
-	
 	@Override
-    public void contribute(WiQueryResourceManager wiQueryResourceManager) {
-        wiQueryResourceManager.addJavaScriptResource(MainMenuJavascriptResourceReference.get());
-    }
-
-    @Override
-    public JsStatement statement() {
-        return null;
-    }
-	
-	/**
-     * @deprecated see {@link se.su.dsv.scipro.basepanels.mainmenu.AbstractMainMenuItem#getMenuLink(String)}
-     */
-    @SuppressWarnings("unused")
-    private BookmarkablePageLink<Void> getMenuLink(String id, final Class<? extends Page> targetPageClass, final Class<? extends Page> containerClass){
-		return getMenuLink(id, targetPageClass, null, containerClass);
+	protected List<MenuItem> getItemList(){
+		List<MenuItem> list = new ArrayList<MenuItem>();
+		list.add(new MenuItem(ProjectStartPage.MAIN_MENU_LABEL,ProjectStartPage.class));
+		list.add(new MenuItem(SupervisorStartPage.MAIN_MENU_LABEL,SupervisorStartPage.class));
+		list.add(new MenuItem(AdminStartPage.MAIN_MENU_LABEL,AdminStartPage.class));
+		return list;
 	}
-	/**
-	 * @deprecated see {@link se.su.dsv.scipro.basepanels.mainmenu.AbstractMainMenuItem#getMenuLink(String, PageParameters)}
-	 */
-	private BookmarkablePageLink<Void> getMenuLink(String id, final Class<? extends Page> targetPageClass, final PageParameters pp, final Class<? extends Page> containerClass){
-		BookmarkablePageLink<Void> result = new BookmarkablePageLink<Void>(id, targetPageClass, pp);
-		result.setOutputMarkupId(true);
-		if(targetPageClass == containerClass || (targetPageClass.getSuperclass().isAssignableFrom(containerClass) && targetPageClass.getSuperclass() != MenuPage.class) ){
-			result.setMarkupId("current");
-		}
-		return result;
-	}
-
 }
diff --git a/src/main/java/se/su/dsv/scipro/basepanels/ServiceMenuPanel.java b/src/main/java/se/su/dsv/scipro/basepanels/ServiceMenuPanel.java
new file mode 100644
index 0000000000..b88315a26f
--- /dev/null
+++ b/src/main/java/se/su/dsv/scipro/basepanels/ServiceMenuPanel.java
@@ -0,0 +1,24 @@
+package se.su.dsv.scipro.basepanels;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.wicket.Page;
+
+import se.su.dsv.scipro.basepages.MenuPage;
+import se.su.dsv.scipro.knol.resource.page.ResourcePage;
+import se.su.dsv.scipro.message.pages.PrivateMessagesPage;
+
+public class ServiceMenuPanel extends AbstractBaseMenuPanel {
+	private static final long serialVersionUID = 3738086567246191811L;
+	public ServiceMenuPanel(String id, Class<? extends Page> containerClass) {
+		super(id,MenuPage.class,containerClass);	
+	}
+	@Override
+	protected List<MenuItem> getItemList(){
+		List<MenuItem> list = new ArrayList<MenuItem>();
+		list.add(new MenuItem(ResourcePage.MAIN_MENU_LABEL,ResourcePage.class));
+		list.add(new MenuItem(PrivateMessagesPage.MAIN_MENU_LABEL,PrivateMessagesPage.class));
+		return list;
+	}
+}
diff --git a/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/AbstractMainMenuItem.java b/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/AbstractMainMenuItem.java
deleted file mode 100644
index 4febedf585..0000000000
--- a/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/AbstractMainMenuItem.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package se.su.dsv.scipro.basepanels.mainmenu;
-
-import org.apache.wicket.Page;
-import org.apache.wicket.PageParameters;
-import org.apache.wicket.markup.html.link.BookmarkablePageLink;
-import org.apache.wicket.markup.html.panel.Panel;
-
-import se.su.dsv.scipro.basepages.MenuPage;
-
-/**
- * Abstract Class for Main Menu Items
- * 
- * @author patrick
- *
- */
-public abstract class AbstractMainMenuItem extends Panel {
-
-    private static final long serialVersionUID = 2849283400267381932L;
-    protected Class<? extends Page> targetPageClass;
-    protected Class<? extends Page> containerPageClass;
-    private String menuLabel;
-    protected BookmarkablePageLink<Void> menuItemLink;
-
-    public AbstractMainMenuItem(String id, String label, Class<? extends Page> targetPageClass, Class<? extends Page> containerPageClass) {
-        super(id);
-        this.menuLabel = label;
-        this.targetPageClass = targetPageClass;
-        this.containerPageClass = containerPageClass;
-    }
-    
-    public String getMenuLabel() {
-        return menuLabel;
-    }
-    
-
-    /**
-     * {@link #getMenuLink(String, PageParameters)}
-     */
-    protected BookmarkablePageLink<Void> getMenuLink(String id) {
-        return getMenuLink(id, null);
-    }
-    
-    /**
-     * Creates a bookmarkable page link for the main menu.
-     * 
-     * @param id
-     * @param pp
-     * @return
-     * @author Martin Peters
-     */
-    protected BookmarkablePageLink<Void> getMenuLink(String id, final PageParameters pp) {
-        BookmarkablePageLink<Void> result = new BookmarkablePageLink<Void>(id, targetPageClass, pp);
-        result.setOutputMarkupId(true);
-        if(targetPageClass == containerPageClass || (targetPageClass.getSuperclass().isAssignableFrom(containerPageClass) && targetPageClass.getSuperclass() != MenuPage.class) ){
-        	//TODO Should prefereably be replaced with the line below because repeating id's aren't valid html. I couldn't get the CSS to work though //mpeters
-            result.setMarkupId("current");            
-        	//result.add(new AttributeAppender("class", new Model<String>("current"), " "));
-        }
-        return result;
-    }
-    
-}
diff --git a/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/MainMenuItem.html b/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/MainMenuItem.html
deleted file mode 100644
index 53103e9295..0000000000
--- a/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/MainMenuItem.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
-<body>
-<wicket:panel>
-<span class="menu-item">
-    <a wicket:id="mainMenuItemLink"><span wicket:id="mainMenuItemLabel"></span></a>
-    <img class="nav-arrow" wicket:id="mainMenuItemArrow" />
-</span>
-<div class="submenu rounded-bl rounded-br"><span wicket:id="mainMenuListItemSubMenu"><span wicket:id="subMenuItem"></span></span></div>
-</wicket:panel>
-</body>
-</html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/MainMenuItem.java b/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/MainMenuItem.java
deleted file mode 100644
index b87b20e291..0000000000
--- a/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/MainMenuItem.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package se.su.dsv.scipro.basepanels.mainmenu;
-
-import java.util.List;
-
-import org.apache.wicket.Page;
-import org.apache.wicket.behavior.AttributeAppender;
-import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.image.ContextImage;
-import org.apache.wicket.markup.html.list.ListItem;
-import org.apache.wicket.markup.html.list.ListView;
-import org.apache.wicket.model.Model;
-
-/**
- * Main Menu Item, the upper level of the main menu hierarchy.
- * 
- * @author patrick
- *
- */
-public class MainMenuItem extends AbstractMainMenuItem {
-
-    private static final long serialVersionUID = 6103131868992599100L;
-    
-    @SuppressWarnings("unused")
-    private List<MenuItem> subItems;
-
-    public MainMenuItem(String id, String label, final Class<? extends Page> targetPageClass, final Class<? extends Page> containerClass, final List<MenuItem> subItems) {
-        super(id, label, targetPageClass, containerClass);
-        this.subItems = subItems;
-        
-        if (subItems != null)
-            this.add(new AttributeAppender("class", true, new Model<String>("parent"), " "));
-        
-        menuItemLink = getMenuLink("mainMenuItemLink");
-        menuItemLink.add(new Label("mainMenuItemLabel", getMenuLabel()));
-        
-        add(menuItemLink);
-        
-        ContextImage mainMenuItemArrow = new ContextImage("mainMenuItemArrow", "images/site_nav_arrow2.png") {
-
-            private static final long serialVersionUID = 1793336840409311960L;
-
-            /* (non-Javadoc)
-             * @see org.apache.wicket.Component#isVisible()
-             */
-            @Override
-            public boolean isVisible() {
-                return subItems != null;
-            }
-            
-        };
-        mainMenuItemArrow.setOutputMarkupPlaceholderTag(true);
-        add(mainMenuItemArrow);
-        
-        ListView<MenuItem> subItemListView = new ListView<MenuItem>("mainMenuListItemSubMenu", subItems) {
-
-            private static final long serialVersionUID = -1444218885819118389L;
-
-            @Override
-            protected void populateItem(ListItem<MenuItem> item) {
-                MenuItem obj = item.getModelObject();
-                item.add(obj.createSubItem("subMenuItem", containerClass));
-                add(item);
-            }
-
-            /* (non-Javadoc)
-             * @see org.apache.wicket.Component#isVisible()
-             */
-            @Override
-            public boolean isVisible() {
-                return subItems != null;
-            }
-            
-            
-        };
-        subItemListView.setOutputMarkupPlaceholderTag(true);
-        add(subItemListView);
-    }
-
-}
diff --git a/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/MainMenuSubItem.html b/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/MainMenuSubItem.html
deleted file mode 100644
index 43e852090a..0000000000
--- a/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/MainMenuSubItem.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
-<body>
-<wicket:panel>
-    <a href="#" wicket:id="mainMenuSubItemLink"><span wicket:id="mainMenuSubItemLabel">[Link]</span></a>
-</wicket:panel>
-</body>
-</html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/MainMenuSubItem.java b/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/MainMenuSubItem.java
deleted file mode 100644
index 565a880183..0000000000
--- a/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/MainMenuSubItem.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package se.su.dsv.scipro.basepanels.mainmenu;
-
-import org.apache.wicket.Page;
-import org.apache.wicket.markup.html.basic.Label;
-
-/**
- * Main Menu Sub Items
- * 
- * @author patrick
- *
- */
-public class MainMenuSubItem extends AbstractMainMenuItem {
-
-    private static final long serialVersionUID = 8903203088965767242L;
-
-    public MainMenuSubItem(String id, String label, Class<? extends Page> targetPageClass,
-            Class<? extends Page> containerPageClass) {
-        super(id, label, targetPageClass, containerPageClass);
-        
-        menuItemLink = getMenuLink("mainMenuSubItemLink");
-        menuItemLink.add(new Label("mainMenuSubItemLabel", getMenuLabel()));
-        
-        add(menuItemLink);
-    }
-
-    
-}
diff --git a/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/MenuItem.java b/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/MenuItem.java
deleted file mode 100644
index ca12d4b265..0000000000
--- a/src/main/java/se/su/dsv/scipro/basepanels/mainmenu/MenuItem.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package se.su.dsv.scipro.basepanels.mainmenu;
-
-import java.util.List;
-
-import org.apache.wicket.IClusterable;
-import org.apache.wicket.Page;
-
-/**
- * Helper Class for preparing the creation of main menu items
- * @author patrick
- *
- */
-public class MenuItem implements IClusterable {
-    
-    private static final long serialVersionUID = -5341715569517881163L;
-    
-    private String menuLabel;
-    private Class<? extends Page> targetPageClass;
-    
-    public MenuItem(String menuLabel, Class<? extends Page> targetPageClass) {
-        this.menuLabel = menuLabel;
-        this.targetPageClass = targetPageClass;
-    }
-    
-    /**
-     * Creates a Main Menu Sub Item
-     * 
-     * @param id
-     * @param containerPageClass
-     * @return
-     */
-    public MainMenuSubItem createSubItem(String id, Class<? extends Page> containerPageClass) {
-        return new MainMenuSubItem(id, menuLabel, targetPageClass, containerPageClass);
-    }
-    
-    /**
-     * Creates a Main Menu Item
-     * 
-     * @param id
-     * @param containerPageClass
-     * @param subItems
-     * @return
-     */
-    public MainMenuItem createMenuItem(String id, Class<? extends Page> containerPageClass, List<MenuItem> subItems) {
-        return new MainMenuItem(id, menuLabel, targetPageClass, containerPageClass, subItems);
-    }
-}
diff --git a/src/main/java/se/su/dsv/scipro/components/AbstractMenuPanel.java b/src/main/java/se/su/dsv/scipro/components/AbstractMenuPanel.java
index 75f046c4e0..1493f65bd0 100644
--- a/src/main/java/se/su/dsv/scipro/components/AbstractMenuPanel.java
+++ b/src/main/java/se/su/dsv/scipro/components/AbstractMenuPanel.java
@@ -18,6 +18,11 @@ import org.apache.wicket.model.Model;
 
 import se.su.dsv.scipro.icons.ImageIcon;
 
+/**
+ * ABC-class for menu's of different types.
+ * Subclasses should implement their own data feed mechanics via <code>getItemList</code> and provide a menu type via <code>getMenuType</code>
+ * The returned menu-type is used to provide CSS-class mappings for the menu structure, see the MenuType enum for alternatives.
+ */
 public abstract class AbstractMenuPanel extends Panel {
 	
 	private static final long serialVersionUID = 1L;
@@ -33,6 +38,9 @@ public abstract class AbstractMenuPanel extends Panel {
 		}
 	};
 	
+	/**
+	 * Enumeration of supported menu types.
+	 */
 	public enum MenuType {
 		NONE,
 		TAB,
@@ -41,7 +49,12 @@ public abstract class AbstractMenuPanel extends Panel {
 		VERTICAL
 	}
 	
-	
+	/**
+	 * Superclass constructor, arguments 
+	 * @param id Wicket identifier for the component
+	 * @param menuContainerCommonSuperClass [Needs documentation]
+	 * @param containerClass [Needs documentation]
+	 */
 	public AbstractMenuPanel(final String id, final Class<? extends Page> menuContainerCommonSuperClass,final Class<? extends Page> containerClass) {
 		super(id);
 		
@@ -104,7 +117,10 @@ public abstract class AbstractMenuPanel extends Panel {
 	 * @return
 	 */
 	protected abstract List<MenuItem> getItemList();
-	
+	/**
+	 * Implement in subclass to return the wanted MenuType.
+	 * @return
+	 */
 	protected abstract MenuType getMenuType();
 	
 	/**
diff --git a/src/main/java/se/su/dsv/scipro/conference/panels/ConferencePanel.java b/src/main/java/se/su/dsv/scipro/conference/panels/ConferencePanel.java
index cf5a5225ff..083e4f8b85 100644
--- a/src/main/java/se/su/dsv/scipro/conference/panels/ConferencePanel.java
+++ b/src/main/java/se/su/dsv/scipro/conference/panels/ConferencePanel.java
@@ -92,10 +92,8 @@ public class ConferencePanel extends Panel {
 		webMarkupContainer.setOutputMarkupId(true);
 		webMarkupContainer.add(new PagingNavigator("pagingNavigator", dataView));
 		add(webMarkupContainer);
-		if (boardMessageModel != null) {
-			
+		if (boardMessageModel != null) {		
 			int index = boardMessageDao.getBoardMessageSortOrderIndex(boardMessageModel.getObject());
-			System.out.println(index);
 			dataView.setCurrentPage(index/BOARDMESSAGESPERPAGE);
 		}
 	}
diff --git a/src/main/java/se/su/dsv/scipro/data/controllers/FinalSeminarUploadController.java b/src/main/java/se/su/dsv/scipro/data/controllers/FinalSeminarUploadController.java
index 0c03a098ff..0d2252d6d8 100644
--- a/src/main/java/se/su/dsv/scipro/data/controllers/FinalSeminarUploadController.java
+++ b/src/main/java/se/su/dsv/scipro/data/controllers/FinalSeminarUploadController.java
@@ -6,11 +6,10 @@ import org.apache.wicket.markup.html.form.upload.FileUpload;
 import se.su.dsv.scipro.data.dataobjects.FinalSeminar;
 import se.su.dsv.scipro.data.dataobjects.FinalSeminarOpposition;
 import se.su.dsv.scipro.data.dataobjects.User;
+import se.su.dsv.scipro.repository.util.FileStorageException;
 
 public interface FinalSeminarUploadController extends IClusterable {
 
-	void deleteSeminarFilesRecursive(FinalSeminar seminar);
-
 	void deleteOpponentFiles(FinalSeminarOpposition opp);
 	
 	/**
@@ -20,6 +19,15 @@ public interface FinalSeminarUploadController extends IClusterable {
 	 * @throws Exception
 	 */
 	FinalSeminar deleteSeminarReport(FinalSeminar seminar) throws Exception;
+	
+	/**
+	 * Delete the upload report for the seminar, adminOverrideMode = true means no intentional exceptions will be thrown
+	 * @param seminar
+	 * @param adminOverrideMode
+	 * @return
+	 * @throws Exception
+	 */
+	FinalSeminar deleteSeminarReport(FinalSeminar seminar, boolean adminOverrideMode) throws Exception;
 
 	void storeSeminarDocument(FileUpload upload, User uploader, FinalSeminar seminar) throws Exception;
 
diff --git a/src/main/java/se/su/dsv/scipro/data/controllers/impl/FinalSeminarUploadControllerImpl.java b/src/main/java/se/su/dsv/scipro/data/controllers/impl/FinalSeminarUploadControllerImpl.java
index c010bb8378..866dbc8ce7 100644
--- a/src/main/java/se/su/dsv/scipro/data/controllers/impl/FinalSeminarUploadControllerImpl.java
+++ b/src/main/java/se/su/dsv/scipro/data/controllers/impl/FinalSeminarUploadControllerImpl.java
@@ -78,17 +78,9 @@ public class FinalSeminarUploadControllerImpl implements FinalSeminarUploadContr
 	}
 
 	private void delete(String path) {
-
 		fileRepository.delete(path);
 	}
 
-	public void deleteSeminarFilesRecursive(final FinalSeminar seminar) throws FileStorageException {
-		if (seminar.getDocument() != null) {
-			//delete(getRepositorySeminarPath(seminar)); Use of deprecated path/method
-			delete(seminar.getDocument().getPath());
-		}
-	}
-
 	public void deleteOpponentFiles(final FinalSeminarOpposition opp) throws FileStorageException {
 		if (opp.getOpponentReport() != null) {
 			//delete(getRepositoryOppositionPath(opp)); Use of deprecated path/method
@@ -103,18 +95,31 @@ public class FinalSeminarUploadControllerImpl implements FinalSeminarUploadContr
 	 * @return
 	 * @throws Exception
 	 */
-	public FinalSeminar deleteSeminarReport(FinalSeminar seminar) throws Exception {
+	public FinalSeminar deleteSeminarReport(FinalSeminar seminar) throws Exception{
+		return deleteSeminarReport(seminar, false);
+	}
+	/**
+	 * Delete the upload report for the seminar, adminOverrideMode = true means no intentional exceptions will be thrown
+	 * @param seminar
+	 * @param adminOverrideMode
+	 * @return
+	 * @throws Exception
+	 */
+	public FinalSeminar deleteSeminarReport(FinalSeminar seminar, boolean adminOverrideMode) throws Exception {
 		seminar = finalSeminarDao.reLoad(seminar);
-		if (!seminar.getOppositions().isEmpty() || !seminar.getActiveParticipations().isEmpty()) {
-			throw new Exception(
-					"Cannot delete seminar report, seminar has opponents or active participants");
+		if( !adminOverrideMode ){
+			if (!seminar.getOppositions().isEmpty() || !seminar.getActiveParticipations().isEmpty()) {
+				throw new Exception(
+				"Cannot delete seminar report, seminar has opponents or active participants");
+			}
 		}
 		for (CheckPlagiarismEvent cpe : checkPlagiarismEventDao.getWithFileDescription(seminar
 				.getDocument())) {
 			checkPlagiarismEventDao.delete(cpe);
 		}
-
-		fileRepository.delete(seminar.getDocument().getPath());
+		if(seminar.getDocument() != null)
+			if(seminar.getDocument().getPath() != null)
+				fileRepository.delete(seminar.getDocument().getPath());
 		seminar.setDocument(null);
 		return finalSeminarDao.save(seminar);
 	}
diff --git a/src/main/java/se/su/dsv/scipro/opponent/panels/FinalSeminarDetailsPanel.html b/src/main/java/se/su/dsv/scipro/opponent/panels/FinalSeminarDetailsPanel.html
index 4dd16f9bd7..9df136e249 100644
--- a/src/main/java/se/su/dsv/scipro/opponent/panels/FinalSeminarDetailsPanel.html
+++ b/src/main/java/se/su/dsv/scipro/opponent/panels/FinalSeminarDetailsPanel.html
@@ -2,78 +2,73 @@
 <html
 	xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
 <body>
-	<wicket:panel>
-		<div wicket:id="titleContainer">
-			<strong>Project Title: </strong> <span wicket:id="projectTitle"></span>
-			<div>
-				<strong>Room: </strong> <span wicket:id="room"></span>
-			</div>
-		</div>
-		<div class="append-bottom">
-			<div>
-				<strong>Head supervisor:</strong>
-			</div>
-			<span wicket:id="headSupervisor"></span>
-		</div>
-		<div>
-			<strong>Author(s): </strong>
-			<ul class="no-list-style">
-				<li wicket:id="authorsList"><span wicket:id="author"></span></li>
-			</ul>
-		</div>
+<wicket:panel>
+	<div wicket:id="feedback"></div>
+	<div wicket:id="titleContainer"><strong>Project Title: </strong>
+	<span wicket:id="projectTitle"></span>
+	<div><strong>Room: </strong> <span wicket:id="room"></span></div>
+	</div>
+	<div class="append-bottom">
+	<div><strong>Head supervisor:</strong></div>
+	<span wicket:id="headSupervisor"></span></div>
+	<div><strong>Author(s): </strong>
+	<ul class="no-list-style">
+		<li wicket:id="authorsList"><span wicket:id="author"></span></li>
+	</ul>
+	</div>
 
-		<div>
-			<strong>Co-supervisor(s): </strong>
-			<ul class="no-list-style">
-				<li wicket:id="coSupervisorsList"><span
-					wicket:id="coSupervisor"></span></li>
-			</ul>
-		</div>
+	<div><strong>Co-supervisor(s): </strong>
+	<ul class="no-list-style">
+		<li wicket:id="coSupervisorsList"><span wicket:id="coSupervisor"></span></li>
+	</ul>
+	</div>
 
-		<div>
-			<strong>Reviewer(s): </strong>
-			<ul class="no-list-style">
-				<li wicket:id="reviewersList"><span wicket:id="reviewer"></span>
-				</li>
-			</ul>
-		</div>
+	<div><strong>Reviewer(s): </strong>
+	<ul class="no-list-style">
+		<li wicket:id="reviewersList"><span wicket:id="reviewer"></span>
+		</li>
+	</ul>
+	</div>
 
 
-		<div wicket:id="detailsContainer">
-			<div>
-				<strong>Opponent(s): </strong>
-				<ul class="no-list-style">
-					<li wicket:id="opponentsList"><span wicket:id="opponent"></span>
-					</li>
-				</ul>
-			</div>
-
-			<div>
-				<strong>Active participant(s): </strong>
-				<ul class="no-list-style">
-					<li wicket:id="activeParticipantsList"><span
-						wicket:id="activeParticipant"></span></li>
-				</ul>
-			</div>
-			<div>
-				<strong>Presentation Language: </strong>
-				<div wicket:id="seminarLanguage"></div>
-			</div>
-			<div>
-				<strong>Thesis/Report Language: </strong>
-				<div wicket:id="thesisLanguage"></div>
-			</div>
-
-			<strong>Thesis/Report: </strong>
-			<div>
-				<span wicket:id="seminarReportTitle"></span> <span
-					wicket:id="uploadInfoContainer"> <a href="#"
-					wicket:id="open"><img
-						src="images/icons/document-preview_16x16.png" alt="Open/Preview" />
-				</a> <a href="#" wicket:id="download"><img
-						src="images/icons/download_16x16.png" alt="Download" /> </a> </span>
-			</div>
+	<div wicket:id="detailsContainer">
+	<div><strong>Opponent(s): </strong>
+	<ul class="no-list-style">
+		<li wicket:id="opponentsList"><span wicket:id="opponent"></span>
+		<div wicket:id="oppositionContainer"><strong>Report:</strong> <span wicket:id="oppositionReportTitle"></span> <a href="#"
+			wicket:id="open"><img
+			src="images/icons/document-preview_16x16.png" alt="Open/Preview" />
+		</a> <a href="#" wicket:id="download"><img
+			src="images/icons/download_16x16.png" alt="Download" /> </a> <a href="#"
+			wicket:id="deleteOppositionReport"><img
+			src="images/icons/delete_16x16.png" alt="delete" /> </a>
 		</div>
-	</wicket:panel>
+		</li>
+	</ul>
+	</div>
+
+	<div><strong>Active participant(s): </strong>
+	<ul class="no-list-style">
+		<li wicket:id="activeParticipantsList"><span
+			wicket:id="activeParticipant"></span></li>
+	</ul>
+	</div>
+	<div><strong>Presentation Language: </strong>
+	<div wicket:id="seminarLanguage"></div>
+	</div>
+	<div><strong>Thesis/Report Language: </strong>
+	<div wicket:id="thesisLanguage"></div>
+	</div>
+
+	<strong>Thesis/Report: </strong>
+	<div><span wicket:id="seminarReportTitle"></span> <span
+		wicket:id="uploadInfoContainer"> <a href="#" wicket:id="open"><img
+		src="images/icons/document-preview_16x16.png" alt="Open/Preview" /> </a>
+	<a href="#" wicket:id="download"><img
+		src="images/icons/download_16x16.png" alt="Download" /> </a> <a href="#"
+		wicket:id="deleteSeminarReport"><img
+		src="images/icons/delete_16x16.png" alt="delete" /> </a> </span></div>
+	</div>
+</wicket:panel>
 </body>
 </html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/opponent/panels/FinalSeminarDetailsPanel.java b/src/main/java/se/su/dsv/scipro/opponent/panels/FinalSeminarDetailsPanel.java
index 172fa064a5..21d74e01be 100644
--- a/src/main/java/se/su/dsv/scipro/opponent/panels/FinalSeminarDetailsPanel.java
+++ b/src/main/java/se/su/dsv/scipro/opponent/panels/FinalSeminarDetailsPanel.java
@@ -3,16 +3,21 @@ package se.su.dsv.scipro.opponent.panels;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.markup.html.panel.EmptyPanel;
+import org.apache.wicket.markup.html.panel.FeedbackPanel;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.spring.injection.annot.SpringBean;
 
+import se.su.dsv.scipro.data.controllers.FinalSeminarUploadController;
 import se.su.dsv.scipro.data.dao.interfaces.FinalSeminarDao;
+import se.su.dsv.scipro.data.dao.interfaces.FinalSeminarOppositionDao;
 import se.su.dsv.scipro.data.dataobjects.FinalSeminar;
 import se.su.dsv.scipro.data.dataobjects.FinalSeminarActiveParticipation;
 import se.su.dsv.scipro.data.dataobjects.FinalSeminarOpposition;
@@ -23,6 +28,9 @@ import se.su.dsv.scipro.data.dataobjects.User;
 import se.su.dsv.scipro.data.enums.ProjectTeamMemberRoles;
 import se.su.dsv.scipro.repository.components.FileDownloadLink;
 import se.su.dsv.scipro.repository.components.FileOpenLink;
+import se.su.dsv.scipro.security.auth.MetaDataActionStrategy;
+import se.su.dsv.scipro.security.auth.roles.Roles;
+import se.su.dsv.scipro.util.JavascriptEventConfirmation;
 
 public class FinalSeminarDetailsPanel extends Panel {
 
@@ -30,11 +38,15 @@ public class FinalSeminarDetailsPanel extends Panel {
 
 	@SpringBean
 	private FinalSeminarDao finalSeminarDao;
+	@SpringBean
+	private FinalSeminarOppositionDao finalSeminarOppositionDao;
+	@SpringBean
+	private FinalSeminarUploadController finalSeminarUploadController;
 
-	public FinalSeminarDetailsPanel(final String id, final FinalSeminar seminar2,
-			final boolean details) {
+	public FinalSeminarDetailsPanel(final String id, final FinalSeminar seminar2, final boolean details) {
 		super(id);
-
+		this.setOutputMarkupId(true);
+		add(new FeedbackPanel("feedback"));
 		final FinalSeminar seminar = finalSeminarDao.reLoad(seminar2);
 		final Project project = seminar.getProject();
 		WebMarkupContainer titleContainer = new WebMarkupContainer("titleContainer") {
@@ -53,8 +65,7 @@ public class FinalSeminarDetailsPanel extends Panel {
 		});
 		titleContainer.add(new Label("room", seminar.getRoom()));
 		add(titleContainer);
-		add(new ListView<Student>("authorsList", new ArrayList<Student>(
-				project.getProjectParticipants())) {
+		add(new ListView<Student>("authorsList", new ArrayList<Student>(project.getProjectParticipants())) {
 			private static final long serialVersionUID = 1L;
 
 			@Override
@@ -111,41 +122,77 @@ public class FinalSeminarDetailsPanel extends Panel {
 
 		};
 
-		detailsContainer.add(new ListView<FinalSeminarOpposition>("opponentsList", seminar
-				.getOppositions()) {
+		detailsContainer.add(new ListView<FinalSeminarOpposition>("opponentsList", seminar.getOppositions()) {
 			private static final long serialVersionUID = 1L;
 
 			@Override
-			protected void populateItem(ListItem<FinalSeminarOpposition> item) {
-				item.add(item.getModelObject().getOpponent().getUser()
-						.getDisplayComponent("opponent", true));
+			protected void populateItem(final ListItem<FinalSeminarOpposition> item) {
+				item.add(item.getModelObject().getOpponent().getUser().getDisplayComponent("opponent", true));
+				WebMarkupContainer oppCon = new WebMarkupContainer("oppositionContainer"){
+					private static final long serialVersionUID = 1L;
+
+					@Override
+					public boolean isVisible(){
+						return item.getModelObject().getOpponentReport() != null;
+					}
+				};
+				//Students are not allowed to view other students opposition reports
+				MetaDataActionStrategy.authorize(oppCon, Roles.EMPLOYEE);
+				item.add(oppCon);
+				
+				String reportTitle = "";
+				if(item.getModelObject().getOpponentReport() != null)
+					reportTitle = item.getModelObject().getOpponentReport().getName();						
+				oppCon.add(new Label("oppositionReportTitle", reportTitle));
+				
+				oppCon.add(new FileDownloadLink("download", item.getModelObject().getOpponentReport()));
+				oppCon.add(new FileOpenLink("open", item.getModelObject().getOpponentReport()));
+				oppCon.add(new AjaxLink<Void>("deleteOppositionReport"){
+					private static final long serialVersionUID = 1L;
+					{
+						MetaDataActionStrategy.authorize(this, Roles.ADMIN);
+						this.add(new JavascriptEventConfirmation("onclick", "Do you really want to delete this user-uploaded report?"));
+					}
+
+					@Override
+					public void onClick(AjaxRequestTarget target) {
+						try{
+							finalSeminarUploadController.deleteOpponentFiles(item.getModelObject());
+							FinalSeminarOpposition opp = item.getModelObject();
+							opp.setOpponentReport(null);
+							opp = finalSeminarOppositionDao.save(opp);
+							item.setModelObject(opp);
+							info("Opposition report deleted");
+						} catch(Exception e){
+							e.printStackTrace();
+							error("Something went wrong, see log files for stacktrace");
+						}						
+						target.addComponent(FinalSeminarDetailsPanel.this);
+					}
+				});
 				add(item);
 			}
 		});
 
-		detailsContainer.add(new ListView<FinalSeminarActiveParticipation>(
-				"activeParticipantsList", seminar.getActiveParticipations()) {
+		detailsContainer.add(new ListView<FinalSeminarActiveParticipation>("activeParticipantsList", seminar.getActiveParticipations()) {
 			private static final long serialVersionUID = 1L;
 
 			@Override
 			protected void populateItem(ListItem<FinalSeminarActiveParticipation> item) {
-				item.add(item.getModelObject().getUser()
-						.getDisplayComponent("activeParticipant", true));
+				item.add(item.getModelObject().getUser().getDisplayComponent("activeParticipant", true));
 				add(item);
 			}
 
 		});
 
-		detailsContainer.add(new Label("seminarLanguage", seminar.getPresentationLanguage()
-				.toString()));
+		detailsContainer.add(new Label("seminarLanguage", seminar.getPresentationLanguage().toString()));
 		detailsContainer.add(new Label("thesisLanguage", seminar.getReportLanguage().toString()));
 		detailsContainer.add(new Label("seminarReportTitle", new Model<String>() {
 			private static final long serialVersionUID = 1L;
 
 			@Override
 			public String getObject() {
-				return seminar.getDocument() == null ? "No thesis/report uploaded" : seminar
-						.getDocument().getName();
+				return seminar.getDocument() == null ? "No thesis/report uploaded" : seminar.getDocument().getName();
 			}
 		}));
 
@@ -161,6 +208,27 @@ public class FinalSeminarDetailsPanel extends Panel {
 		uploadInfoContainer.add(new FileDownloadLink("download", seminar.getDocument()));
 		uploadInfoContainer.add(new FileOpenLink("open", seminar.getDocument()));
 
+		uploadInfoContainer.add(new AjaxLink<Void>("deleteSeminarReport") {
+			private static final long serialVersionUID = 1L;
+			{
+				MetaDataActionStrategy.authorize(this, Roles.ADMIN);
+				this.add(new JavascriptEventConfirmation("onclick", "Do you really want to delete this user-uploaded report?"));
+			}
+
+			@Override
+			public void onClick(AjaxRequestTarget target) {
+				try {
+					finalSeminarUploadController.deleteSeminarReport(seminar, true);
+					seminar.setDocument(null); //Only to repaint the ajax call without the document icons
+					info("Report deleted");
+				} catch (Exception e) {
+					e.printStackTrace();
+					error("Deletion failed");
+				}
+				target.addComponent(FinalSeminarDetailsPanel.this);
+			}
+		});
+
 		detailsContainer.add(uploadInfoContainer);
 		add(detailsContainer);
 
diff --git a/src/main/java/se/su/dsv/scipro/opponent/panels/OpponentListViewPanel.html b/src/main/java/se/su/dsv/scipro/opponent/panels/OpponentListViewPanel.html
index e1b8c0eed1..acc47fd40b 100644
--- a/src/main/java/se/su/dsv/scipro/opponent/panels/OpponentListViewPanel.html
+++ b/src/main/java/se/su/dsv/scipro/opponent/panels/OpponentListViewPanel.html
@@ -5,6 +5,7 @@
 	<wicket:panel>
 
 		<div class="span-22 prepend-top last">
+			<div wicket:id="feedback"></div>
 			<table class="rounded-table seminar-table even-rows">
 				<tr>
 					<th>Date</th>
diff --git a/src/main/java/se/su/dsv/scipro/opponent/panels/OpponentListViewPanel.java b/src/main/java/se/su/dsv/scipro/opponent/panels/OpponentListViewPanel.java
index 2132c6d34b..b8bca3392b 100644
--- a/src/main/java/se/su/dsv/scipro/opponent/panels/OpponentListViewPanel.java
+++ b/src/main/java/se/su/dsv/scipro/opponent/panels/OpponentListViewPanel.java
@@ -47,8 +47,8 @@ import se.su.dsv.scipro.opponent.models.OpponentModel;
 public class OpponentListViewPanel extends Panel {
 
 	/**
-     * 
-     */
+	 * 
+	 */
 	private static final long serialVersionUID = 4988253889884804250L;
 
 	@SpringBean
@@ -76,6 +76,10 @@ public class OpponentListViewPanel extends Panel {
 		super(id);
 		this.adminView = adminView;
 		loadListView(seminarList);
+		feedbackPanel = new FeedbackPanel("feedback");
+		add(feedbackPanel);
+		this.setOutputMarkupId(true);
+		
 		editSeminarDialogContainer = new WebMarkupContainer("dialogContainer");
 		editSeminarDialog = new Dialog("dialog");
 		editSeminarDialog.setModal(true);
@@ -96,7 +100,7 @@ public class OpponentListViewPanel extends Panel {
 		add(contactsSeminarDialog);
 		contactsDialogContainer.setOutputMarkupId(true);
 		contactsDialogContainer.add(contactsSeminarForm = new ContactsSeminarForm(
-				"contactsSeminarForm"));
+		"contactsSeminarForm"));
 		contactsSeminarForm.setOutputMarkupId(true);
 
 		add(linkListView);
@@ -125,7 +129,7 @@ public class OpponentListViewPanel extends Panel {
 				User headSupervisor = seminar.getProject().getHeadSupervisor().getUser();
 
 				headSupervisorString += headSupervisor.getFirstName() + " "
-						+ headSupervisor.getLastName();
+				+ headSupervisor.getLastName();
 				item.add(new Label("headSupervisor", headSupervisorString));
 
 				item.add(new Label("projectClass", seminar.getProject().getProjectClass().getName()));
@@ -191,20 +195,25 @@ public class OpponentListViewPanel extends Panel {
 					@Override
 					public void onClick(AjaxRequestTarget target) {
 						FinalSeminar seminar2 = finalSeminarDao.reLoad(seminar);
-						seminarUploadController.deleteSeminarFilesRecursive(seminar2);
-						for (FinalSeminarActiveParticipation al : seminar2
-								.getActiveParticipations()) {
-							finalSeminarActiveParticipationDao.delete(al);
-						}
+						try{
+							seminarUploadController.deleteSeminarReport(seminar2, true);
+							for (FinalSeminarActiveParticipation al : seminar2
+									.getActiveParticipations()) {
+								finalSeminarActiveParticipationDao.delete(al);
+							}
 
-						for (FinalSeminarOpposition fso : seminar2
-								.getOppositions()) {
-							seminarUploadController.deleteOpponentFiles(fso);
-							finalSeminarOppositionDao.delete(fso);
+							for (FinalSeminarOpposition fso : seminar2
+									.getOppositions()) {
+								seminarUploadController.deleteOpponentFiles(fso);
+								finalSeminarOppositionDao.delete(fso);
+							}
+							finalSeminarDao.delete(seminar2);
+							info("Final seminar deleted");
+						} catch (Exception e){
+							error("Something went wrong, see logs for stacktrace");
+							e.printStackTrace();
 						}
-						finalSeminarDao.delete(seminar2);
-						setResponsePage(AdminFinalSeminarPage.class);
-
+						target.addComponent(OpponentListViewPanel.this);
 					}
 
 					@Override
@@ -227,7 +236,7 @@ public class OpponentListViewPanel extends Panel {
 							@Override
 							public CharSequence decorateScript(CharSequence script) {
 								String ret = "if(!confirm('The attendees of this seminar will NOT be notified that the seminar has been deleted, are you sure you wish to delete it?')) return false; "
-										+ script;
+									+ script;
 								return ret;
 							}
 						};
@@ -243,8 +252,8 @@ public class OpponentListViewPanel extends Panel {
 	private class EditSeminarForm extends Form<OpponentModel> {
 
 		/**
-         * 
-         */
+		 * 
+		 */
 		private static final long serialVersionUID = -5004827722926732419L;
 
 		public EditSeminarForm(String name) {
@@ -257,8 +266,8 @@ public class OpponentListViewPanel extends Panel {
 	private class EditForm extends Form<Void> {
 
 		/**
-         * 
-         */
+		 * 
+		 */
 		private static final long serialVersionUID = 5882957818616996808L;
 
 		public EditForm(String name, final FinalSeminar seminar) {
@@ -290,8 +299,8 @@ public class OpponentListViewPanel extends Panel {
 	private class ContactsSeminarForm extends Form<OpponentModel> {
 
 		/**
-         * 
-         */
+		 * 
+		 */
 		private static final long serialVersionUID = -5004827722926732419L;
 
 		public ContactsSeminarForm(String name) {
@@ -306,8 +315,8 @@ public class OpponentListViewPanel extends Panel {
 	private class ContactsForm extends Form<Void> {
 
 		/**
-         * 
-         */
+		 * 
+		 */
 		private static final long serialVersionUID = -8271761600388217566L;
 
 		public ContactsForm(String name, final FinalSeminar seminar) {
@@ -316,8 +325,8 @@ public class OpponentListViewPanel extends Panel {
 			add(new AjaxButton("contacts", new Model<String>("Details")) {
 
 				/**
-                 * 
-                 */
+				 * 
+				 */
 				private static final long serialVersionUID = 1211337464815824507L;
 
 				@Override
diff --git a/src/main/java/se/su/dsv/scipro/opponent/panels/ProjectFinalSeminarPanel.java b/src/main/java/se/su/dsv/scipro/opponent/panels/ProjectFinalSeminarPanel.java
index aaa19fdec7..1f5223261e 100644
--- a/src/main/java/se/su/dsv/scipro/opponent/panels/ProjectFinalSeminarPanel.java
+++ b/src/main/java/se/su/dsv/scipro/opponent/panels/ProjectFinalSeminarPanel.java
@@ -221,7 +221,7 @@ public class ProjectFinalSeminarPanel extends Panel {
 			public boolean isVisible() {
 
 				return !isSupervisorView && seminar.getActiveParticipations().isEmpty()
-						&& seminar.getOppositions().isEmpty() && seminar.getTurnitinId() != null;
+						&& seminar.getOppositions().isEmpty() && seminar.getTurnitinId() == null;
 			}
 
 			@Override
diff --git a/src/main/java/se/su/dsv/scipro/peer/pages/PeerRequestSubmissionPage.html b/src/main/java/se/su/dsv/scipro/peer/pages/PeerRequestSubmissionPage.html
index f631ee2539..77ceb00a1d 100644
--- a/src/main/java/se/su/dsv/scipro/peer/pages/PeerRequestSubmissionPage.html
+++ b/src/main/java/se/su/dsv/scipro/peer/pages/PeerRequestSubmissionPage.html
@@ -1,86 +1,102 @@
 <!DOCTYPE html>
-<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
+<html
+	xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
 <body>
-<wicket:extend>
-	<div class="span-22">
-		<div wicket:id="feedbackPanel"></div>
-    	<form wicket:id="requestForm" class="wizard-form">
-    		<div class="span-22 last">
-	    		<div class="span-11 colborder">
-		    		<div>
-		    			<fieldset>
-		    				<legend>Step 1 - Read instructions</legend>
-		    				<p>The instructions are located in the box to the right</p>
-		    			</fieldset>
-		    			<fieldset>
-		    				<legend wicket:id="fileUploadLabel">[Step 2 - Attach a file]</legend>
-		    				<input wicket:id="fileUpload" type="file" />
-		    			</fieldset>
-		    			<fieldset>
-		    				<legend>Step 3 - Write review guideline/comment (optional)</legend>
-		    				<textarea wicket:id="comment"></textarea>
-		    			</fieldset>
-		    		</div>
-	    		</div>
-		    	<div class="span-8 last info-box rounded-box">
-					<ul>
-						<li><p>Providing a review template is of great help for the reviewer, browse available templates and try to find an appropriate one!</p></li>
-						<li><p>If you cannot find an suitable review template, make sure to use the review guideline/comment to point out what you'd like feedback on.</p></li>
-						<li><p>If a review template covers too much, make sure to point out questions that you don't feel like they apply</p></li>
-						<li><p>If you're missing relevant questions in the review template, make sure to mention them in the comment.</p></li>
-						<li><p>If you have several files you'd like to attach, compress them to an archived file (ie. zip-file).</p></li>
-						<li><p><strong>Remember that the more guidelines (review template, questions you'd like answered etc.) you provide the reviewer, the greater the chance of a useful review!</strong></p></li>
-					</ul>	    		
+	<wicket:extend>
+		<div class="span-22">
+			<div wicket:id="feedbackPanel"></div>
+			<form wicket:id="requestForm" class="wizard-form">
+				<div class="span-22">
+					<div>
+						<h5 class="peer-title">Step 1 - Read instructions</h5>
+						<ul>
+							<li>Providing a review template is of great help for the
+								reviewer, browse available templates and try to find an
+								appropriate one!</li>
+							<li>If you cannot find an suitable review template, make
+								sure to use the review guideline/comment to point out what you'd
+								like feedback on.</li>
+							<li>If a review template covers too much, make sure to point
+								out questions that you don't feel like they apply</li>
+							<li>If you're missing relevant questions in the review
+								template, make sure to mention them in the comment.</li>
+							<li>If you have several files you'd like to attach, compress
+								them to an archived file (ie. zip-file).</li>
+							<li>Remember that the more guidelines (review template,
+								questions you'd like answered etc.) you provide the reviewer,
+								the greater the chance of a useful review!</li>
+						</ul>
+					</div>
+					<div class="span-22 forcedPaddingBottom">
+						<div class="span-11 first">
+							<h5 class="peer-title" wicket:id="fileUploadLabel">[Step 2 -
+								Attach a file]</h5>
+							<input wicket:id="fileUpload" type="file" style="margin-top:2em;"/>
+						</div>
+						<div class="span-11 last">
+							<h5 class="peer-title">Step 3 - Write review
+								guideline/comment (optional)</h5>
+							<textarea wicket:id="comment"></textarea>
+						</div>
+					</div>
 				</div>
-			</div>
-			<div class="span-22 last">
-				<fieldset>
-					<legend>Step 4 - Select a suitable review template (optional)</legend>
-		    		<div wicket:id="listContainer">
-			    		<table class="rounded-table">
-			    			<tr>
-			    				<th>Select</th>
-			    				<th>Name</th>
-			    				<th>Description</th>
-			    				<th>Questions</th>
-			    				<th>Preview</th>
-			    			</tr>
-			    			<tr>
-			    				<td colspan="5"><i><span wicket:id="noTemplatesFoundMsg"></span></i></td>
-			    			</tr>
-			    			<tr wicket:id="templateList">
-			    				<td><a wicket:id="selectTemplateLink"  href="#">Select</a></td>
-			    				<td><span wicket:id="templateName"></span></td>
-			    				<td><div class="span-8"><span wicket:id="templateDescription"></span></div></td>
-			    				<td><span wicket:id="templateNumQuestions"></span></td>
-			    				<td><a href="#" wicket:id="previewTemplateLink">Preview</a></td>
-			    			</tr>
-			    			<tr><td wicket:id="pager" colspan="5"></td></tr>
-			    		</table>
-		    		</div>
-		    		<div wicket:id="selectedTemplateContainer">
-		    			<strong>Selected template: </strong>
-		    			<span wicket:id="selectedTemplate"></span>
-		    			<a href="#" wicket:id="unSelectTemplateLink">
-		    				<img class="icon-12" src="images/icons/delete_16x16.png" alt="Unselect template"/> Unselect
-		    			</a>
-		    		</div>
-	    		</fieldset>
-	    		
-	    		<fieldset>
-	    			<legend>Step 5 - Submit your request</legend>
-	    			<div wicket:id="feedbackPanel">
-	    				<!-- The feedback panel -->
-	    			</div>
-	    			<div>
-						<button wicket:id="sendRequestButton" class="button">Submit your request for review
-							<img src="css/blueprint/plugins/buttons/icons/tick.png" alt=""/>
+				<div class="span-22">
+					<h5 class="peer-title">Step 4 - Select a suitable review
+						template (optional)</h5>
+					<div wicket:id="listContainer">
+						<table class="rounded-table">
+							<tr>
+								<th>Select</th>
+								<th>Name</th>
+								<th>Description</th>
+								<th>Questions</th>
+								<th>Preview</th>
+							</tr>
+							<tr>
+								<td colspan="5"><i><span
+										wicket:id="noTemplatesFoundMsg"></span>
+								</i>
+								</td>
+							</tr>
+							<tr wicket:id="templateList">
+								<td><a wicket:id="selectTemplateLink" href="#">Select</a>
+								</td>
+								<td><span wicket:id="templateName"></span>
+								</td>
+								<td><div class="span-8">
+										<span wicket:id="templateDescription"></span>
+									</div>
+								</td>
+								<td><span wicket:id="templateNumQuestions"></span>
+								</td>
+								<td><a href="#" wicket:id="previewTemplateLink"><img src="images/icons/document-preview_16x16.png" class="icon-16" alt="Preview template"/></a>
+								</td>
+							</tr>
+							<tr>
+								<td wicket:id="pager" colspan="5"></td>
+							</tr>
+						</table>
+					</div>
+					<div wicket:id="selectedTemplateContainer" class="forcedPaddingBottom">
+						<strong>Selected template: </strong> <span
+							wicket:id="selectedTemplate"></span> <a href="#"
+							wicket:id="unSelectTemplateLink"> <img class="icon-12"
+							src="images/icons/delete_16x16.png" alt="Unselect template" />
+							Unselect </a>
+					</div>
+					<h5 class="peer-title">Step 5 - Submit your request</h5>
+					<div wicket:id="feedbackPanel">
+						<!-- The feedback panel -->
+					</div>
+					<div>
+						<button wicket:id="sendRequestButton" class="button">
+							Submit your request for review <img
+								src="css/blueprint/plugins/buttons/icons/tick.png" alt="" />
 						</button>
-	    			</div>
-	    		</fieldset>
-			</div>
-    	</form>
-    </div>
-</wicket:extend>
+					</div>
+				</div>
+			</form>
+		</div>
+	</wicket:extend>
 </body>
 </html>
\ No newline at end of file
diff --git a/src/main/java/se/su/dsv/scipro/peer/panels/StudentPeerInfoRequestsPanel.html b/src/main/java/se/su/dsv/scipro/peer/panels/StudentPeerInfoRequestsPanel.html
index 404fb4e62d..c103d699bd 100644
--- a/src/main/java/se/su/dsv/scipro/peer/panels/StudentPeerInfoRequestsPanel.html
+++ b/src/main/java/se/su/dsv/scipro/peer/panels/StudentPeerInfoRequestsPanel.html
@@ -6,7 +6,7 @@
 <body>
 <wicket:panel>
 	<div class="append-bottom">
-		<h6>Requests with completed reviews</h6>
+		<h6>Completed reviews</h6>
 		<i wicket:id="noReceivedReviewsCompletedMessage"></i>
 		<ul class="no-list-style small">
 			<li wicket:id="receivedReviewsCompleted">
@@ -20,7 +20,7 @@
 	</div>
 	
 	<div class="append-bottom">
-		<h6>Requests with reviews in progress</h6>
+		<h6>In progress</h6>
 		<i wicket:id="noReceivedReviewsInProgressMessage"></i>
 		<ul class="no-list-style small">
 			<li wicket:id="receivedReviewsInProgress">
@@ -34,7 +34,7 @@
 	</div>
 	
 	<div class="append-bottom">
-		<h6>Requests waiting to be accepted</h6>
+		<h6>Awaiting review</h6>
 		<div wicket:id="peerInfoRequestsFeedback"></div>
 		<i wicket:id="noAwaitingAcceptMsg"></i>
 		<ul class="no-list-style small">
diff --git a/src/main/java/se/su/dsv/scipro/peer/panels/StudentPeerInfoReviewsPanel.html b/src/main/java/se/su/dsv/scipro/peer/panels/StudentPeerInfoReviewsPanel.html
index 4626e86bad..aaa71585ed 100644
--- a/src/main/java/se/su/dsv/scipro/peer/panels/StudentPeerInfoReviewsPanel.html
+++ b/src/main/java/se/su/dsv/scipro/peer/panels/StudentPeerInfoReviewsPanel.html
@@ -6,7 +6,7 @@
 <body>
 <wicket:panel>
 	<div class="append-bottom">
-		<h6>Reviews completed</h6>
+		<h6>Completed</h6>
 		<i wicket:id="noAcceptedReviewsCompletedMessage"></i>
 		<ul class="no-list-style small">
 			<li wicket:id="acceptedReviewsCompleted">
@@ -19,7 +19,7 @@
 	</div>
 	
 	<div class="append-bottom">
-		<h6>Reviews in progress</h6>
+		<h6>In progress</h6>
 		<i wicket:id="noAcceptedInProgressMessage"></i>
 		<ul class="no-list-style small">
 			<li wicket:id="acceptedInProgress">
@@ -32,7 +32,7 @@
 	</div>
 	
 	<div>
-		<h6>Reviews aborted: <span wicket:id="abortedReviews"></span></h6>
+		<h6>Aborted: <span wicket:id="abortedReviews"></span></h6>
 	</div>
 </wicket:panel>
 </body>
diff --git a/src/main/java/se/su/dsv/scipro/project/panels/ProjectTabMenuPanel.java b/src/main/java/se/su/dsv/scipro/project/panels/ProjectTabMenuPanel.java
index d1ad784e74..8ce4db2f10 100644
--- a/src/main/java/se/su/dsv/scipro/project/panels/ProjectTabMenuPanel.java
+++ b/src/main/java/se/su/dsv/scipro/project/panels/ProjectTabMenuPanel.java
@@ -58,7 +58,7 @@ public class ProjectTabMenuPanel extends AbstractMenuPanel {
 
 	@Override
 	protected MenuType getMenuType() {
-		return MenuType.TAB;
+		return MenuType.TAB_MULTIPLE_ROWS;
 	}
 	
 }
diff --git a/src/main/java/se/su/dsv/scipro/repository/icons/document-open-folder.png b/src/main/java/se/su/dsv/scipro/repository/icons/document-open-folder.png
index 98b8a9448a..89eea033be 100644
Binary files a/src/main/java/se/su/dsv/scipro/repository/icons/document-open-folder.png and b/src/main/java/se/su/dsv/scipro/repository/icons/document-open-folder.png differ
diff --git a/src/main/java/se/su/dsv/scipro/repository/icons/folder-documents.png b/src/main/java/se/su/dsv/scipro/repository/icons/folder-documents.png
index c02a648a50..a6c11bb0e7 100644
Binary files a/src/main/java/se/su/dsv/scipro/repository/icons/folder-documents.png and b/src/main/java/se/su/dsv/scipro/repository/icons/folder-documents.png differ
diff --git a/src/main/java/se/su/dsv/scipro/repository/panels/AbstractFilePanel.html b/src/main/java/se/su/dsv/scipro/repository/panels/AbstractFilePanel.html
index d1cd51adda..bce6646f81 100644
--- a/src/main/java/se/su/dsv/scipro/repository/panels/AbstractFilePanel.html
+++ b/src/main/java/se/su/dsv/scipro/repository/panels/AbstractFilePanel.html
@@ -64,7 +64,7 @@
 		<tbody>
 			<tr>
 				<td></td>
-				<td><a href="#" wicket:id="up">[..]</a></td>
+				<td><a href="#" wicket:id="up"><img src="images/icons/daisyIcons/plain/folder_up.png" class="icon-24" alt="Parent folder"/></a></td>
 			</tr>
 		</tbody>
 		
@@ -72,7 +72,7 @@
 
 			<tr wicket:id="content">
 				<td><a href="delete" wicket:id="delete"><img src="images/icons/edit-delete_16x16.png" alt="X" /></a></td>
-				<td><a href="#" wicket:id="link"><img wicket:id="folderIcon" src="#" alt="folderIcon" /> <span wicket:id="name">name</span></a></td>
+				<td><a href="#" wicket:id="link"><img wicket:id="folderIcon" src="#" alt="folderIcon" class="icon-24"/> <span wicket:id="name">name</span></a></td>
 				<td><span wicket:id="created"></span></td>
 			</tr>
 		</tbody>
diff --git a/src/main/java/se/su/dsv/scipro/wiquery/mainmenu/MainMenuJavascriptResourceReference.java b/src/main/java/se/su/dsv/scipro/wiquery/mainmenu/MainMenuJavascriptResourceReference.java
deleted file mode 100644
index e8be4f6e39..0000000000
--- a/src/main/java/se/su/dsv/scipro/wiquery/mainmenu/MainMenuJavascriptResourceReference.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package se.su.dsv.scipro.wiquery.mainmenu;
-
-import org.apache.wicket.markup.html.resources.JavascriptResourceReference;
-
-public class MainMenuJavascriptResourceReference extends
-        JavascriptResourceReference {
-
-    private static final long serialVersionUID = -5062441830192125794L;
-    
-    private static MainMenuJavascriptResourceReference INSTANCE = 
-        new MainMenuJavascriptResourceReference();
-    
-    private MainMenuJavascriptResourceReference() {
-        super(MainMenuJavascriptResourceReference.class, "jquery.mainmenu.js");
-    }
-    
-    public static MainMenuJavascriptResourceReference get() {
-        return INSTANCE;
-    }
-}
diff --git a/src/main/java/se/su/dsv/scipro/wiquery/mainmenu/jquery.mainmenu.js b/src/main/java/se/su/dsv/scipro/wiquery/mainmenu/jquery.mainmenu.js
deleted file mode 100644
index 7efe8da153..0000000000
--- a/src/main/java/se/su/dsv/scipro/wiquery/mainmenu/jquery.mainmenu.js
+++ /dev/null
@@ -1,49 +0,0 @@
-$(document).ready(function() {
-		$("img.nav-arrow").click(function() {
-		var parent = $(this).parents(".parent");
-		if (parent != null)
-			showMenu(parent);
-	})
-	.mouseover(function() {
-		//$(this).attr("src", "./images/site_nav_arrow_hover.png");
-	})
-	.mouseout(function() {
-		//$(this).attr("src", "./images/site_nav_arrow.png");
-	});
-	
-	$(document).click(function(e) {
-		if ($(e.target).parents("#nav-list").length == 0) {
-			closeMenus(null);
-		}
-	});
-	
-	$(document).mouseover(function(e) {
-		if ($(e.target).parents("#main-nav").length == 0) {
-			closeMenus(null);
-		}
-	});
-	
-	addCurrentClassToIdentifier = function(identifier) {
-		var t = $("#nav-list").find(identifier).parents(".nav-list-item").get(0);
-		$(t).addClass("current");
-	};
-	
-	closeMenus = function(node) {
-		$("#nav-list .parent").children(".over").each(function() {
-			if (this != node || node == null) {
-				$(this).removeClass("over");
-			}
-		});
-	};
-
-	showMenu = function(node) {
-		var thisMenu = $(node);
-		var isActive = $(node).find("div.submenu").hasClass("over");
-		closeMenus(thisMenu);
-		if (!isActive) {
-			thisMenu.find("div.submenu").toggleClass("over");
-		}
-	};
-	
-	addCurrentClassToIdentifier("#current");
-});
\ No newline at end of file
diff --git a/src/main/webapp/css/menu.css b/src/main/webapp/css/menu.css
index 9a83ca77c0..ea13b18f47 100644
--- a/src/main/webapp/css/menu.css
+++ b/src/main/webapp/css/menu.css
@@ -1,98 +1,14 @@
-#main-nav {
-	
-}
-
-#nav-list {
-	margin-top: 4px;
-	z-index: 8001;
-}
-
-#nav-list li.nav-list-item {
-	float: left;
-	display: inline;
-	margin: 5px 8px 0 8px;
-	position: relative;
-}
-
-#nav-list li.nav-list-item .menu-item {
-	display: block;
-	height: 23px;
-	padding: 4px 2px 3px 2px;
-}
-#nav-list li.nav-list-item .menu-item a {
-	color: #fff;
-	font: 1.1em/1.5 arial, sans-serif;
-	font-weight: bold;
-	text-decoration: none;
-	padding: 0px 4px;
-}
-#nav-list li.nav-list-item .menu-item > a#current {
-	/* padding: 0 10px 7px 10px;
-	border-bottom: 5px solid #ccc; */
-}
-.menu-item img.nav-arrow {
-	vertical-align: middle;
-	width: 23px;
-	height: 23px;
-	margin-left: 4px;
-	margin-right: -3px;
-}
-
-#nav-list a#current {
-	/* Feel free to replace with something nicer */
-	/* padding-bottom: 7px; */
-	/* border-bottom: 5px solid #ccc; */
-}
-#nav-list li.current .menu-item,
-#nav-list li.nav-list-item:hover .menu-item {
-	background-color: #fff;
-	-webkit-border-top-left-radius: 4px;
-	-moz-border-radius-topleft: 4px;
-	border-top-left-radius: 4px;
-	-webkit-border-top-right-radius: 4px;
-	-moz-border-radius-topright: 4px;
-	border-top-right-radius: 4px;
-	text-decoration: none;
-}
-#nav-list li.current .menu-item a,
-#nav-list li.nav-list-item:hover .menu-item a {
-	color: #002f5f;
-}
-
-#nav-list li.nav-list-item.parent .submenu {
-	position: absolute;
-	top: 30px;
-	left: -1px;
-	width: 140px;
-	background: #fff;
-	padding: 5px;
-	display: none;
-	border-bottom: 1px solid #ccc;
-	border-left: 1px solid #ccc;
-	border-right: 1px solid #ccc;
-	z-index: 8000;
-}
-#nav-list li.nav-list-item.parent .over {
-	display: block;
-}
-#nav-list li.nav-list-item.parent .submenu {
-	font-size: 0.9em;
-	
-}
-#nav-list li.nav-list-item.parent .submenu a:link,
-#nav-list li.nav-list-item.parent .submenu a:visited,
-#nav-list li.nav-list-item.parent .submenu a:hover {
-	display: block;
-	padding: 4px;
-	text-decoration: none;
-}
-
-#main-nav #user-links {
-	margin-top: 5px;
+.user-links{
+	margin-top:5px;
 	font-size: 0.9em;
 	text-align: right;
 }
-
-#main-nav #user-links a {
+.user-links a{
 	color: #99acbf;
+}
+.main-menu{
+	float:left;
+}
+.service-menu{
+	float: right;
 }
\ No newline at end of file
diff --git a/src/main/webapp/css/scipro.css b/src/main/webapp/css/scipro.css
index a607f46718..0bd1fd7ae7 100644
--- a/src/main/webapp/css/scipro.css
+++ b/src/main/webapp/css/scipro.css
@@ -63,6 +63,7 @@ img.department-logotype {
 #main-content {
 	min-height: 500px;
 	background: url('../images/background.png') repeat-y;
+	padding-bottom: 1.5em;
 }
 
 #main-content h1,
@@ -236,6 +237,10 @@ ul.no-list-style li {
 	margin-left: -1.5em;
 }
 
+.rounded-table,
+.rounded-table-top{
+	padding-top: 0.5em;
+}
 .rounded-table th,
 .rounded-table-top th {
 	background: #ccc;	
@@ -831,7 +836,6 @@ td.active {
 	text-align:right;
 	white-space: nowrap;
 }
-
 .question-rounded-box { 
 	font-size: 0.9em; 
 	padding:1.5em; 
@@ -930,7 +934,9 @@ h5.peer-box-subtitle {
 .shortened-table-header {
 	cursor: help;
 }
-
+.forcedPaddingBottom{
+	padding-bottom: 1.5em;
+}
 table.seminar-table {
 	font-size: 0.9em;
 }
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/about.png b/src/main/webapp/images/icons/daisyIcons/plain/about.png
new file mode 100644
index 0000000000..f49ee9f52b
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/about.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/add2.png b/src/main/webapp/images/icons/daisyIcons/plain/add2.png
new file mode 100644
index 0000000000..25afcff531
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/add2.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/bullet_ball_glass_blue.png b/src/main/webapp/images/icons/daisyIcons/plain/bullet_ball_glass_blue.png
new file mode 100644
index 0000000000..9b48dd2034
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/bullet_ball_glass_blue.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/bullet_ball_glass_green.png b/src/main/webapp/images/icons/daisyIcons/plain/bullet_ball_glass_green.png
new file mode 100644
index 0000000000..e14d3a017f
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/bullet_ball_glass_green.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/bullet_ball_glass_red.png b/src/main/webapp/images/icons/daisyIcons/plain/bullet_ball_glass_red.png
new file mode 100644
index 0000000000..776fac7269
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/bullet_ball_glass_red.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/bullet_ball_glass_yellow.png b/src/main/webapp/images/icons/daisyIcons/plain/bullet_ball_glass_yellow.png
new file mode 100644
index 0000000000..a5a2f617c2
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/bullet_ball_glass_yellow.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/check.png b/src/main/webapp/images/icons/daisyIcons/plain/check.png
new file mode 100644
index 0000000000..1cced5b5a2
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/check.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/check2.png b/src/main/webapp/images/icons/daisyIcons/plain/check2.png
new file mode 100644
index 0000000000..a144c40770
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/check2.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/copy.png b/src/main/webapp/images/icons/daisyIcons/plain/copy.png
new file mode 100644
index 0000000000..fde32253cd
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/copy.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/delete2.png b/src/main/webapp/images/icons/daisyIcons/plain/delete2.png
new file mode 100644
index 0000000000..e24f744391
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/delete2.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/document.png b/src/main/webapp/images/icons/daisyIcons/plain/document.png
new file mode 100644
index 0000000000..2c001f69dd
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/document.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/document_add.png b/src/main/webapp/images/icons/daisyIcons/plain/document_add.png
new file mode 100644
index 0000000000..aac984195b
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/document_add.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/document_down.png b/src/main/webapp/images/icons/daisyIcons/plain/document_down.png
new file mode 100644
index 0000000000..35ade52942
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/document_down.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/document_edit.png b/src/main/webapp/images/icons/daisyIcons/plain/document_edit.png
new file mode 100644
index 0000000000..b78dc0037e
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/document_edit.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/documents.png b/src/main/webapp/images/icons/daisyIcons/plain/documents.png
new file mode 100644
index 0000000000..51f6aa1e6c
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/documents.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/folder_add.png b/src/main/webapp/images/icons/daisyIcons/plain/folder_add.png
new file mode 100644
index 0000000000..78ddbbbac4
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/folder_add.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/folder_closed.png b/src/main/webapp/images/icons/daisyIcons/plain/folder_closed.png
new file mode 100644
index 0000000000..89eea033be
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/folder_closed.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/folder_delete.png b/src/main/webapp/images/icons/daisyIcons/plain/folder_delete.png
new file mode 100644
index 0000000000..18f4baa280
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/folder_delete.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/folder_document.png b/src/main/webapp/images/icons/daisyIcons/plain/folder_document.png
new file mode 100644
index 0000000000..a6c11bb0e7
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/folder_document.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/folder_edit.png b/src/main/webapp/images/icons/daisyIcons/plain/folder_edit.png
new file mode 100644
index 0000000000..71726bce4a
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/folder_edit.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/folder_up.png b/src/main/webapp/images/icons/daisyIcons/plain/folder_up.png
new file mode 100644
index 0000000000..d3fbff15bc
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/folder_up.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/folder_view.png b/src/main/webapp/images/icons/daisyIcons/plain/folder_view.png
new file mode 100644
index 0000000000..3aa65417ad
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/folder_view.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/gear.png b/src/main/webapp/images/icons/daisyIcons/plain/gear.png
new file mode 100644
index 0000000000..e0dd63cb22
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/gear.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/help2.png b/src/main/webapp/images/icons/daisyIcons/plain/help2.png
new file mode 100644
index 0000000000..1e671d6d10
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/help2.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/navigate_close.png b/src/main/webapp/images/icons/daisyIcons/plain/navigate_close.png
new file mode 100644
index 0000000000..51aa3f2ca8
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/navigate_close.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/navigate_left.png b/src/main/webapp/images/icons/daisyIcons/plain/navigate_left.png
new file mode 100644
index 0000000000..3b510ec6e8
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/navigate_left.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/navigate_left2.png b/src/main/webapp/images/icons/daisyIcons/plain/navigate_left2.png
new file mode 100644
index 0000000000..4280a3896a
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/navigate_left2.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/navigate_open.png b/src/main/webapp/images/icons/daisyIcons/plain/navigate_open.png
new file mode 100644
index 0000000000..c00c19ae63
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/navigate_open.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/navigate_right.png b/src/main/webapp/images/icons/daisyIcons/plain/navigate_right.png
new file mode 100644
index 0000000000..1a91320823
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/navigate_right.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/navigate_right2.png b/src/main/webapp/images/icons/daisyIcons/plain/navigate_right2.png
new file mode 100644
index 0000000000..7f838b63f0
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/navigate_right2.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/star_blue.png b/src/main/webapp/images/icons/daisyIcons/plain/star_blue.png
new file mode 100644
index 0000000000..ca898a2944
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/star_blue.png differ
diff --git a/src/main/webapp/images/icons/daisyIcons/plain/user1.png b/src/main/webapp/images/icons/daisyIcons/plain/user1.png
new file mode 100644
index 0000000000..014e5deca5
Binary files /dev/null and b/src/main/webapp/images/icons/daisyIcons/plain/user1.png differ
diff --git a/src/main/webapp/styles/global.css b/src/main/webapp/styles/global.css
deleted file mode 100644
index f310472cf1..0000000000
--- a/src/main/webapp/styles/global.css
+++ /dev/null
@@ -1,230 +0,0 @@
-@CHARSET "UTF-8";
-
-html, body {
-	font-family: Calibri, Tahoma, Verdana, sans-serif;
-	margin: 0 0 0 0;
-	padding: 0 0 0 0;
-	font-size: 0.94em;
-	line-height: 1.5em;
-	padding-top: 30px;
-}
-
-h1, h2, h3 {
-	font-family: Cambria, Tahoma, Verdana, sans-serif;
-}
-
-#container {
-	width: 960px;
-	margin: auto;
-}
-
-#ajax-loader {
-	z-index:9999;
-	position: fixed;
-	top: 0;
-	left: 0;
-	width: 80px;
-	height: 30px;
-	background-color: #FFFF80;
-	border-bottom: 1px solid black;
-	border-right: 1px solid black;		
-}
-
-#veil {
-	opacity:0.3;
-	filter:alpha(opacity=50);
-	position:absolute;
-	width: 100%;
-	height: 100%;
-	z-index:9998;
-	background-color: white;
-}
-
-#veil-loader {
-	z-index:9999;
-	position: absolute;
-	top: 30%;
-	left: 45%;
-	width: 100px;
-	height: 100px;
-	background: url(../images/ajax-loader.gif) center no-repeat;	
-}
-
-p.inline {
-	display: inline;	
-}
-
-.connectedSortable {
-	cursor: move;	
-}
-
-.float-right {
-	float:right;
-}
-
-.float-left {
-	float:left;	
-}
-
-td.icon,
-span.icon {
-	padding-left: 20px;
-	line-height: 20px; /* To center the text vertically with the icon */
-}
-
-span.floating-icon {
-	width: 20px;
-	height: 20px;
-}
-
-td.icon-button,
-span.icon-button {
-	cursor: pointer;	
-}
-
-td.icon-user,
-span.icon-user { /*The background image*/
-	background: url(../images/user.png) no-repeat left center;
-}
-
-td.icon-project,
-span.icon-project { /*The background image*/
-	background: url(../images/project.png) no-repeat left center;
-}
-
-td.icon-arrowDown,
-span.icon-arrowDown {
-	background: url(../images/icons/arrow-down.png) no-repeat left center;	
-}
-
-td.icon-plus,
-span.icon-plus {
-	background: url(../images/icons/add.gif) no-repeat left center;
-}
-
-td.icon-minus,
-span.icon-minus {
-	background: url(../images/icons/minus.gif) no-repeat left center;
-}
-
-td.icon-check,
-span.icon-check {
-	background: url(../images/icons/circle-check.png) no-repeat left center;
-}
-
-td.icon-pencil,
-span.icon-pencil { /*The background image*/
-	background: url(../images/icons/pencil.png) no-repeat left center;
-}
-
-td.icon-delete,
-span.icon-delete { /*The background image*/
-	background: url(../images/icons/circle-delete.png) no-repeat left center;
-}
-
-td.icon-zoom-in,
-span.icon-zoom-in { /*The background image*/
-	background: url(../images/icons/zoom-in.png) no-repeat left center;
-}
-
-.bordered-box {
-	border: 1px solid #CCE6FF;
-	padding: 0.5em 0.5em;
-}
-
-.float-left {
-	float: left;
-}
-
-.float-right {
-	float: right;
-}
-
-.boxContent {
-	margin: 0.5em 0.5em;
-}
-
-.boxContent h4 {
-	border: 1px solid #0099CC;
-	background-color: #CCE6FF;
-	padding: 0.3em 0.3em;
-}
-
-.dashboardBox {
-	border: 1px solid #3300CC;
-	width: 50em;
-	min-height: 10em;
-}
-
-.dashboardBox h3 {
-	border-bottom: 1px solid #3300CC;
-	background-color: blue;
-	color: white;
-	padding: 0.2em;
-	margin: 0 0;
-}
-
-form.div {
-	display:block;	
-}
-
-form.formRow {
-	display: inline;	
-}
-
-#schedulePlannerCtrlContainer {
-	border: 1px solid #CCE6FF;
-}
-
-#schedulePlannerCtrlContainer ul {
-	list-style-type: none;
-	display: inline;
-}
-
-.scheduleEventList {
-	margin: 1em 0;
-}
-
-.scheduleEvent {
-	padding: 0.2em 0.2em;
-	-webkit-border-radius: 3px;
-	background-color: #E5F3FF;
-	border: 1px solid #B3DBFF;
-}
-
-.scheduleEventHeader {
-	padding: 0.4em 0.2em;
-}
-
-.scheduleEventHeaderBar {
-	margin-left: 0.5em;	
-}
-
-.scheduleEventHeaderBar img {
-	float:left;
-	margin-right: 1em;
-	margin-left: 0.5em;
-}
-
-.scheduleEventHeaderBar span {
-	display: inline;
-	margin-left: 0.1em;
-}
-
-.scheduleEventIconbar {
-	margin: 0.4em 1em;
-	padding: 0.3em;
-}
-
-.scheduleEventContent {
-	padding: 0.3em 0.5em;
-	width: 45em;
-}
-
-.scheduleEventFooter {
-	margin-top: 1em;
-}
-
-form.dialogForm {
-	font-size: 0.9em;	
-}
\ No newline at end of file