diff --git a/src/main/java/org/olat/core/commons/chiefcontrollers/_content/langchooser.html b/src/main/java/org/olat/core/commons/chiefcontrollers/_content/langchooser.html
index 695ffbfeaa62edc291919f93012727ab2228fe1c..b0c3842f0c0206901b8effcaa899464909598dad 100644
--- a/src/main/java/org/olat/core/commons/chiefcontrollers/_content/langchooser.html
+++ b/src/main/java/org/olat/core/commons/chiefcontrollers/_content/langchooser.html
@@ -1,6 +1,4 @@
-<div class="b_float_left">
-	$r.translate("select.language")
-</div>
-<div class="b_with_small_icon_left b_flag_${languageCode} b_float_left">
-	$r.render("select.language")
-</div>
\ No newline at end of file
+$r.translate("select.language")
+<span class="o_flag o_flag_${languageCode}"></span>
+$r.render("select.language")
+
diff --git a/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java b/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java
index 8d3160e64adfc94a991723a7d812e2d3a749ea6c..458979066cfab31cd640b6880e37abf1f907981a 100644
--- a/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java
+++ b/src/main/java/org/olat/core/commons/fullWebApp/BaseFullWebappController.java
@@ -811,11 +811,11 @@ public class BaseFullWebappController extends BasicController implements Generic
 			link.setAccessKey("s");
 			// add close links
 			Link calink = LinkFactory.createCustomLink("ca" + dtabCreateCounter, "ca" + dtabCreateCounter, "", Link.NONTRANSLATED, navVc, this);
-			calink.setCustomEnabledLinkCSS("b_nav_tab_close");
+			calink.setCustomEnabledLinkCSS("o_navbar_tab_close");
 			calink.setTitle(translate("close"));
 			calink.setUserObject(dt);
 			Link cplink = LinkFactory.createCustomLink("cp" + dtabCreateCounter, "cp" + dtabCreateCounter, "", Link.NONTRANSLATED, navVc, this);
-			cplink.setCustomEnabledLinkCSS("b_nav_tab_close");
+			cplink.setCustomEnabledLinkCSS("o_navbar_tab_close");
 			cplink.setTitle(translate("close"));
 			cplink.setUserObject(dt);
 
diff --git a/src/main/java/org/olat/core/commons/fullWebApp/_content/defaultfooter.html b/src/main/java/org/olat/core/commons/fullWebApp/_content/defaultfooter.html
index 9c3f57880a753e85c0a71792425c619b84f65570..bb61dbf14a1ac9da7b72be6310173e58a7bcd8e5 100644
--- a/src/main/java/org/olat/core/commons/fullWebApp/_content/defaultfooter.html
+++ b/src/main/java/org/olat/core/commons/fullWebApp/_content/defaultfooter.html
@@ -1,18 +1,20 @@
-<div id="b_footer_user">
-    #if($ajaxOn)
-	<a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29" target="_blank" title="$r.translateInAttribute("footer.ajax.hover")" class="b_ajax"></a>
-	#end
-	#if ($loggedIn)
-    $r.translate("footer.logged.in.as", ["$username"])  &nbsp;&nbsp;&nbsp; ($userSessionsCnt $r.translate("footer.users.online"))
-    #else
-	    $r.translate("footer.not.logged.in") &nbsp;&nbsp;&nbsp; ($userSessionsCnt $r.translate("footer.users.online"))    
-    #end
+<div class="container-fluid">
+	<div id="b_footer_user" class="col-sm-4">
+	    #if($ajaxOn)
+		<a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29" target="_blank" title="$r.translateInAttribute("footer.ajax.hover")" class="b_ajax"></a>
+		#end
+		#if ($loggedIn)
+	    $r.translate("footer.logged.in.as", ["$username"])  &nbsp;&nbsp;&nbsp; ($userSessionsCnt $r.translate("footer.users.online"))
+	    #else
+		    $r.translate("footer.not.logged.in") &nbsp;&nbsp;&nbsp; ($userSessionsCnt $r.translate("footer.users.online"))    
+	    #end
+	</div>
+	
+	<div id="b_footer_version" class="col-sm-4">
+		<a href="http://www.openolat.org"  title="OpenOLAT" target="_blank">$olatversion</a>
+	</div>	
+	
+	<div id="b_footer_powered" class="col-sm-4">
+		<a href="http://www.openolat.org" target="_blank" title="OpenOLAT"><img border="0" src="$r.staticLink("images/openolat/openolat_powerd_by_120x30.png")" alt="Brasato framework" /></a>
+	</div>
 </div>
-
-<div id="b_footer_version">
-	<a href="http://www.openolat.org"  title="OpenOLAT" target="_blank">$olatversion</a>
-</div>	
-
-<div id="b_footer_powered">
-	<a href="http://www.openolat.org" target="_blank" title="OpenOLAT"><img border="0" src="$r.staticLink("images/openolat/openolat_powerd_by_120x30.png")" alt="Brasato framework" /></a>
-</div>
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/commons/fullWebApp/_content/fullwebapplayout.html b/src/main/java/org/olat/core/commons/fullWebApp/_content/fullwebapplayout.html
index af874f7aeaa13fbd9b9729bc95396e936ddcf9d4..49349f9a42915dac49e98cbd9bac1d90f3e4dbf4 100644
--- a/src/main/java/org/olat/core/commons/fullWebApp/_content/fullwebapplayout.html
+++ b/src/main/java/org/olat/core/commons/fullWebApp/_content/fullwebapplayout.html
@@ -1,59 +1,44 @@
-## ---- START #b_page_margins #b_page_wrapper
-<div id="b_page_margins"><div id="b_page_wrapper">
-## special classes for border styling, see YAML book chapter 4.5.7 for more information
-<div id="b_border-top">
-	<div id="b_edge-lt"></div>
-	<div id="b_edge-rt"></div>
+<a id='o_top' name="o_top"></a>
+<div id="o_beta_logo"></div>
+	
+## ---- START #o_header ---
+<div id="o_header"> 
+	<div id="o_logo"></div>
+	<div id="o_right_logo"></div>
+	
+	## something to be displayed in the header, a logo, some ads, whatever
+	#if($r.available("headerComponent"))
+		$r.render("headerComponent")
+	#end
 </div>
-## ---- START #b_page
-<div id="b_page">
-<a id='b_top' name="b_top"></a>
-<div id="b_beta_logo"></div>
+## ---- END #o_header ---	
 
-## ---- START #b_header ---
-<div id="b_header">
+## ---- START #o_navbar ---
+<div id="o_navbar" class="navbar navbar-default" role="navigation">
+	<div id="o_navbar_container" class="container-fluid">
 
-## ---- START Access keys to improve accessability
-## not visible for normal browser
-<span class="b_skip">$r.translate("accesskey.title")</span>
-<a accesskey="0" class="b_skip" href="#b_top">0: $r.translate("accesskey.top")</a>
-<a accesskey="n" class="b_skip" href="#b_nav">n: $r.translate("accesskey.nav")</a>
-<span class="b_skip">$r.translate("accesskey.sites")</span>
-<span class="b_skip">$r.translate("accesskey.tabs")</span>
-<a accesskey="o" class="b_skip" href="#b_topnav">o: $r.translate("accesskey.topnav")</a>
-<a accesskey="m" class="b_skip" href="#b_col1">m: $r.translate("accesskey.menu")</a>
-<a accesskey="c" class="b_skip" href="#b_col3">c: $r.translate("accesskey.content")</a>
-<a accesskey="t" class="b_skip" href="#b_col2">t: $r.translate("accesskey.tools")</a>
-<a accesskey="a" class="b_skip" href="#b_table">a: $r.translate("accesskey.table")</a>
-<a accesskey="d" class="b_skip" href="#b_modal">d: $r.translate("accesskey.modal")</a>
-<span class="b_skip">b: $r.translate("accesskey.back")</span>
-<span class="b_skip">$r.translate("accesskey.changes")</span>
-## don't use numbers as access keys - reserved for the addressing of opened tabs
-## ---- END Access keys
+	    <div id="o_navbar_header" class="navbar-header">
+	      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+	        <span class="sr-only">Toggle navigation</span>
+	        <span class="icon-bar"></span>
+	        <span class="icon-bar"></span>
+	        <span class="icon-bar"></span>
+	      </button>
+	      <a class="navbar-brand" href="#"></a>
+	    </div>
 
-<div id="b_logo"></div>
-<div id="b_right_logo"></div>
-<!-- end diff -->
-## something to be displayed in the header, a logo, some ads, whatever
-#if($r.available("headerComponent"))
-	$r.render("headerComponent")
-#end
-## top nav usually placed top left. Previously named upperRightCorner
-#if($r.available("topnavComponent"))
-	<div id="b_topnav">
-		<a name="b_topnav"></a>
-		$r.render("topnavComponent")
-	</div>
-#end
-</div>
-## ---- END #b_header ---	
 
-## ---- START #b_nav sites navigation
-<div id="b_nav">
-	<a name="b_nav"></a>
-	$r.render("navComponent")
+		<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+			## sites and tabs
+			$r.render("navComponent")
+			## tools
+			#if($r.available("topnavComponent"))
+					$r.render("topnavComponent")
+			#end	
+		</div>
+	</div>
 </div>
-## ---- END #b_nav ---
+## ---- END #o_navbar ---
 
 #if($hasStickyMessage)
 <div id="b_msg_sticky">
@@ -63,30 +48,26 @@
 </div>
 #end
 
-## ------ START #b_main -----
-	$r.render("main")
-## END MAIN
-
-<a id="b_toplink" href="#b_top" onclick="jQuery('#b_body').scrollTop(0);" title="$r.translateInAttribute("top.alt")">$r.translate("top")</a>	
-</div>
-## ---- END #b_page
+## ------ START #o_main -----
+<div id="o_main">
+	<div id="o_main_container" class="container-fluid">
+		$r.render("main")
+		<a id="o_toplink" href="#o_top" onclick="jQuery('#b_body').scrollTop(0);" title="$r.translateInAttribute("top.alt")">
+			<span class="glyphicon glyphicon-arrow-up"></span>
+			$r.translate("top")
+		</a>	
+	</div>
 </div>
-## ---- END #b_page_wrapper
-
+## END #o_main -----
 
 ## ----- START #b_footer ----------
-<div id="b_footer" class="b_clearfix">
-	<div class="b_floatbox">
+<div id="o_footer">
 	#if($r.available("footerComponent"))
 		$r.render("footerComponent")
 	#end
-	</div>
 </div>
 ## ---- END #b_footer ---
 
-</div>
-## ---- END  #b_page_margins
-
 ## ---- START #b_messages
 ## Messages are absolute positioned using EXT, thus it's ok to have them at the end of the page. 
 ## This prevents an ugly IE bug that appears when the messages are at the top of the page.
diff --git a/src/main/java/org/olat/core/commons/fullWebApp/_content/nav.html b/src/main/java/org/olat/core/commons/fullWebApp/_content/nav.html
index 0e525b354d1797f85be3132ea03e899a41e41259..ca9293a51bac8d2b80fd83a6f50a3681be078d3c 100644
--- a/src/main/java/org/olat/core/commons/fullWebApp/_content/nav.html
+++ b/src/main/java/org/olat/core/commons/fullWebApp/_content/nav.html
@@ -1,42 +1,38 @@
-<div id="b_nav_main">
-<ul>
 ## ---- START sites tabs ---
+<ul id="o_navbar_sites" class="nav navbar-nav">
 #foreach ($site in $sites)
 	#set ($siteEl = $r.getComponent("$site"))
 	#set ($navel = $siteEl.userObject.getNavElement())
-	<li class='b_nav_site #if($tabhelper.isSiteActive($siteEl.userObject)) b_nav_active #end $!navel.getIconCSSClass()'>
-		<div> ## div used for site icon
-			$r.render("$site")
-		</div>
+	<li class='#if($tabhelper.isSiteActive($siteEl.userObject)) active #end $!navel.getIconCSSClass()'>
+		$r.render("$site")
 	</li>
 #end
+</ul>
 ## ---- END sites tabs ---
-	<li id="b_nav_spacer"></li> ##spacer between sites and tabs
+
 ## ---- START dynamic tabs ---
+<ul id="o_navbar_tabs"  class="nav navbar-nav">
 #foreach ($dtab in $dtabs)
 	#set ($navel = $dtab.getNavElement())
 	#set ($pos=${velocityCount} - 1)
 	#set ($postfix=$dtabsLinkNames.get(${pos}))
 	#if($tabhelper.isDTabActive($dtab))
-	<li class="b_nav_tab b_nav_active $!navel.getIconCSSClass()">
-		<div> ## div used for tab icon
-			$r.render("a$postfix")
-			#if($tabhelper.isCanCloseDTab($dtab))
-				$r.render("cp$postfix")	 ## close link has class b_nav_tab_close
-			#end
-		</div>
+	<li class="active $!navel.getIconCSSClass()">
+		$r.render("a$postfix")
+		#if($tabhelper.isCanCloseDTab($dtab))
+			$r.render("cp$postfix")	 ## close link has class b_nav_tab_close
+		#end
 	</li>
 	#else
-	<li class="b_nav_tab $!navel.getIconCSSClass()">
-		<div> ## div used for tab icon
-			$r.render("a$postfix")
-			$r.render("cp$postfix")  ## close link has class b_nav_tab_close
-		</div>
+	<li class="$!navel.getIconCSSClass()">
+		$r.render("a$postfix")
+		$r.render("cp$postfix")  ## close link has class b_nav_tab_close
 	</li>
 	#end
 #end
-## ---- END dynamic tabs ---
 </ul>
+## ---- END dynamic tabs ---
+
 #if($pageTitle)
 	<script type="text/javascript">
 	/* <![CDATA[ */ 
@@ -44,4 +40,3 @@
 	/* ]]> */
 	</script>
 #end
-</div>
diff --git a/src/main/java/org/olat/gui/control/OlatTopNavController.java b/src/main/java/org/olat/gui/control/OlatTopNavController.java
index 3f309e617503f81436b27f160ed9339d019be718..85659158a252270bdc995465a1b08bfb05b881db 100644
--- a/src/main/java/org/olat/gui/control/OlatTopNavController.java
+++ b/src/main/java/org/olat/gui/control/OlatTopNavController.java
@@ -46,9 +46,9 @@ import org.olat.core.gui.control.Event;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.gui.control.controller.BasicController;
 import org.olat.core.gui.control.creator.ControllerCreator;
-import org.olat.core.gui.control.generic.closablewrapper.CloseableCalloutWindowController;
 import org.olat.core.gui.control.generic.popup.PopupBrowserWindow;
 import org.olat.core.id.OLATResourceable;
+import org.olat.core.id.UserConstants;
 import org.olat.core.util.StringHelper;
 import org.olat.core.util.event.EventBus;
 import org.olat.core.util.event.GenericEventListener;
@@ -65,6 +65,7 @@ import org.olat.search.SearchServiceUIFactory.DisplayOption;
 import org.olat.search.ui.SearchInputController;
 import org.olat.user.DisplayPortraitManager;
 import org.olat.user.UserManager;
+import org.olat.user.propertyhandlers.GenderPropertyHandler;
 
 /**
  * 
@@ -76,15 +77,15 @@ public class OlatTopNavController extends BasicController implements GenericEven
 	
 	private static final String ACTION_LOGOUT = "logout";
 	private SearchInputController searchC;
-	private Link helpLink, loginLink, impressumLink, myMenuLink;
+	private Link helpLink, loginLink, impressumLink;
 
 	private VelocityContainer menuVC;
 	private VelocityContainer topNavVC;
 	private InstantMessagingMainController imController;
-	private CloseableCalloutWindowController calloutCtr;
 	
 	private EventBus singleUserEventCenter;
 	private final DisplayPortraitManager portraitManager;
+	private final UserManager userManager;
 	private OLATResourceable ass;
 	
 	public OlatTopNavController(UserRequest ureq, WindowControl wControl) {
@@ -96,6 +97,7 @@ public class OlatTopNavController extends BasicController implements GenericEven
 		
 		topNavVC = createVelocityContainer("topnav");
 		portraitManager = DisplayPortraitManager.getInstance();
+		userManager = UserManager.getInstance();
 		
 		boolean isGuest = ureq.getUserSession().getRoles().isGuestOnly();
 		boolean isInvitee = ureq.getUserSession().getRoles().isInvitee();
@@ -140,38 +142,35 @@ public class OlatTopNavController extends BasicController implements GenericEven
 			singleUserEventCenter = ureq.getUserSession().getSingleUserEventCenter();
 			singleUserEventCenter.registerFor(this, getIdentity(), ass);
 			
-			UserManager userManager = CoreSpringFactory.getImpl(UserManager.class);
-	
-			myMenuLink = LinkFactory.createButton("topnav.my.menu", topNavVC, this);
-			myMenuLink.setCustomDisplayText(userManager.getUserDisplayName(getIdentity()));
-			myMenuLink.setCustomEnabledLinkCSS("o_topnav_impressum");
-			myMenuLink.setElementCssClass("o_sel_my_menu_open");
-			
-			File image = portraitManager.getSmallPortrait(getIdentity().getName());
-			if (image != null) {
-				// display only within 600x300 - everything else looks ugly
-				ImageComponent ic = new ImageComponent(ureq.getUserSession(), "image");
-				ic.setSpanAsDomReplaceable(true);
-				ic.setMedia(image);
-				topNavVC.contextPut("hasPortrait", Boolean.TRUE);
-				topNavVC.put("portrait", ic);
+			Component menu =  getMenuCmp(ureq);
+			topNavVC.put("myMenu", menu);
+			// the user profile
+			Component portrait = getPortraitCmp(ureq);
+			if (portrait != null) {
+				topNavVC.put("portrait", portrait);
 			} else {
-				topNavVC.contextPut("hasPortrait", Boolean.FALSE);
+				GenderPropertyHandler genderHander = (GenderPropertyHandler) userManager.getUserPropertiesConfig().getPropertyHandler(UserConstants.GENDER);
+				String gender = genderHander.getInternalValue(getIdentity().getUser());
+				topNavVC.contextPut("gender", (gender == null || gender.equals("-") ? "" : gender + "_"));				
 			}
+			
+			// the label to open the personal menu
+			String[] attr = new String[] {getIdentity().getUser().getProperty(UserConstants.FIRSTNAME, getLocale()), getIdentity().getUser().getProperty(UserConstants.LASTNAME, getLocale()), getIdentity().getName()};
+			String myMenuText = translate("topnav.my.menu.label", attr);
+			topNavVC.contextPut("myMenuLabel", myMenuText);
+			
+
 		}
 		
 		putInitialPanel(topNavVC);
 	}
 	
+
 	@Override
 	public void event(UserRequest ureq, Component source, Event event) {
 		if (source == helpLink) {
 			doOpenHelp(ureq) ;
-		} else if(source == myMenuLink) {
-			myMenuLink.setDirty(false);
-			doOpenMyMenu(ureq);
 		} else if(source instanceof Link && source.getComponentName().startsWith("personal.tool.")) {
-			doCloseMyMenu();
 			doOpenPersonalTool(ureq, (Link)source);
 		} else if (source == loginLink) {
 			DispatcherModule.redirectToDefaultDispatcher(ureq.getHttpResp());
@@ -185,13 +184,6 @@ public class OlatTopNavController extends BasicController implements GenericEven
 		}
 	}
 	
-	@Override
-	protected void event(UserRequest ureq, Controller source, Event event) {
-		if (source == calloutCtr) {
-			closePersonalMenu();
-		}
-	}
-	
 	private void doOpenPersonalTool(UserRequest ureq, Link link) {
 		GenericActionExtension gAe = (GenericActionExtension)link.getUserObject();
 		String navKey = gAe.getNavigationKey();
@@ -199,32 +191,27 @@ public class OlatTopNavController extends BasicController implements GenericEven
 		NewControllerFactory.getInstance().launch(businessPath, ureq, getWindowControl());
 	}
 	
-	private void doCloseMyMenu() {
-		calloutCtr.deactivate();
-		removeAsListenerAndDispose(calloutCtr);
-		calloutCtr = null;
-	}
-
-	private void doOpenMyMenu(UserRequest ureq) {
-		removeAsListenerAndDispose(calloutCtr);
-		Component menu =  getMenuCmp(ureq);
-		calloutCtr = new CloseableCalloutWindowController(ureq, getWindowControl(), menu, myMenuLink, "", true, null);
-		listenTo(calloutCtr);
-		calloutCtr.activate();
-	}
-	
-	private void closePersonalMenu() {
-		removeAsListenerAndDispose(calloutCtr);
-		calloutCtr = null;
-	}
-	
 	private Component getMenuCmp(UserRequest ureq) {
 		VelocityContainer container = createVelocityContainer("menu");
+		container.setDomReplacementWrapperRequired(false); // we do it ourself in menu.html file
 		loadPersonalTools(ureq, container);
 		menuVC = container;
 		return menuVC;
 	}
 	
+	private Component getPortraitCmp(UserRequest ureq) {
+		File image = portraitManager.getSmallPortrait(getIdentity().getName());
+		if (image != null) {
+			// display only within 600x300 - everything else looks ugly
+			ImageComponent ic = new ImageComponent(ureq.getUserSession(), "image");
+			ic.setSpanAsDomReplaceable(true);
+			ic.setMedia(image);
+			topNavVC.put("portrait", ic);
+			return ic;
+		}
+		return null;
+	}
+	
 	private void loadPersonalTools(UserRequest ureq, VelocityContainer container) {
 		List<String> linksName = new ArrayList<String>();
 		List<String> configLinksName = new ArrayList<String>();
diff --git a/src/main/java/org/olat/gui/control/_content/dmztopnav.html b/src/main/java/org/olat/gui/control/_content/dmztopnav.html
index 1ea41e261c62b44901f30fc78e013a86ede6769d..305d4cc6c14168e461deaef7a0c3dbf8353e7a4a 100644
--- a/src/main/java/org/olat/gui/control/_content/dmztopnav.html
+++ b/src/main/java/org/olat/gui/control/_content/dmztopnav.html
@@ -1,16 +1,16 @@
-<ul>
+<ul id="o_navbar_tools" class="nav navbar-nav navbar-right">
 #if($r.available("topnav.impressum"))
-	<li>
+	<li id="o_navbar_impress">
 		$r.render("topnav.impressum")
 	</li>
 #end
-	<li id="o_topnav_langchooser">
+	<li id="o_navbar_langchooser">
 		$r.render("languageChooser")
 	</li>
 #if ($isContextHelpEnabled)
-	<li id="o_topnav_help">
+	<li id="o_navbar_help">
 		<a href="javascript:contextHelpWindow('$r.relLink("help/${r.getLanguageCode()}/org.olat.login/dmz.html")')" title="$r.translateInAttribute("topnav.help.alt")">
-			<span class="o_help_icon b_with_small_icon_right">$r.translate("topnav.help")</span>
+			<span></span>$r.translate("topnav.help")
 		</a>
 	</li>
 #end
diff --git a/src/main/java/org/olat/gui/control/_content/menu.html b/src/main/java/org/olat/gui/control/_content/menu.html
index 41bb50eb530e2705988441a2c68d98256a34780d..11776e107112f7a7b79e0a73084cd2910932a739 100644
--- a/src/main/java/org/olat/gui/control/_content/menu.html
+++ b/src/main/java/org/olat/gui/control/_content/menu.html
@@ -1,24 +1,21 @@
-<div class="o_topnav_my_menu">
-	<span class="o_topnav_my_submenu">$r.translate("topnav.my.menu.tools")</span>
-	<ul>
+## DOM replacement implemented via ID on UL element - bypass standard OO wrapper DIV
+<ul id="$r.getCId()" class="dropdown-menu">
+	<li role="presentation" class="dropdown-header">$r.translate("topnav.my.menu.tools")</li>
 	#foreach($personalTool in $personalTools)
 	 	<li>$r.render($personalTool)</li>
 	#end
-	</ul>
-	<hr/>
-	<span class="o_topnav_my_submenu">$r.translate("topnav.my.menu.configurations")</span>
-	<ul>
+	<li role="presentation" class="divider"></li>
+	<li role="presentation" class="dropdown-header">$r.translate("topnav.my.menu.configurations")</li>
 	#foreach($config in $configs)
 	 	<li>$r.render($config)</li>
 	#end
-	</ul>
-	<hr/>
-	<ul>
-		<li id="o_topnav_logout">
-			## make logout link very basic without onClick handler in case javaScript is broken it is still possible to log out
-			## except for the onolatunload() method which must be executed to correctly finish SCORM modules (OLAT-6255)
-			## must be on one line to work with inline translation tool
-			<a id="b_logout" href="$r.commandURI("logout")" title="$r.translateInAttribute("topnav.logout.alt")" onclick="if (window.olatonunload) {olatonunload();}"><span class="b_logout_icon">$r.translate("topnav.logout")</span></a>
-		</li>
-	</ul>
-</div>
\ No newline at end of file
+	<li role="presentation" class="divider"></li>
+	<li>
+		## make logout link very basic without onClick handler in case javaScript is broken it is still possible to log out
+		## except for the onolatunload() method which must be executed to correctly finish SCORM modules (OLAT-6255)
+		## must be on one line to work with inline translation tool
+		<a href="$r.commandURI("logout")" title="$r.translateInAttribute("topnav.logout.alt")" onclick="if (window.olatonunload) {olatonunload();}">
+			<span class="glyphicon glyphicon-off"></span> $r.translate("topnav.logout")
+		</a>
+	</li>
+</ul>
\ No newline at end of file
diff --git a/src/main/java/org/olat/gui/control/_content/olatFooter.html b/src/main/java/org/olat/gui/control/_content/olatFooter.html
index ca533a647bd3c65123b64e8be32a69ed72f6ae7a..eae4a971faf9a6c160b2ca64a89b30efce8b7e81 100644
--- a/src/main/java/org/olat/gui/control/_content/olatFooter.html
+++ b/src/main/java/org/olat/gui/control/_content/olatFooter.html
@@ -1,17 +1,21 @@
-<div id="b_footer_user">
-	#if ($loggedIn)
-		<span id="b_username">$r.translate("footer.logged.in.as", ["$username"])</span>
-	#end 
-	<span id="b_counter">($r.render("userCounter") $r.translate("other.users.online"))</span>
-</div>
-<div id="b_footer_version">
-	<a href="http://www.openolat.org" title="Homepage of the Open Source LMS OpenOLAT $appVersion (Build $revisionNumber:$changeSet)" target="_blank">$appName&nbsp;$appVersion&nbsp;($node)</a>
-</div>	
-#if($r.available("shareLink"))
-	$r.render("shareLink")
-#end 
-<div id="b_footer_powered">
-	<a href="http://www.openolat.org" target="_blank" title="OpenOLAT - infinite learning">
-		<img border="0" src="$r.staticLink("images/openolat/openolat_powerd_by_120x30.png")" alt="powered by OpenOLAT" width="120" height="30"/>
-	</a>
-</div>
+<div id="o_footer_container" class="container-fluid">
+	<div class="row">
+		<div id="o_footer_user" class="col-sm-5 clearfix">
+			#if ($loggedIn)
+				<span id="o_username">$r.translate("footer.logged.in.as", ["$username"])</span>
+			#end 
+			<span id="o_counter">($r.render("userCounter") $r.translate("other.users.online"))</span>
+			#if($r.available("shareLink"))
+				$r.render("shareLink")
+			#end 
+		</div>
+		<div id="o_footer_powered" class="col-sm-2 clearfix">
+			<a href="http://www.openolat.org" target="_blank" title="OpenOLAT - infinite learning">
+				<img border="0" src="$r.staticLink("images/openolat/openolat_powerd_by_120x30.png")" alt="powered by OpenOLAT" width="120" height="30"/>
+			</a>
+		</div>
+		<div id="o_footer_version" class="col-sm-5 clearfix">
+			<a href="http://www.openolat.org" title="Homepage of the Open Source LMS OpenOLAT $appVersion (Build $revisionNumber:$changeSet)" target="_blank">$appName&nbsp;$appVersion&nbsp;($node)</a>
+		</div>	
+	</div>
+</div>
\ No newline at end of file
diff --git a/src/main/java/org/olat/gui/control/_content/topnav.html b/src/main/java/org/olat/gui/control/_content/topnav.html
index d2bad79f28e814990c928fc500244b94cbe03540..7b29a7516725a96540a6dd8848e420f021fb327c 100644
--- a/src/main/java/org/olat/gui/control/_content/topnav.html
+++ b/src/main/java/org/olat/gui/control/_content/topnav.html
@@ -1,36 +1,46 @@
-<ul>
+<ul id="o_navbar_tools" class="nav navbar-nav navbar-right">
 #if($r.available("topnav.impressum"))
-	<li>
+	<li id="o_navbar_impress">
 		$r.render("topnav.impressum")
 	</li>
 #end
-
 #if (!$inAssessment && $r.available("search_input"))
-	<li id="o_topnav_search">
-		$r.render("search_input")
+	<li id="o_navbar_search_opener" class="dropdown">
+		<a href="#" class="dropdown-toggle" data-toggle="dropdown" title="$r.translate("search")">
+			<span></span>## css placeholder
+		</a>
+		<ul class="dropdown-menu">          
+			<li id="o_navbar_search" class="navbar-form" role="search">
+				$r.render("search_input")
+			</li>
+		</ul>
 	</li>
 #end
 #if ($r.available("groupchatcontroller"))
-	<li id="o_topnav_imgroupclient">
+	<li id="o_navbar_imgroupclient">
 		$r.render("groupchatcontroller")
 	</li>
 #end
 #if ($r.available("imclient"))
-	<li id="o_topnav_imclient">
+	<li id="o_navbar_imclient" class="clearfix">
 		$r.render("imclient")
 	</li>
 #end
 #if (!$isGuest)
-	<li id="o_topnav_my_menu_link">
-		<div class="o_topnav_portrait">
-		#if($hasPortrait)
-			$r.render("portrait")
-		#end
-		</div>
-		$r.render("topnav.my.menu")
+	<li id="o_navbar_my_menu" class="dropdown">
+		<a href="#" class="dropdown-toggle" data-toggle="dropdown">
+			#if($r.available("portrait"))
+				$r.render("portrait") 
+			#else 
+				<img src="$r.staticLink("images/transparent.gif")" class="o_portrait_dummy_${gender}small"/>
+			#end
+			$myMenuLabel
+			<b class="caret"></b>
+		</a>	
+		$r.render("myMenu")
 	</li>
 #else
-	<li id="o_topnav_login">
+	<li id="o_navbar_login">
 		$r.render("topnav.login")
 	</li>
 #end
diff --git a/src/main/java/org/olat/gui/control/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/gui/control/_i18n/LocalStrings_de.properties
index 4d64a906b0836e09127d429442af620a3df6da09..ba4b350ffb7ce6377911708e657bc0c3bc7b0dbd 100644
--- a/src/main/java/org/olat/gui/control/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/gui/control/_i18n/LocalStrings_de.properties
@@ -22,7 +22,7 @@ topnav.printview.alt=Diese Seite drucken
 topnav.search=Suche
 topnav.search.alt=Suchen Sie innerhalb von OLAT
 username=Eingeloggt als <i>{0}</i>
-topnav.my.menu=My menu
+topnav.my.menu.label={0}
 topnav.my.menu.tools=Persönliche Werkzeuge
 topnav.my.menu.configurations=Konfiguration
 
diff --git a/src/main/java/org/olat/gui/control/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/gui/control/_i18n/LocalStrings_en.properties
index cabe59028c9d0304c274300d2bea538dcadb5164..2bdd54165884582ee8bd01c26f7d59c8fa3f9547 100644
--- a/src/main/java/org/olat/gui/control/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/gui/control/_i18n/LocalStrings_en.properties
@@ -22,3 +22,4 @@ topnav.printview.alt=Print this page
 topnav.search=Search
 topnav.search.alt=Search within OLAT
 username=Logged in as <i>{0}</i>
+topnav.my.menu.label={0}
diff --git a/src/main/java/org/olat/instantMessaging/ui/IMTopNavStatusController.java b/src/main/java/org/olat/instantMessaging/ui/IMTopNavStatusController.java
index 7162d835610bce6765fc3c4a68b865b3af7286fb..23932ed32abfa1fe66d6b20ea95863231fb3f152 100644
--- a/src/main/java/org/olat/instantMessaging/ui/IMTopNavStatusController.java
+++ b/src/main/java/org/olat/instantMessaging/ui/IMTopNavStatusController.java
@@ -55,11 +55,11 @@ public class IMTopNavStatusController extends BasicController {
 		mainVC = createVelocityContainer("status_changer");
 		
 		available = LinkFactory.createLink("presence.available", mainVC, this);
-		available.setCustomEnabledLinkCSS("o_instantmessaging_available_icon");
+		available.setCustomEnabledLinkCSS("o_im_available_icon");
 		dnd = LinkFactory.createLink("presence.dnd", mainVC, this);
-		dnd.setCustomEnabledLinkCSS("o_instantmessaging_dnd_icon");
+		dnd.setCustomEnabledLinkCSS("o_im_dnd_icon");
 		unavailable = LinkFactory.createLink("presence.unavailable", mainVC, this);
-		unavailable.setCustomEnabledLinkCSS("o_instantmessaging_unavailable_icon");
+		unavailable.setCustomEnabledLinkCSS("o_im_unavailable_icon");
 
 		putInitialPanel(mainVC);
 	}
diff --git a/src/main/java/org/olat/instantMessaging/ui/InstantMessagingMainController.java b/src/main/java/org/olat/instantMessaging/ui/InstantMessagingMainController.java
index 719fa688522158954e6f2672ab32b6915088d81f..76fae862d144f47fd2ef2ac07cc429afab3e9552 100644
--- a/src/main/java/org/olat/instantMessaging/ui/InstantMessagingMainController.java
+++ b/src/main/java/org/olat/instantMessaging/ui/InstantMessagingMainController.java
@@ -133,6 +133,7 @@ public class InstantMessagingMainController extends BasicController implements G
 			onlineOfflineCount = LinkFactory.createCustomLink("onlineOfflineCount", "cmd.roster", "", Link.NONTRANSLATED, main, this);
 			onlineOfflineCount.setTooltip(translate("im.roster.intro"));
 			onlineOfflineCount.registerForMousePositionEvent(true);
+			onlineOfflineCount.setCustomEnabledLinkCSS("badge");
 			updateBuddyStats();
 			main.put("buddiesSummaryPanel", onlineOfflineCount);
 			
@@ -321,7 +322,7 @@ public class InstantMessagingMainController extends BasicController implements G
 			imStatus = Presence.available.name();
 		  imService.updateStatus(getIdentity(), imStatus);
 		}
-		String cssClass = "o_instantmessaging_" + imStatus + "_icon";
+		String cssClass = "o_im_" + imStatus + "_icon";
 		statusChangerLink.setCustomEnabledLinkCSS("b_small_icon " + cssClass);
 	}
 	
@@ -412,7 +413,7 @@ public class InstantMessagingMainController extends BasicController implements G
 	private Link createShowNewMessageLink(Buddy buddy) {
 		Link link = LinkFactory.createCustomLink(buddy.getIdentityKey().toString(), ACTION_MSG, "", Link.NONTRANSLATED, newMsgIcon, this);
 		link.registerForMousePositionEvent(true);
-		link.setCustomEnabledLinkCSS("b_small_icon o_instantmessaging_new_msg_icon");
+		link.setCustomEnabledLinkCSS("o_im_new_msg_icon");
 		String buddyName = StringHelper.escapeHtml(buddy.getName());
 		link.setTooltip(translate("im.new.message", new String[]{ buddyName }));
 		link.setUserObject(buddy);
diff --git a/src/main/java/org/olat/instantMessaging/ui/_content/newMsgIcon.html b/src/main/java/org/olat/instantMessaging/ui/_content/newMsgIcon.html
index 1cb7e939dc91704a0df8b74703f747bc2fc87556..ce917c9f66432b598ab314d8a34980d124273363 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_content/newMsgIcon.html
+++ b/src/main/java/org/olat/instantMessaging/ui/_content/newMsgIcon.html
@@ -1,20 +1,22 @@
 $r.render("chats")
 #if($iconsHolder.size() > 0)
-	<div id="o_sel_im_play_sound" style="display:none; width:1px; height:1px;"></div>
-	<script type="text/javascript">
-	/* <![CDATA[ */
-		## Play sound using scriptaculous library. 
-		## Use jQuery.ready to deferre execution and prevent errors in IE
-		jQuery(function() {
-			BPlayer.playSound('$newMessageSoundURL','o_sel_im_play_sound');
-		});
-		document.title = "$r.translate('im.new.message.short')";
-	/* ]]> */ 
-	</script>
-	## render the new message icon links
-	#foreach ($holder in $iconsHolder)
-		$r.render("${holder}")
-	#end
+	<div id="o_im_message">	
+		<div id="o_sel_im_play_sound" style="display:none; width:1px; height:1px;"></div>
+		<script type="text/javascript">
+		/* <![CDATA[ */
+			## Play sound using scriptaculous library. 
+			## Use jQuery.ready to deferre execution and prevent errors in IE
+			jQuery(function() {
+				BPlayer.playSound('$newMessageSoundURL','o_sel_im_play_sound');
+			});
+			document.title = "$r.translate('im.new.message.short')";
+		/* ]]> */ 
+		</script>
+		## render the new message icon links
+		#foreach ($holder in $iconsHolder)
+			$r.render("${holder}")
+		#end
+</div>
 #end
 
 
diff --git a/src/main/java/org/olat/instantMessaging/ui/_content/topnav.html b/src/main/java/org/olat/instantMessaging/ui/_content/topnav.html
index 3da140976eff8bfcedf0385ca56e42bd95b9a668..fd1ed77255038b25bbf0c0f4b2c0c8503a788a6f 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_content/topnav.html
+++ b/src/main/java/org/olat/instantMessaging/ui/_content/topnav.html
@@ -1,13 +1,11 @@
 #if(!$inAssessment)
-<ul>
-	<li id="o_topnav_imclient_message">$r.render("newMsgPanel")</li>
+	$r.render("newMsgPanel")
 #if ($r.available("statusChangerPanel"))
-	<li id="o_topnav_imclient_status">$r.render("statusChangerPanel")</li>
+	<div id="o_im_status">$r.render("statusChangerPanel")</div>
 #end
 #if ($r.available("buddiesSummaryPanel"))
-	<li id="o_topnav_imclient_summary">$r.render("buddiesSummaryPanel")</li>
+	<div id="o_im_summary">$r.render("buddiesSummaryPanel")</div>
 #end
-</ul>
 $r.render("rosterPanel")
 $r.render("statusPanel")
 #end
\ No newline at end of file
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_de.properties
index c3afdb2cb1e4902dac0da68d5262a067c38b87f4..541bb026b1590d856c8be599e882727aafd1252f 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_de.properties
@@ -124,7 +124,8 @@ im.others.connected=Personen sind online
 im.refresh=Anzeige neu laden
 im.refresh.auto=Anzeige wird automatisch neu geladen.
 im.roster.intro=Welche meiner Bekannten aus meinen Gruppen sind in OpenOLAT eingeloggt?<br>W\u00E4hlen Sie eine Person aus, mit der Sie chatten m\u00F6chten.
-im.roster.launch=Chat ({0}/{1})
+im.roster.launch={0}/{1}
+
 im.show.groups=Zeige Gruppen
 im.show.offline.buddies=Zeige offline Kontakte
 im.show.online.buddies=Zeige Kontakte
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_en.properties
index 73644787be724afecbca485516e676688be6eca1..72182afb62316580449ee93f8ac5b4949ead5552 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_en.properties
@@ -125,7 +125,8 @@ im.others.connected=People are online
 im.refresh=Refresh display
 im.refresh.auto=Display will be reloaded automatically.
 im.roster.intro=Who else from my group colleagues are logged on to OpenOLAT?<br>Select one person you want to chat with.
-im.roster.launch=Chat ({0}/{1})
+im.roster.launch={0}/{1}
+
 im.show.groups=Show groups
 im.show.offline.buddies=Show offline contacts
 im.show.online.buddies=Show contacts
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_fr.properties
index dc2e2aa4501c1686ddf68b4745ea7c4916f3c3d9..83ebcc2419b7e1c5f2746ffc5d8bc87efbb345f5 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_fr.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_fr.properties
@@ -133,7 +133,8 @@ im.others.connected=Utilisateurs OpenOLAT en ligne
 im.refresh=Rafra\u00EEchir l'affichage
 im.refresh.auto=L'affichage est rafra\u00EEchi automatiquement.
 im.roster.intro=Lesquels de mes copains de mes groupes sont connect\u00E9s sur OLAT?<br />S\u00E9lectionnez une personne avec laquelle vous souhaitez chatter.
-im.roster.launch=Chat ({0}/{1})
+im.roster.launch={0}/{1}
+
 im.show.groups=Montrer groupes
 im.show.offline.buddies=Montre contacts offline
 im.show.online.buddies=Montrer les contacts
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_pl.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_pl.properties
index 63d90c93a732a541f8acdec1d5cc3cb69c3052e0..5338a7371c914b42b2a2722830ec07a7b97d2754 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_pl.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_pl.properties
@@ -103,7 +103,8 @@ im.others.connected=u\u017Cytkownik\u00F3w OpenOLAT jest online
 im.refresh=Od\u015Bwie\u017C
 im.refresh.auto=Automatyczne od\u015Bwie\u017Canie jest aktywne.
 im.roster.intro=Kt\u00F3rzy znajomi z moich grup projekt\u00F3w s\u0105 zalogowani w OLAT?<br /> Wybierz osob\u0119 z kt\u00F3r\u0105 chcesz poczatowa\u0107.
-im.roster.launch=Komunikator ({0}/{1})
+im.roster.launch={0}/{1}
+
 im.show.groups=Poka\u017C grupy
 im.show.offline.buddies=Poka\u017C kontakty offline
 im.show.online.buddies=Poka\u017C kontakty
diff --git a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_pt_BR.properties
index 76073cdb99241f605bd3b0a86cd5550ff9665319..572a5ebd6326ad88d25bcaa09a8b617c40fdd10d 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_pt_BR.properties
+++ b/src/main/java/org/olat/instantMessaging/ui/_i18n/LocalStrings_pt_BR.properties
@@ -132,7 +132,8 @@ im.others.connected=Usu\u00E1rios do OpenOLAT est\u00E3o online
 im.refresh=Atualizar tela
 im.refresh.auto=A tela ser\u00E1 recarregada automaticamente.
 im.roster.intro=Quem de meu grupo est\u00E1 conectado ao OLAT?<br />Selecione uma pessoa para conversar.
-im.roster.launch=Chat ({0}/{1})
+im.roster.launch={0}/{1}
+
 im.show.groups=Exibir grupos
 im.show.offline.buddies=Exibir contatos off-line
 im.show.online.buddies=Mostrar contatos
diff --git a/src/main/java/org/olat/social/shareLink/_content/shareLink.html b/src/main/java/org/olat/social/shareLink/_content/shareLink.html
index 5be2c14e1c394f15febb84ebd0e44c7a34730818..db15f43066c7b886c343958f6b6ac6f006676168 100644
--- a/src/main/java/org/olat/social/shareLink/_content/shareLink.html
+++ b/src/main/java/org/olat/social/shareLink/_content/shareLink.html
@@ -2,55 +2,55 @@
 <script type="text/javascript">
 /* <![CDATA[ */
     ## Called from Window.java to update the businesspath
-	function b_shareActiveSocialUrl() {
-		jQuery('#b_mail').attr('href','mailto:?subject=' + b_shareSocialTitle() + '&body=' + b_shareSocialUrl());
+	function o_shareActiveSocialUrl() {
+		jQuery('#o_mail').attr('href','mailto:?subject=' + o_shareSocialTitle() + '&body=' + o_shareSocialUrl());
 	}
 	## Helper methods for buttons below
-	function b_shareSocialUrl() {
+	function o_shareSocialUrl() {
 		if(o_info.businessPath && o_info.businessPath.length > 0) return o_info.businessPath;
 		return '$baseURL';
 	} 
-	function b_shareSocialTitle() { return document.title; }
+	function o_shareSocialTitle() { return document.title; }
 /* ]]> */
 </script>
 
 
-<div id="b_share">
+<div id="o_share">
 #foreach ($link in $shareLinks)
 	#if ($link == "twitter")
-		<a id="b_twitter" href="#" target="_blank" title="$r.translateInAttribute("share.twitter")" onclick="window.open('http://twitter.com/share?url='+b_shareSocialUrl()+'&text='+b_shareSocialTitle());return false;"></a>
+		<a id="o_twitter" href="#" target="_blank" title="$r.translateInAttribute("share.twitter")" onclick="window.open('http://twitter.com/share?url='+o_shareSocialUrl()+'&text='+o_shareSocialTitle());return false;"></a>
 	#elseif ($link == "facebook")
-		<a id="b_facebook" href="#" target="_blank" title="$r.translateInAttribute("share.facebook")" onclick="window.open('http://www.facebook.com/sharer.php?u='+b_shareSocialUrl()+'&t='+b_shareSocialTitle());return false;"></a>
+		<a id="o_facebook" href="#" target="_blank" title="$r.translateInAttribute("share.facebook")" onclick="window.open('http://www.facebook.com/sharer.php?u='+o_shareSocialUrl()+'&t='+o_shareSocialTitle());return false;"></a>
 	#elseif ($link == "google")
-		<a id="b_google" href="#" target="_blank" title="$r.translateInAttribute("share.google")" onclick="window.open('https://www.google.com/bookmarks/mark?op=add&bkmk='+b_shareSocialUrl()+'&title='+b_shareSocialTitle());return false;"></a>
+		<a id="o_google" href="#" target="_blank" title="$r.translateInAttribute("share.google")" onclick="window.open('https://www.google.com/bookmarks/mark?op=add&bkmk='+o_shareSocialUrl()+'&title='+o_shareSocialTitle());return false;"></a>
 	#elseif ($link == "delicious")
-		<a id="b_delicious" href="#" target="_blank" title="$r.translateInAttribute("share.delicious")" onclick="window.open('http://www.delicious.com/save?url='+b_shareSocialUrl()+'&title='+b_shareSocialTitle());return false;"></a>
+		<a id="o_delicious" href="#" target="_blank" title="$r.translateInAttribute("share.delicious")" onclick="window.open('http://www.delicious.com/save?url='+o_shareSocialUrl()+'&title='+o_shareSocialTitle());return false;"></a>
 	#elseif ($link == "digg")
-		<a id="b_digg" href="#" title="$r.translateInAttribute("share.digg")" onclick="window.open('http://digg.com/submit?url='+b_shareSocialUrl()+'&title='+b_shareSocialTitle());return false;"></a>
+		<a id="o_digg" href="#" title="$r.translateInAttribute("share.digg")" onclick="window.open('http://digg.com/submit?url='+o_shareSocialUrl()+'&title='+o_shareSocialTitle());return false;"></a>
 	#elseif ($link == "mail")	
-		<a id="b_mail" href="mailto:?body=$baseURL" title="$r.translateInAttribute("share.mail")"></a>
+		<a id="o_mail" href="mailto:?body=$baseURL" title="$r.translateInAttribute("share.mail")"></a>
 	#elseif ($link == "link")	
-		<a id="b_link" href="#" onclick="javascript:b_shareSocialLink();"></a>
+		<a id="o_link" href="#" onclick="javascript:o_shareSocialLink();"></a>
 		<script type="text/javascript">
 		/* <![CDATA[ */
-			function b_shareSocialLink() {
+			function o_shareSocialLink() {
 				var callout = '';
-				callout += '<div id="b_callout_sharesociallink" class="b_callout_area b_clearfix" style="z-index:101;"><div class="b_floatscrollbox"><a name="b_modal"></a><div class="b_callout"><div class="b_callout_top_left_arrow"></div><div class="b_callout_top_left_arrow-border"></div>';
-				callout += '<div id="callout_layer_sharesociallink" class="b_callout_content"><div id="callout_layer_content_sharesociallink">';
-				callout += '<p><span>$r.translate("share.link")</span>:<br/><input id="callout_share_link_in" type="text" name="cl_share_link" size="64" value="' + b_shareSocialUrl() + '" /></p>';
-				callout += '</div></div></div></div></div><div id="b_callout_overlay_sharesociallink" class="b_callout_overlay" style="z-index:100;"></div>';
+				callout += '<div id="o_callout_sharesociallink" class="o_callout_area b_clearfix" style="z-index:101;"><div class="b_floatscrollbox"><a name="b_modal"></a><div class="b_callout"><div class="o_callout_top_left_arrow"></div><div class="o_callout_top_left_arrow-border"></div>';
+				callout += '<div id="callout_layer_sharesociallink" class="o_callout_content"><div id="callout_layer_content_sharesociallink">';
+				callout += '<p><span>$r.translate("share.link")</span>:<br/><input id="callout_share_link_in" type="text" name="cl_share_link" size="64" value="' + o_shareSocialUrl() + '" /></p>';
+				callout += '</div></div></div></div></div><div id="o_callout_overlay_sharesociallink" class="o_callout_overlay" style="z-index:100;"></div>';
 			
 				jQuery('body').append(callout);
 				jQuery('#callout_layer_sharesociallink').each(function(index, el) {
-					jQuery(el).parents('div.b_callout_area').next('div.b_callout_overlay').each(function(index2, el2) {
+					jQuery(el).parents('div.o_callout_area').next('div.o_callout_overlay').each(function(index2, el2) {
 						jQuery(el2).click(function() {
-							jQuery('#b_callout_overlay_sharesociallink').remove();
-							jQuery('#b_callout_sharesociallink').remove();
+							jQuery('#o_callout_overlay_sharesociallink').remove();
+							jQuery('#o_callout_sharesociallink').remove();
 						});
 					});
 				});
 				
-				jQuery('#b_callout_sharesociallink').each(function(index, el) {
+				jQuery('#o_callout_sharesociallink').each(function(index, el) {
 					var targetEl = jQuery('#b_link');
 					var targetOffset = targetEl.offset();
 					if(targetOffset) {